From 4d0a2080915e99d98b281946cd7a034e8fd8b165 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sat, 29 Mar 2025 12:53:54 -0500 Subject: [PATCH 01/19] feat(blog): 5.1.0 release blog --- _posts/2025-01-09-v5-1-latest-release.md | 203 +++++++++++++++++++++++ 1 file changed, 203 insertions(+) create mode 100644 _posts/2025-01-09-v5-1-latest-release.md diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md new file mode 100644 index 0000000000..e5ed59e76f --- /dev/null +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -0,0 +1,203 @@ +--- +title: "v5.1.0 Release takes v5 to latest" +tags: news, release +author: Express Technical Committee +description: Express goes latest with the 5.1.0 release and announces an LTS schedule for v4 and v5 release lines. +--- + +Express v5.0.0 was released on September 9th last year, but we didn't make it the `latest` release on npm. Many asked us +why and when it would be, and frankly we were not ready at the time to take that jump. If you have not followed the news +from the project this past year, we have been [hard at work reviving the project](https://expressjs.com/2025/01/09/rewind-2024-triumphs-and-2025-vision.html) +and when we pushed the initial v5 release there were many loose ends still hanging. So first lets quickly go over some +of those loose ends. + +### Documentation updates + +We had not updated the docs, provided migration guides, or even fully reviewed some of the stagnated v4/5 docs in a long +time. Since then we have had tons of great contributors help get things into better shape. As with any volunteer based +Open Source project, we love contributions to help us improve so as you upgrade please continue to open PRs to fix +anything we missed. + +You can find our [v5 docs](https://expressjs.com/en/5x/api.html) and our [migration guide](https://expressjs.com/en/guide/migrating-5.html) on the website. + +Big thanks to + +### Migration Support + +Due to the awesome work of [Sebastian](https://github.com/bjohansebas) and [Filip](https://github.com/kjugi) we have a +new [codemod package](https://github.com/expressjs/codemod) to help folks migrate from v4 to v5. You can find docs in +the readme and on the migration guide. + +### Ecosystem compatibility + +The Express ecosystem is one of it's strongest assets. It goes back to the early days of Node.js and is the backbone +that keeps express popular. When it goes [10 years without a major release](https://expressjs.com/2024/10/15/v5-release.html) +you can bet there is everything from middleware to blog posts that will need updating. We wanted to make sure folks had +some time to get all of that updated before we had everyone moving over. Particularly we care about our very large +beginner user base who may not know the blog post they are reading is not compatible with what they get from +`npm i express`. + +We know this will still be an issue no matter how we handle this transition, but thanks to work from ecosystem partners +like [Kamil](https://github.com/kamilmysliwiec) from NestJS [working to update `express` before we went `latest`](https://github.com/expressjs/express/issues/5944#issuecomment-2523074127) +we will hopefully be ahead of the curve. And as I said above, we always welcome help to make this transition easier for +those who follow after you, PRs are the best support you can give. + +### Long Term Support + +We had been discussing how to support v4 now that v5 was out, but we had not defined a clear guideline or expectation, +and we had (still don't have) end user docs on our plans here. While we still have progress to make here, we have a +[proposed LTS strategy ](https://github.com/expressjs/discussions/pull/352) which will be the basis for our forthcoming +docs. Input is very welcome on this so we can make sure it is clearly communicated and acceptable to the community. + +Additionally since then we have announced a partnership with HeroDevs to help companies who are less capable of +updating. More information on how this will work when v4 EOL will come when we get closer to that time. + +--- + +## Support Phases and Going latest + +What does it mean to "go latest"? If you are unfamiliar with how npm `dist-tags` work, the `latest` tag is what users +will get when they run `npm install express`. This is important because it means it is the "default installed version" +and will trigger the transition of nearly 17 million weekly downloads from our current latest v4.21.2 to v5. As we start +this transition we want users, companies, and other organizations to know exactly what it means for support. To help +with this we have developed an LTS strategy which defines our 3 support phases and set's target dates for when v4 will +enter EOL. + +Express major versions will go through three supported phases: + + - `CURRENT`: A new major version is designated as `CURRENT` upon release. It is available but not the `latest` version + on npm for a minimum of 3 months. + - `ACTIVE`: After the minimum 3 month period and the TC agrees it is stable and secure, the `ACTIVE` version is + tagged `latest` on npm for a minimum of 12 months. + - `MAINTENANCE`: When a new major version becomes `ACTIVE`, the previous major version enters `MAINTENANCE` for 12 months. + +### CURRENT + +- New majors will go through a short period of hardening to ensure stability, security, and ecosystem libraries/resources + compatibility. +- We will strive to ensure no breaking changes are included, but reserve the right to make security or high priority + fixes of breaking nature within this period. +- `CURRENT` lines will receive all types of active work including: bug fixes, security patches, new features, and + deprecation notices. +- Users are recommended to use `CURRENT` lines and to upgrade as quickly as their risk profile allows + +### ACTIVE + +- `ACTIVE` lines will receive all types of active work including: bug fixes, security patches, new features, and + deprecation notices. +- For users, `ACTIVE` lines are considered the most stable and well supported version at any given time. + +### MAINTENANCE + +- `MAINTENANCE` lines will only receive security patches or high priority bug fixes. +- Users are highly encouraged to upgrade to a `CURRENT` or `ACTIVE` release. + +### Proposed Schedule + +For the existing release lines, we will set the following phase dates: + + +| Major | CURRENT | ACTIVE | MAINTENANCE | EOL | +| ----- | ------- | ------ | ----------- | --- | +| 4.x | | | 2025-04-01 | 2026-10-01 or later | +| 5.x | 2024-09-11 | 2025-03-31 | 2026-04-01 | 2027-04-01 | +| 6.x | TBD after 2025-10-01 | | | | + +As you can see, this means that v5.1.0 being tagged `latest` indicates that we moved from `CURRENT` to `ACTIVE` which +starts the clock on EOL for v4 by moving it to `MAINTENANCE`. We recognize that v4 is a special case having been the +only major version for most of the history of Node.js itself. Because of this, we want to remain flexible and also +provide a bit longer support. We want to do what is best for the ecosystem, so consider these goals not commitments. + +--- + +## Finally, what changed in v5.1.0 + +This release primarily focused on tech debt from supporting so many old Node.js versions and other things that stagnated +but were not landed before v5.0.0 went out. + +* Transitioned all remaining dependencies to use `^` ranges instead of locked versions +* Add package.json funding field to highlight our OpenCollective +* Added support for ETag option in `res.sendFile()` +* Added support for adding multiple links with the same rel with `res.links()` +* Performance: Use loop for acceptParams +* New Contributors: + * @bhavya3024 made their first contribution in https://github.com/expressjs/express/pull/6071 + * @jonkoops made their first contribution in https://github.com/expressjs/express/pull/6196 + * @Abdel-Monaam-Aouini made their first contribution in https://github.com/expressjs/express/pull/6211 + * @slagiewka made their first contribution in https://github.com/expressjs/express/pull/6236 + * @hamirmahal made their first contribution in https://github.com/expressjs/express/pull/6256 + * @pr4j3sh made their first contribution in https://github.com/expressjs/express/pull/6297 + * @Ayoub-Mabrouk made their first contribution in https://github.com/expressjs/express/pull/6097 + * @dpopp07 made their first contribution in https://github.com/expressjs/express/pull/6317 + * @agungjati made their first contribution in https://github.com/expressjs/express/pull/6122 + * @andvea made their first contribution in https://github.com/expressjs/express/pull/4885 +* `body-parser@^2.1.0` then `body-parser@^2.2.0` + * Remove legacy node.js support checks for Brotli & `AsyncLocalStorage` + * Remove `unpipe` & `destroy` + * `type-is@^2.0.0` + * `iconv-lite@^0.6.3` + * New Contributors: + * @Binilkks made their first contribution in https://github.com/expressjs/body-parser/pull/581 + * @aqeelat made their first contribution in https://github.com/expressjs/body-parser/pull/588 + * @wojtekmaj made their first contribution in https://github.com/expressjs/body-parser/pull/591 +* `router@^2.1.0` then `router@^2.2.0` + * Restore `debug`. Now with the `router` scope instead of `express`. + * Remove legacy node.js support checks for `setImmediate` + * Deprecate non-native promise support + * Remove `after`, `safe-buffer`, `array-flatten`, `setprotoypeof`, `methods`, `utils-merge` + * `finalhandler@^2.1.0` + * `parseurl@^1.3.3` + * `is-promise@^4.0.0` + * New Contributors: + * @bjohansebas made their first contribution in https://github.com/pillarjs/router/pull/152 + * @dpopp07 made their first contribution in https://github.com/pillarjs/router/pull/151 + * @raksbisht made their first contribution in https://github.com/pillarjs/router/pull/107 + * @Phillip9587 made their first contribution in https://github.com/pillarjs/router/pull/126 + * @jonkoops made their first contribution in https://github.com/pillarjs/router/pull/127 + * @ctcpip made their first contribution in https://github.com/pillarjs/router/pull/131 + * @raiandexter0607 made their first contribution in https://github.com/pillarjs/router/pull/135 + * @UlisesGascon made their first contribution in https://github.com/pillarjs/router/pull/139 +* `finalhandler@2.1.0` + * Remove legacy node.js support checks for `headersSent`, `setImmediate`, & http2 support + * Remove `unpipe` + * `encodeurl@^2.0.0` + * New Contributors: + * @Phillip9587 made their first contribution in https://github.com/pillarjs/finalhandler/pull/67 + * @bjohansebas made their first contribution in https://github.com/pillarjs/finalhandler/pull/83 +* `serve-static@^2.2.0` + * `send@^1.2.0` + * New Contributors: + * @Ayoub-Mabrouk made their first contribution in https://github.com/expressjs/serve-static/pull/182 + * @bjohansebas made their first contribution in https://github.com/expressjs/serve-static/pull/186 + * @dpopp07 made their first contribution in https://github.com/expressjs/serve-static/pull/194 + * @ljeda made their first contribution in https://github.com/expressjs/serve-static/pull/190 + * @Phillip9587 made their first contribution in https://github.com/expressjs/serve-static/pull/191 +* `qs@^6.14.0` + * Added throwOnLimitExceeded option https://github.com/ljharb/qs/pull/517 & https://github.com/ljharb/qs/commit/b189ed49c8dfe5b41afe6cecabdaa562de56764b +* `type-is@^2.0.1` + * New Contributors + * @Ayoub-Mabrouk made their first contribution in https://github.com/jshttp/type-is/pull/61 + * @CommanderRoot made their first contribution in https://github.com/jshttp/type-is/pull/50 + * @UlisesGascon made their first contribution in https://github.com/jshttp/type-is/pull/64 +* `debug@^4.4.0` +* Removed dependencies: + * `setprototypeof` + * `safe-buffer` + * `methods` + * `utils-merge` + * `depd` + +**Full Changelog**: https://github.com/expressjs/express/compare/5.0.1...v5.1.0 + +--- + +## Thanks and What's Next + +Thanks so much to everyone involved in Express over the past year, the work all our contributors have put in is +incredible, and we couldn't do it without them. If you are not able to become a contributor yourself, please consider +asking your companies to support the project financially on [OpenCollective](https://opencollective.com/express). + +Next up our focus is shifting to Performance. We will be kicking off [Performance Working Group](https://github.com/expressjs/discussions/pull/306) +to focus on measuring, tracking, and debugging framework performance issues. We hope the next minor releases will +benefit from this and fix longstanding performance bottlenecks. Additionally we will be starting to ramp up plans for v6 +later this year, so look out for updates! See you in the issues! From 32c07b3dae0f70d7ed2a1421ef740f8ee9b7026d Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:37:49 -0500 Subject: [PATCH 02/19] Update _posts/2025-01-09-v5-1-latest-release.md Co-authored-by: Zbyszek Tenerowicz --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index e5ed59e76f..fd6306df7a 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -30,7 +30,7 @@ the readme and on the migration guide. ### Ecosystem compatibility -The Express ecosystem is one of it's strongest assets. It goes back to the early days of Node.js and is the backbone +The Express ecosystem is one of its strongest assets. It goes back to the early days of Node.js and is the backbone that keeps express popular. When it goes [10 years without a major release](https://expressjs.com/2024/10/15/v5-release.html) you can bet there is everything from middleware to blog posts that will need updating. We wanted to make sure folks had some time to get all of that updated before we had everyone moving over. Particularly we care about our very large From cbd6e7c9d07b72cb40496e7626b64f8db9883097 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:38:20 -0500 Subject: [PATCH 03/19] Update _posts/2025-01-09-v5-1-latest-release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ulises Gascón --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index fd6306df7a..33868f872b 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -32,7 +32,7 @@ the readme and on the migration guide. The Express ecosystem is one of its strongest assets. It goes back to the early days of Node.js and is the backbone that keeps express popular. When it goes [10 years without a major release](https://expressjs.com/2024/10/15/v5-release.html) -you can bet there is everything from middleware to blog posts that will need updating. We wanted to make sure folks had +everything from middleware to documentation needed updates. We wanted to make sure folks had some time to get all of that updated before we had everyone moving over. Particularly we care about our very large beginner user base who may not know the blog post they are reading is not compatible with what they get from `npm i express`. From d90ed713c2d74ea5efff83f85af772308310633e Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:38:48 -0500 Subject: [PATCH 04/19] Update _posts/2025-01-09-v5-1-latest-release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ulises Gascón --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index 33868f872b..2c3eada083 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -37,7 +37,7 @@ some time to get all of that updated before we had everyone moving over. Particu beginner user base who may not know the blog post they are reading is not compatible with what they get from `npm i express`. -We know this will still be an issue no matter how we handle this transition, but thanks to work from ecosystem partners +We recognize that some friction is inevitable during major upgrades, but thanks to work from ecosystem partners like [Kamil](https://github.com/kamilmysliwiec) from NestJS [working to update `express` before we went `latest`](https://github.com/expressjs/express/issues/5944#issuecomment-2523074127) we will hopefully be ahead of the curve. And as I said above, we always welcome help to make this transition easier for those who follow after you, PRs are the best support you can give. From 66ab5546b51c9bbe7462ca30f926e98ab9e45f7d Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:39:01 -0500 Subject: [PATCH 05/19] Update _posts/2025-01-09-v5-1-latest-release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ulises Gascón --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index 2c3eada083..e5b5dae417 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -49,7 +49,7 @@ and we had (still don't have) end user docs on our plans here. While we still ha [proposed LTS strategy ](https://github.com/expressjs/discussions/pull/352) which will be the basis for our forthcoming docs. Input is very welcome on this so we can make sure it is clearly communicated and acceptable to the community. -Additionally since then we have announced a partnership with HeroDevs to help companies who are less capable of +Additionally since then [we have announced a partnership with HeroDevs](https://expressjs.com/2024/10/01/HeroDevs-partnership-announcement.html) to help companies who are less capable of updating. More information on how this will work when v4 EOL will come when we get closer to that time. --- From b7459214098287895bb86e713076b971628f2ec2 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:41:15 -0500 Subject: [PATCH 06/19] Update _posts/2025-01-09-v5-1-latest-release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ulises Gascón --- _posts/2025-01-09-v5-1-latest-release.md | 77 +++++------------------- 1 file changed, 15 insertions(+), 62 deletions(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index e5b5dae417..3be4911f4d 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -112,82 +112,35 @@ provide a bit longer support. We want to do what is best for the ecosystem, so c ## Finally, what changed in v5.1.0 -This release primarily focused on tech debt from supporting so many old Node.js versions and other things that stagnated -but were not landed before v5.0.0 went out. +This release primarily focused on tech debt from supporting so many old Node.js versions and other things that stagnated but were not landed before v5.0.0 went out. + +### Express 5.1.0 Main Changes * Transitioned all remaining dependencies to use `^` ranges instead of locked versions * Add package.json funding field to highlight our OpenCollective * Added support for ETag option in `res.sendFile()` * Added support for adding multiple links with the same rel with `res.links()` * Performance: Use loop for acceptParams -* New Contributors: - * @bhavya3024 made their first contribution in https://github.com/expressjs/express/pull/6071 - * @jonkoops made their first contribution in https://github.com/expressjs/express/pull/6196 - * @Abdel-Monaam-Aouini made their first contribution in https://github.com/expressjs/express/pull/6211 - * @slagiewka made their first contribution in https://github.com/expressjs/express/pull/6236 - * @hamirmahal made their first contribution in https://github.com/expressjs/express/pull/6256 - * @pr4j3sh made their first contribution in https://github.com/expressjs/express/pull/6297 - * @Ayoub-Mabrouk made their first contribution in https://github.com/expressjs/express/pull/6097 - * @dpopp07 made their first contribution in https://github.com/expressjs/express/pull/6317 - * @agungjati made their first contribution in https://github.com/expressjs/express/pull/6122 - * @andvea made their first contribution in https://github.com/expressjs/express/pull/4885 -* `body-parser@^2.1.0` then `body-parser@^2.2.0` + +**Full Changelog**: [https://github.com/expressjs/express/compare/5.0.1...v5.1.0](https://github.com/expressjs/express/compare/5.0.1...v5.1.0) + + +### Dependencies updated + +We also invested time to prepare several releases in the packages that Express depend on. Most of this packages are used by other libraries and framework as individual libraries. + +* [body-parser@2.2.0](https://github.com/expressjs/body-parser/releases/tag/v2.2.0) * Remove legacy node.js support checks for Brotli & `AsyncLocalStorage` * Remove `unpipe` & `destroy` - * `type-is@^2.0.0` - * `iconv-lite@^0.6.3` - * New Contributors: - * @Binilkks made their first contribution in https://github.com/expressjs/body-parser/pull/581 - * @aqeelat made their first contribution in https://github.com/expressjs/body-parser/pull/588 - * @wojtekmaj made their first contribution in https://github.com/expressjs/body-parser/pull/591 -* `router@^2.1.0` then `router@^2.2.0` +* [router@2.2.0](https://github.com/pillarjs/router/releases/tag/v2.2.0) * Restore `debug`. Now with the `router` scope instead of `express`. * Remove legacy node.js support checks for `setImmediate` * Deprecate non-native promise support * Remove `after`, `safe-buffer`, `array-flatten`, `setprotoypeof`, `methods`, `utils-merge` - * `finalhandler@^2.1.0` - * `parseurl@^1.3.3` - * `is-promise@^4.0.0` - * New Contributors: - * @bjohansebas made their first contribution in https://github.com/pillarjs/router/pull/152 - * @dpopp07 made their first contribution in https://github.com/pillarjs/router/pull/151 - * @raksbisht made their first contribution in https://github.com/pillarjs/router/pull/107 - * @Phillip9587 made their first contribution in https://github.com/pillarjs/router/pull/126 - * @jonkoops made their first contribution in https://github.com/pillarjs/router/pull/127 - * @ctcpip made their first contribution in https://github.com/pillarjs/router/pull/131 - * @raiandexter0607 made their first contribution in https://github.com/pillarjs/router/pull/135 - * @UlisesGascon made their first contribution in https://github.com/pillarjs/router/pull/139 -* `finalhandler@2.1.0` +* [finalhandler@2.1.0](https://github.com/pillarjs/finalhandler/releases/tag/v2.1.0) * Remove legacy node.js support checks for `headersSent`, `setImmediate`, & http2 support * Remove `unpipe` - * `encodeurl@^2.0.0` - * New Contributors: - * @Phillip9587 made their first contribution in https://github.com/pillarjs/finalhandler/pull/67 - * @bjohansebas made their first contribution in https://github.com/pillarjs/finalhandler/pull/83 -* `serve-static@^2.2.0` - * `send@^1.2.0` - * New Contributors: - * @Ayoub-Mabrouk made their first contribution in https://github.com/expressjs/serve-static/pull/182 - * @bjohansebas made their first contribution in https://github.com/expressjs/serve-static/pull/186 - * @dpopp07 made their first contribution in https://github.com/expressjs/serve-static/pull/194 - * @ljeda made their first contribution in https://github.com/expressjs/serve-static/pull/190 - * @Phillip9587 made their first contribution in https://github.com/expressjs/serve-static/pull/191 -* `qs@^6.14.0` - * Added throwOnLimitExceeded option https://github.com/ljharb/qs/pull/517 & https://github.com/ljharb/qs/commit/b189ed49c8dfe5b41afe6cecabdaa562de56764b -* `type-is@^2.0.1` - * New Contributors - * @Ayoub-Mabrouk made their first contribution in https://github.com/jshttp/type-is/pull/61 - * @CommanderRoot made their first contribution in https://github.com/jshttp/type-is/pull/50 - * @UlisesGascon made their first contribution in https://github.com/jshttp/type-is/pull/64 -* `debug@^4.4.0` -* Removed dependencies: - * `setprototypeof` - * `safe-buffer` - * `methods` - * `utils-merge` - * `depd` - -**Full Changelog**: https://github.com/expressjs/express/compare/5.0.1...v5.1.0 +* [serve-static@2.2.0](https://github.com/expressjs/serve-static/releases/tag/v2.2.0) --- From 2b5fcb7cbefddf97881c26659778309f79c4b42f Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:41:58 -0500 Subject: [PATCH 07/19] Update _posts/2025-01-09-v5-1-latest-release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ulises Gascón --- _posts/2025-01-09-v5-1-latest-release.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index 3be4911f4d..5d966b21e8 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -150,7 +150,8 @@ Thanks so much to everyone involved in Express over the past year, the work all incredible, and we couldn't do it without them. If you are not able to become a contributor yourself, please consider asking your companies to support the project financially on [OpenCollective](https://opencollective.com/express). -Next up our focus is shifting to Performance. We will be kicking off [Performance Working Group](https://github.com/expressjs/discussions/pull/306) -to focus on measuring, tracking, and debugging framework performance issues. We hope the next minor releases will -benefit from this and fix longstanding performance bottlenecks. Additionally we will be starting to ramp up plans for v6 -later this year, so look out for updates! See you in the issues! +As we look ahead, we’re excited to keep building momentum. If you haven’t read it yet, our [Rewind 2024 + 2025 Vision blog post](https://expressjs.com/2025/01/09/rewind-2024-triumphs-and-2025-vision.html) lays out where we’ve been and where we're headed. This includes performances scoped packages, better automation, security hardening, and more. + +One major initiative is our new [Performance Working Group](https://github.com/expressjs/discussions/pull/306), focused on identifying and fixing long-standing bottlenecks in Express. We're grateful to be kicking this off with support from the [Sovereign Tech Fund (STF)](https://openjsf.org/sovereign-tech-fund/), who are helping us invest in long-term sustainability and performance of core infrastructure. + +And yes, v6 discussions are already starting to heat up. Keep an eye out for updates, and as always, see you in the issues! From a2922d1c7e66daf3a1513141ef68409910fdbae1 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:42:23 -0500 Subject: [PATCH 08/19] Update _posts/2025-01-09-v5-1-latest-release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ulises Gascón --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index 5d966b21e8..2ec93940c5 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -1,5 +1,5 @@ --- -title: "v5.1.0 Release takes v5 to latest" +title: "Express@5.1.0: Now the Default on npm with LTS Timeline" tags: news, release author: Express Technical Committee description: Express goes latest with the 5.1.0 release and announces an LTS schedule for v4 and v5 release lines. From 939447dd63a4bfe2b2b5a353d1184238aff4bed0 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:42:39 -0500 Subject: [PATCH 09/19] Update _posts/2025-01-09-v5-1-latest-release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ulises Gascón --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index 2ec93940c5..b391b50bc5 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -2,7 +2,7 @@ title: "Express@5.1.0: Now the Default on npm with LTS Timeline" tags: news, release author: Express Technical Committee -description: Express goes latest with the 5.1.0 release and announces an LTS schedule for v4 and v5 release lines. +description: Express 5.1.0 is now the default on npm, and we're introducing an official LTS schedule for the v4 and v5 release lines. --- Express v5.0.0 was released on September 9th last year, but we didn't make it the `latest` release on npm. Many asked us From f63ac391204e6a35edd3bcd6c543a13936cedddc Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:44:25 -0500 Subject: [PATCH 10/19] Update _posts/2025-01-09-v5-1-latest-release.md Co-authored-by: Sebastian Beltran --- _posts/2025-01-09-v5-1-latest-release.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index b391b50bc5..da3270d7fc 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -24,9 +24,13 @@ Big thanks to ### Migration Support -Due to the awesome work of [Sebastian](https://github.com/bjohansebas) and [Filip](https://github.com/kjugi) we have a -new [codemod package](https://github.com/expressjs/codemod) to help folks migrate from v4 to v5. You can find docs in -the readme and on the migration guide. +We know that migrating between versions can be challenging, especially when it involves significant changes in a widely used framework like Express. That's why we have worked on a solution to simplify part of the process and reduce the impact on developers. + +Thanks to the incredible efforts of [Sebastian](https://github.com/bjohansebas) and [Filip](https://github.com/kjugi), we have developed a new [codemod package](https://www.npmjs.com/package/@expressjs/codemod) specifically designed to facilitate the transition from Express v4 to v5, as well as future major versions. This package automates many of the necessary code changes, minimizing manual effort and making the upgrade as smooth and efficient as possible. + +However, we understand that not all changes can be automated. Some breaking changes, such as the [new Path Route Matching syntax](https://expressjs.com/en/guide/migrating-5.html#path-syntax), require manual modifications by developers. + +For more details on the migration process and how to use the codemod package, check the [repository’s README](https://github.com/expressjs/codemod#readme) and the [migration guide](https://expressjs.com/en/guide/migrating-5.html). ### Ecosystem compatibility From fa4448a23e8ed99958e0f3a12643b7b4aed59a1b Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 09:44:51 -0500 Subject: [PATCH 11/19] Update _posts/2025-01-09-v5-1-latest-release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ulises Gascón --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index da3270d7fc..c654d3b4b5 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -20,7 +20,7 @@ anything we missed. You can find our [v5 docs](https://expressjs.com/en/5x/api.html) and our [migration guide](https://expressjs.com/en/guide/migrating-5.html) on the website. -Big thanks to +Big thanks to [@wesleytodd](https://github.com/wesleytodd), [@blakeembrey](https://github.com/blakeembrey), [@bjohansebas](https://github.com/bjohansebas), [@UlisesGascon](https://github.com/UlisesGascon), [@Phillip9587](https://github.com/Phillip9587), [@carpasse](https://github.com/carpasse), [@jonchurch](https://github.com/jonchurch), [@ctcpip](https://github.com/ctcpip), [@inigomarquinez](https://github.com/inigomarquinez), [@carlosstenzel](https://github.com/carlosstenzel), [@crandmck](https://github.com/crandmck), [@chrisdel101](https://github.com/chrisdel101), [@dpopp07](https://github.com/dpopp07), [@Ayoub-Mabrouk](https://github.com/Ayoub-Mabrouk), [@jonkoops](https://github.com/jonkoops), [@IamLizu](https://github.com/IamLizu), [@marco-ippolito](https://github.com/marco-ippolito), [@ipreencekmr](https://github.com/ipreencekmr), [@ShubhamOulkar](https://github.com/ShubhamOulkar), [@raksbisht](https://github.com/raksbisht), [@jeffreybaird](https://github.com/jeffreybaird), [@dougwilson](https://github.com/dougwilson), [@mertcanaltin](https://github.com/mertcanaltin), [@GeorgeShvab](https://github.com/GeorgeShvab), [@RobinTail](https://github.com/RobinTail), [@EvanHahn](https://github.com/EvanHahn), [@rhodgkins](https://github.com/rhodgkins), [@cengizcmataraci](https://github.com/cengizcmataraci), [@Shantanugupta43](https://github.com/Shantanugupta43), [@italojs](https://github.com/italojs), [@ljharb](https://github.com/ljharb), [@MaoShizhong](https://github.com/MaoShizhong), [@aroyan](https://github.com/aroyan), [@Binilkks](https://github.com/Binilkks), [@danielgindi](https://github.com/danielgindi), [@papandreou](https://github.com/papandreou), [@jsoref](https://github.com/jsoref), [@bigbigDreamer](https://github.com/bigbigDreamer), [@broofa](https://github.com/broofa), [@CommanderRoot](https://github.com/CommanderRoot), [@andvea](https://github.com/andvea), [@juanarbol](https://github.com/juanarbol), [@agungjati](https://github.com/agungjati), [@alexandercerutti](https://github.com/alexandercerutti), [@pr4j3sh](https://github.com/pr4j3sh), [@hamirmahal](https://github.com/hamirmahal), [@slagiewka](https://github.com/slagiewka), [@Abdel-Monaam-Aouini](https://github.com/Abdel-Monaam-Aouini), [@sazk07](https://github.com/sazk07), [@bhavya3024](https://github.com/bhavya3024), [@joshbuker](https://github.com/joshbuker), [@almic](https://github.com/almic), [@FDrag0n](https://github.com/FDrag0n), [@Dmitry-Kondar](https://github.com/Dmitry-Kondar), [@attrid](https://github.com/attrid), [@kristof-low](https://github.com/kristof-low), [@gireeshpunathil](https://github.com/gireeshpunathil), [@UzairJ99](https://github.com/UzairJ99), [@choi2021](https://github.com/choi2021), [@hayden36](https://github.com/hayden36), [@joharkhan99](https://github.com/joharkhan99), [@peterh-capella](https://github.com/peterh-capella), [@johnburnett](https://github.com/johnburnett), [@nicolasgandrade](https://github.com/nicolasgandrade), [@axhuwastaken](https://github.com/axhuwastaken), [@abhijeetpandit7](https://github.com/abhijeetpandit7), [@peterdanwan](https://github.com/peterdanwan), [@rehmansheikh222](https://github.com/rehmansheikh222), [@corydalis10](https://github.com/corydalis10), [@mgsantos177](https://github.com/mgsantos177), [@wilyJ80](https://github.com/wilyJ80), [@LuiGeeDev](https://github.com/LuiGeeDev), [@juliogarciape](https://github.com/juliogarciape), [@aelmardhi](https://github.com/aelmardhi), [@Ahmed1monm](https://github.com/Ahmed1monm), [@erensarac](https://github.com/erensarac), [@tomasz13nocon](https://github.com/tomasz13nocon), [@tianbuyung](https://github.com/tianbuyung), [@GreyTearsDev](https://github.com/GreyTearsDev), [@aastha-cse](https://github.com/aastha-cse), [@krzysdz](https://github.com/krzysdz), [@Miguelrom](https://github.com/Miguelrom), [@bnoordhuis](https://github.com/bnoordhuis), [@MehfoozurRehman](https://github.com/MehfoozurRehman), [@EasonLin0716](https://github.com/EasonLin0716), [@grjan7](https://github.com/grjan7), [@mishrasur7](https://github.com/mishrasur7), [@gregfenton](https://github.com/gregfenton), [@zareefhasan](https://github.com/zareefhasan), [@Tejas150](https://github.com/Tejas150), [@jpricardo](https://github.com/jpricardo), [@nikeee](https://github.com/nikeee), [@dotnetCarpenter](https://github.com/dotnetCarpenter), [@engpetermwangi](https://github.com/engpetermwangi), [@msimerson](https://github.com/msimerson), [@fetsorn](https://github.com/fetsorn), [@manoharreddyporeddy](https://github.com/manoharreddyporeddy), [@lancatlin](https://github.com/lancatlin), [@mifi](https://github.com/mifi), [@meowingwhitey](https://github.com/meowingwhitey), [@sheplu](https://github.com/sheplu), [@krsriq](https://github.com/krsriq), [@ravibisht](https://github.com/ravibisht), [@wojtekmaj](https://github.com/wojtekmaj), [@aqeelat](https://github.com/aqeelat), [@melikhov-dev](https://github.com/melikhov-dev), [@alexstrat](https://github.com/alexstrat), [@isnifer](https://github.com/isnifer), [@TorstenDittmann](https://github.com/TorstenDittmann), [@Uzlopak](https://github.com/Uzlopak), [@gurgunday](https://github.com/gurgunday), [@kurtextrem](https://github.com/kurtextrem), [@hdtmccallie](https://github.com/hdtmccallie), [@proudparrot2](https://github.com/proudparrot2), [@bewinsnw](https://github.com/bewinsnw), [@jonboulle](https://github.com/jonboulle), [@alexander-akait](https://github.com/alexander-akait), [@alxndrsn](https://github.com/alxndrsn), [@DimitriPapadopoulos](https://github.com/DimitriPapadopoulos), [@greggman](https://github.com/greggman), [@jkbach](https://github.com/jkbach), [@julien-c](https://github.com/julien-c), [@risu729](https://github.com/risu729), [@JohnSimumatik](https://github.com/JohnSimumatik), [@dhouck](https://github.com/dhouck), [@pedro-php](https://github.com/pedro-php), [@aminerol](https://github.com/aminerol), [@robertsky](https://github.com/robertsky), [@ipetrouchtchak-fi](https://github.com/ipetrouchtchak-fi), [@tinhochu](https://github.com/tinhochu), [@Lord-Kamina](https://github.com/Lord-Kamina), [@joshkel](https://github.com/joshkel), [@raiandexter0607](https://github.com/raiandexter0607), [@NateEag](https://github.com/NateEag), [@rmhaiderali](https://github.com/rmhaiderali), [@ljeda](https://github.com/ljeda) ### Migration Support From 7addc9b2c8829e9c9e003e674c97b9a4a45be2fe Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sun, 30 Mar 2025 11:10:00 -0500 Subject: [PATCH 12/19] fix: highlight ts and design work --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index c654d3b4b5..eae96ebb6f 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -156,6 +156,6 @@ asking your companies to support the project financially on [OpenCollective](htt As we look ahead, we’re excited to keep building momentum. If you haven’t read it yet, our [Rewind 2024 + 2025 Vision blog post](https://expressjs.com/2025/01/09/rewind-2024-triumphs-and-2025-vision.html) lays out where we’ve been and where we're headed. This includes performances scoped packages, better automation, security hardening, and more. -One major initiative is our new [Performance Working Group](https://github.com/expressjs/discussions/pull/306), focused on identifying and fixing long-standing bottlenecks in Express. We're grateful to be kicking this off with support from the [Sovereign Tech Fund (STF)](https://openjsf.org/sovereign-tech-fund/), who are helping us invest in long-term sustainability and performance of core infrastructure. +One major initiative is our new [Performance Working Group](https://github.com/expressjs/discussions/pull/306), focused on identifying and fixing long-standing bottlenecks in Express. We're grateful to be kicking this off with support from the [Sovereign Tech Fund (STF)](https://openjsf.org/sovereign-tech-fund/), who are helping us invest in long-term sustainability and performance of core infrastructure. Additionally, we will be working to [improve our Typescript DX](https://github.com/expressjs/discussions/issues/192) and taking next steps to [improve the website](https://github.com/expressjs/expressjs.com/issues/1787). And yes, v6 discussions are already starting to heat up. Keep an eye out for updates, and as always, see you in the issues! From c682b36c983c36cdaaa1f2db9fe7c7d287df3cc3 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sun, 30 Mar 2025 20:28:59 -0500 Subject: [PATCH 13/19] move thanks section --- _posts/2025-01-09-v5-1-latest-release.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index eae96ebb6f..483a745df3 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -20,8 +20,6 @@ anything we missed. You can find our [v5 docs](https://expressjs.com/en/5x/api.html) and our [migration guide](https://expressjs.com/en/guide/migrating-5.html) on the website. -Big thanks to [@wesleytodd](https://github.com/wesleytodd), [@blakeembrey](https://github.com/blakeembrey), [@bjohansebas](https://github.com/bjohansebas), [@UlisesGascon](https://github.com/UlisesGascon), [@Phillip9587](https://github.com/Phillip9587), [@carpasse](https://github.com/carpasse), [@jonchurch](https://github.com/jonchurch), [@ctcpip](https://github.com/ctcpip), [@inigomarquinez](https://github.com/inigomarquinez), [@carlosstenzel](https://github.com/carlosstenzel), [@crandmck](https://github.com/crandmck), [@chrisdel101](https://github.com/chrisdel101), [@dpopp07](https://github.com/dpopp07), [@Ayoub-Mabrouk](https://github.com/Ayoub-Mabrouk), [@jonkoops](https://github.com/jonkoops), [@IamLizu](https://github.com/IamLizu), [@marco-ippolito](https://github.com/marco-ippolito), [@ipreencekmr](https://github.com/ipreencekmr), [@ShubhamOulkar](https://github.com/ShubhamOulkar), [@raksbisht](https://github.com/raksbisht), [@jeffreybaird](https://github.com/jeffreybaird), [@dougwilson](https://github.com/dougwilson), [@mertcanaltin](https://github.com/mertcanaltin), [@GeorgeShvab](https://github.com/GeorgeShvab), [@RobinTail](https://github.com/RobinTail), [@EvanHahn](https://github.com/EvanHahn), [@rhodgkins](https://github.com/rhodgkins), [@cengizcmataraci](https://github.com/cengizcmataraci), [@Shantanugupta43](https://github.com/Shantanugupta43), [@italojs](https://github.com/italojs), [@ljharb](https://github.com/ljharb), [@MaoShizhong](https://github.com/MaoShizhong), [@aroyan](https://github.com/aroyan), [@Binilkks](https://github.com/Binilkks), [@danielgindi](https://github.com/danielgindi), [@papandreou](https://github.com/papandreou), [@jsoref](https://github.com/jsoref), [@bigbigDreamer](https://github.com/bigbigDreamer), [@broofa](https://github.com/broofa), [@CommanderRoot](https://github.com/CommanderRoot), [@andvea](https://github.com/andvea), [@juanarbol](https://github.com/juanarbol), [@agungjati](https://github.com/agungjati), [@alexandercerutti](https://github.com/alexandercerutti), [@pr4j3sh](https://github.com/pr4j3sh), [@hamirmahal](https://github.com/hamirmahal), [@slagiewka](https://github.com/slagiewka), [@Abdel-Monaam-Aouini](https://github.com/Abdel-Monaam-Aouini), [@sazk07](https://github.com/sazk07), [@bhavya3024](https://github.com/bhavya3024), [@joshbuker](https://github.com/joshbuker), [@almic](https://github.com/almic), [@FDrag0n](https://github.com/FDrag0n), [@Dmitry-Kondar](https://github.com/Dmitry-Kondar), [@attrid](https://github.com/attrid), [@kristof-low](https://github.com/kristof-low), [@gireeshpunathil](https://github.com/gireeshpunathil), [@UzairJ99](https://github.com/UzairJ99), [@choi2021](https://github.com/choi2021), [@hayden36](https://github.com/hayden36), [@joharkhan99](https://github.com/joharkhan99), [@peterh-capella](https://github.com/peterh-capella), [@johnburnett](https://github.com/johnburnett), [@nicolasgandrade](https://github.com/nicolasgandrade), [@axhuwastaken](https://github.com/axhuwastaken), [@abhijeetpandit7](https://github.com/abhijeetpandit7), [@peterdanwan](https://github.com/peterdanwan), [@rehmansheikh222](https://github.com/rehmansheikh222), [@corydalis10](https://github.com/corydalis10), [@mgsantos177](https://github.com/mgsantos177), [@wilyJ80](https://github.com/wilyJ80), [@LuiGeeDev](https://github.com/LuiGeeDev), [@juliogarciape](https://github.com/juliogarciape), [@aelmardhi](https://github.com/aelmardhi), [@Ahmed1monm](https://github.com/Ahmed1monm), [@erensarac](https://github.com/erensarac), [@tomasz13nocon](https://github.com/tomasz13nocon), [@tianbuyung](https://github.com/tianbuyung), [@GreyTearsDev](https://github.com/GreyTearsDev), [@aastha-cse](https://github.com/aastha-cse), [@krzysdz](https://github.com/krzysdz), [@Miguelrom](https://github.com/Miguelrom), [@bnoordhuis](https://github.com/bnoordhuis), [@MehfoozurRehman](https://github.com/MehfoozurRehman), [@EasonLin0716](https://github.com/EasonLin0716), [@grjan7](https://github.com/grjan7), [@mishrasur7](https://github.com/mishrasur7), [@gregfenton](https://github.com/gregfenton), [@zareefhasan](https://github.com/zareefhasan), [@Tejas150](https://github.com/Tejas150), [@jpricardo](https://github.com/jpricardo), [@nikeee](https://github.com/nikeee), [@dotnetCarpenter](https://github.com/dotnetCarpenter), [@engpetermwangi](https://github.com/engpetermwangi), [@msimerson](https://github.com/msimerson), [@fetsorn](https://github.com/fetsorn), [@manoharreddyporeddy](https://github.com/manoharreddyporeddy), [@lancatlin](https://github.com/lancatlin), [@mifi](https://github.com/mifi), [@meowingwhitey](https://github.com/meowingwhitey), [@sheplu](https://github.com/sheplu), [@krsriq](https://github.com/krsriq), [@ravibisht](https://github.com/ravibisht), [@wojtekmaj](https://github.com/wojtekmaj), [@aqeelat](https://github.com/aqeelat), [@melikhov-dev](https://github.com/melikhov-dev), [@alexstrat](https://github.com/alexstrat), [@isnifer](https://github.com/isnifer), [@TorstenDittmann](https://github.com/TorstenDittmann), [@Uzlopak](https://github.com/Uzlopak), [@gurgunday](https://github.com/gurgunday), [@kurtextrem](https://github.com/kurtextrem), [@hdtmccallie](https://github.com/hdtmccallie), [@proudparrot2](https://github.com/proudparrot2), [@bewinsnw](https://github.com/bewinsnw), [@jonboulle](https://github.com/jonboulle), [@alexander-akait](https://github.com/alexander-akait), [@alxndrsn](https://github.com/alxndrsn), [@DimitriPapadopoulos](https://github.com/DimitriPapadopoulos), [@greggman](https://github.com/greggman), [@jkbach](https://github.com/jkbach), [@julien-c](https://github.com/julien-c), [@risu729](https://github.com/risu729), [@JohnSimumatik](https://github.com/JohnSimumatik), [@dhouck](https://github.com/dhouck), [@pedro-php](https://github.com/pedro-php), [@aminerol](https://github.com/aminerol), [@robertsky](https://github.com/robertsky), [@ipetrouchtchak-fi](https://github.com/ipetrouchtchak-fi), [@tinhochu](https://github.com/tinhochu), [@Lord-Kamina](https://github.com/Lord-Kamina), [@joshkel](https://github.com/joshkel), [@raiandexter0607](https://github.com/raiandexter0607), [@NateEag](https://github.com/NateEag), [@rmhaiderali](https://github.com/rmhaiderali), [@ljeda](https://github.com/ljeda) - ### Migration Support We know that migrating between versions can be challenging, especially when it involves significant changes in a widely used framework like Express. That's why we have worked on a solution to simplify part of the process and reduce the impact on developers. @@ -159,3 +157,5 @@ As we look ahead, we’re excited to keep building momentum. If you haven’t re One major initiative is our new [Performance Working Group](https://github.com/expressjs/discussions/pull/306), focused on identifying and fixing long-standing bottlenecks in Express. We're grateful to be kicking this off with support from the [Sovereign Tech Fund (STF)](https://openjsf.org/sovereign-tech-fund/), who are helping us invest in long-term sustainability and performance of core infrastructure. Additionally, we will be working to [improve our Typescript DX](https://github.com/expressjs/discussions/issues/192) and taking next steps to [improve the website](https://github.com/expressjs/expressjs.com/issues/1787). And yes, v6 discussions are already starting to heat up. Keep an eye out for updates, and as always, see you in the issues! + +Big thanks to [@wesleytodd](https://github.com/wesleytodd), [@blakeembrey](https://github.com/blakeembrey), [@bjohansebas](https://github.com/bjohansebas), [@UlisesGascon](https://github.com/UlisesGascon), [@Phillip9587](https://github.com/Phillip9587), [@carpasse](https://github.com/carpasse), [@jonchurch](https://github.com/jonchurch), [@ctcpip](https://github.com/ctcpip), [@inigomarquinez](https://github.com/inigomarquinez), [@carlosstenzel](https://github.com/carlosstenzel), [@crandmck](https://github.com/crandmck), [@chrisdel101](https://github.com/chrisdel101), [@dpopp07](https://github.com/dpopp07), [@Ayoub-Mabrouk](https://github.com/Ayoub-Mabrouk), [@jonkoops](https://github.com/jonkoops), [@IamLizu](https://github.com/IamLizu), [@marco-ippolito](https://github.com/marco-ippolito), [@ipreencekmr](https://github.com/ipreencekmr), [@ShubhamOulkar](https://github.com/ShubhamOulkar), [@raksbisht](https://github.com/raksbisht), [@jeffreybaird](https://github.com/jeffreybaird), [@dougwilson](https://github.com/dougwilson), [@mertcanaltin](https://github.com/mertcanaltin), [@GeorgeShvab](https://github.com/GeorgeShvab), [@RobinTail](https://github.com/RobinTail), [@EvanHahn](https://github.com/EvanHahn), [@rhodgkins](https://github.com/rhodgkins), [@cengizcmataraci](https://github.com/cengizcmataraci), [@Shantanugupta43](https://github.com/Shantanugupta43), [@italojs](https://github.com/italojs), [@ljharb](https://github.com/ljharb), [@MaoShizhong](https://github.com/MaoShizhong), [@aroyan](https://github.com/aroyan), [@Binilkks](https://github.com/Binilkks), [@danielgindi](https://github.com/danielgindi), [@papandreou](https://github.com/papandreou), [@jsoref](https://github.com/jsoref), [@bigbigDreamer](https://github.com/bigbigDreamer), [@broofa](https://github.com/broofa), [@CommanderRoot](https://github.com/CommanderRoot), [@andvea](https://github.com/andvea), [@juanarbol](https://github.com/juanarbol), [@agungjati](https://github.com/agungjati), [@alexandercerutti](https://github.com/alexandercerutti), [@pr4j3sh](https://github.com/pr4j3sh), [@hamirmahal](https://github.com/hamirmahal), [@slagiewka](https://github.com/slagiewka), [@Abdel-Monaam-Aouini](https://github.com/Abdel-Monaam-Aouini), [@sazk07](https://github.com/sazk07), [@bhavya3024](https://github.com/bhavya3024), [@joshbuker](https://github.com/joshbuker), [@almic](https://github.com/almic), [@FDrag0n](https://github.com/FDrag0n), [@Dmitry-Kondar](https://github.com/Dmitry-Kondar), [@attrid](https://github.com/attrid), [@kristof-low](https://github.com/kristof-low), [@gireeshpunathil](https://github.com/gireeshpunathil), [@UzairJ99](https://github.com/UzairJ99), [@choi2021](https://github.com/choi2021), [@hayden36](https://github.com/hayden36), [@joharkhan99](https://github.com/joharkhan99), [@peterh-capella](https://github.com/peterh-capella), [@johnburnett](https://github.com/johnburnett), [@nicolasgandrade](https://github.com/nicolasgandrade), [@axhuwastaken](https://github.com/axhuwastaken), [@abhijeetpandit7](https://github.com/abhijeetpandit7), [@peterdanwan](https://github.com/peterdanwan), [@rehmansheikh222](https://github.com/rehmansheikh222), [@corydalis10](https://github.com/corydalis10), [@mgsantos177](https://github.com/mgsantos177), [@wilyJ80](https://github.com/wilyJ80), [@LuiGeeDev](https://github.com/LuiGeeDev), [@juliogarciape](https://github.com/juliogarciape), [@aelmardhi](https://github.com/aelmardhi), [@Ahmed1monm](https://github.com/Ahmed1monm), [@erensarac](https://github.com/erensarac), [@tomasz13nocon](https://github.com/tomasz13nocon), [@tianbuyung](https://github.com/tianbuyung), [@GreyTearsDev](https://github.com/GreyTearsDev), [@aastha-cse](https://github.com/aastha-cse), [@krzysdz](https://github.com/krzysdz), [@Miguelrom](https://github.com/Miguelrom), [@bnoordhuis](https://github.com/bnoordhuis), [@MehfoozurRehman](https://github.com/MehfoozurRehman), [@EasonLin0716](https://github.com/EasonLin0716), [@grjan7](https://github.com/grjan7), [@mishrasur7](https://github.com/mishrasur7), [@gregfenton](https://github.com/gregfenton), [@zareefhasan](https://github.com/zareefhasan), [@Tejas150](https://github.com/Tejas150), [@jpricardo](https://github.com/jpricardo), [@nikeee](https://github.com/nikeee), [@dotnetCarpenter](https://github.com/dotnetCarpenter), [@engpetermwangi](https://github.com/engpetermwangi), [@msimerson](https://github.com/msimerson), [@fetsorn](https://github.com/fetsorn), [@manoharreddyporeddy](https://github.com/manoharreddyporeddy), [@lancatlin](https://github.com/lancatlin), [@mifi](https://github.com/mifi), [@meowingwhitey](https://github.com/meowingwhitey), [@sheplu](https://github.com/sheplu), [@krsriq](https://github.com/krsriq), [@ravibisht](https://github.com/ravibisht), [@wojtekmaj](https://github.com/wojtekmaj), [@aqeelat](https://github.com/aqeelat), [@melikhov-dev](https://github.com/melikhov-dev), [@alexstrat](https://github.com/alexstrat), [@isnifer](https://github.com/isnifer), [@TorstenDittmann](https://github.com/TorstenDittmann), [@Uzlopak](https://github.com/Uzlopak), [@gurgunday](https://github.com/gurgunday), [@kurtextrem](https://github.com/kurtextrem), [@hdtmccallie](https://github.com/hdtmccallie), [@proudparrot2](https://github.com/proudparrot2), [@bewinsnw](https://github.com/bewinsnw), [@jonboulle](https://github.com/jonboulle), [@alexander-akait](https://github.com/alexander-akait), [@alxndrsn](https://github.com/alxndrsn), [@DimitriPapadopoulos](https://github.com/DimitriPapadopoulos), [@greggman](https://github.com/greggman), [@jkbach](https://github.com/jkbach), [@julien-c](https://github.com/julien-c), [@risu729](https://github.com/risu729), [@JohnSimumatik](https://github.com/JohnSimumatik), [@dhouck](https://github.com/dhouck), [@pedro-php](https://github.com/pedro-php), [@aminerol](https://github.com/aminerol), [@robertsky](https://github.com/robertsky), [@ipetrouchtchak-fi](https://github.com/ipetrouchtchak-fi), [@tinhochu](https://github.com/tinhochu), [@Lord-Kamina](https://github.com/Lord-Kamina), [@joshkel](https://github.com/joshkel), [@raiandexter0607](https://github.com/raiandexter0607), [@NateEag](https://github.com/NateEag), [@rmhaiderali](https://github.com/rmhaiderali), [@ljeda](https://github.com/ljeda) \ No newline at end of file From d520f9d3318f566a49f12d81a5e1393a6a4d76e8 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sun, 30 Mar 2025 20:35:53 -0500 Subject: [PATCH 14/19] Update _posts/2025-01-09-v5-1-latest-release.md Co-authored-by: shubham oulkar <91728992+ShubhamOulkar@users.noreply.github.com> --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index 483a745df3..e08a166e8a 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -124,7 +124,7 @@ This release primarily focused on tech debt from supporting so many old Node.js * Added support for adding multiple links with the same rel with `res.links()` * Performance: Use loop for acceptParams -**Full Changelog**: [https://github.com/expressjs/express/compare/5.0.1...v5.1.0](https://github.com/expressjs/express/compare/5.0.1...v5.1.0) +[Changelog v5.1.0](https://github.com/expressjs/express/compare/5.0.1...v5.1.0) ### Dependencies updated From feff5991cd670783ec88298e33a9d8cefdb71069 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Sun, 30 Mar 2025 21:18:09 -0500 Subject: [PATCH 15/19] fix responsive mobile --- _posts/2025-01-09-v5-1-latest-release.md | 2 ++ css/style.css | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index e08a166e8a..c7bdf10e32 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -98,6 +98,7 @@ Express major versions will go through three supported phases: For the existing release lines, we will set the following phase dates: +
| Major | CURRENT | ACTIVE | MAINTENANCE | EOL | | ----- | ------- | ------ | ----------- | --- | @@ -105,6 +106,7 @@ For the existing release lines, we will set the following phase dates: | 5.x | 2024-09-11 | 2025-03-31 | 2026-04-01 | 2027-04-01 | | 6.x | TBD after 2025-10-01 | | | | +
As you can see, this means that v5.1.0 being tagged `latest` indicates that we moved from `CURRENT` to `ACTIVE` which starts the clock on EOL for v4 by moving it to `MAINTENANCE`. We recognize that v4 is a special case having been the only major version for most of the history of Node.js itself. Because of this, we want to remain flexible and also diff --git a/css/style.css b/css/style.css index d8ed11b09e..c9c42d0db0 100644 --- a/css/style.css +++ b/css/style.css @@ -432,7 +432,7 @@ html[xmlns] .clearfix { /* doc specific */ .doctable, table { - margin: 1em 1em 1em 0; + margin: 1em 0; border: 1px solid var(--border); border-collapse: collapse; width: 100%; From c32f074da27ec8abfebda8bf27f9b98996f744ac Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Mon, 31 Mar 2025 08:24:55 -0500 Subject: [PATCH 16/19] Update _posts/2025-01-09-v5-1-latest-release.md --- _posts/2025-01-09-v5-1-latest-release.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index c7bdf10e32..9b7b83255c 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -120,6 +120,7 @@ This release primarily focused on tech debt from supporting so many old Node.js ### Express 5.1.0 Main Changes +* Add support for `Uint8Array` in `res.send()` * Transitioned all remaining dependencies to use `^` ranges instead of locked versions * Add package.json funding field to highlight our OpenCollective * Added support for ETag option in `res.sendFile()` From 9baab89280783ce387601a7a15d4115eba1662ee Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Mon, 31 Mar 2025 08:42:48 -0500 Subject: [PATCH 17/19] Update _posts/2025-01-09-v5-1-latest-release.md Co-authored-by: Sebastian Beltran --- _posts/2025-01-09-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-01-09-v5-1-latest-release.md index 9b7b83255c..7a15f020bd 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-01-09-v5-1-latest-release.md @@ -127,7 +127,7 @@ This release primarily focused on tech debt from supporting so many old Node.js * Added support for adding multiple links with the same rel with `res.links()` * Performance: Use loop for acceptParams -[Changelog v5.1.0](https://github.com/expressjs/express/compare/5.0.1...v5.1.0) +[Changelog v5.1.0](https://github.com/expressjs/express/releases/tag/5.1.0) ### Dependencies updated From 96b76db4c8a6188f39778022bad6ccf2e76d1a31 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Mon, 31 Mar 2025 08:45:05 -0500 Subject: [PATCH 18/19] fix: update publication date --- ...v5-1-latest-release.md => 2025-03-31-v5-1-latest-release.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename _posts/{2025-01-09-v5-1-latest-release.md => 2025-03-31-v5-1-latest-release.md} (99%) diff --git a/_posts/2025-01-09-v5-1-latest-release.md b/_posts/2025-03-31-v5-1-latest-release.md similarity index 99% rename from _posts/2025-01-09-v5-1-latest-release.md rename to _posts/2025-03-31-v5-1-latest-release.md index 7a15f020bd..c8688387ac 100644 --- a/_posts/2025-01-09-v5-1-latest-release.md +++ b/_posts/2025-03-31-v5-1-latest-release.md @@ -161,4 +161,4 @@ One major initiative is our new [Performance Working Group](https://github.com/e And yes, v6 discussions are already starting to heat up. Keep an eye out for updates, and as always, see you in the issues! -Big thanks to [@wesleytodd](https://github.com/wesleytodd), [@blakeembrey](https://github.com/blakeembrey), [@bjohansebas](https://github.com/bjohansebas), [@UlisesGascon](https://github.com/UlisesGascon), [@Phillip9587](https://github.com/Phillip9587), [@carpasse](https://github.com/carpasse), [@jonchurch](https://github.com/jonchurch), [@ctcpip](https://github.com/ctcpip), [@inigomarquinez](https://github.com/inigomarquinez), [@carlosstenzel](https://github.com/carlosstenzel), [@crandmck](https://github.com/crandmck), [@chrisdel101](https://github.com/chrisdel101), [@dpopp07](https://github.com/dpopp07), [@Ayoub-Mabrouk](https://github.com/Ayoub-Mabrouk), [@jonkoops](https://github.com/jonkoops), [@IamLizu](https://github.com/IamLizu), [@marco-ippolito](https://github.com/marco-ippolito), [@ipreencekmr](https://github.com/ipreencekmr), [@ShubhamOulkar](https://github.com/ShubhamOulkar), [@raksbisht](https://github.com/raksbisht), [@jeffreybaird](https://github.com/jeffreybaird), [@dougwilson](https://github.com/dougwilson), [@mertcanaltin](https://github.com/mertcanaltin), [@GeorgeShvab](https://github.com/GeorgeShvab), [@RobinTail](https://github.com/RobinTail), [@EvanHahn](https://github.com/EvanHahn), [@rhodgkins](https://github.com/rhodgkins), [@cengizcmataraci](https://github.com/cengizcmataraci), [@Shantanugupta43](https://github.com/Shantanugupta43), [@italojs](https://github.com/italojs), [@ljharb](https://github.com/ljharb), [@MaoShizhong](https://github.com/MaoShizhong), [@aroyan](https://github.com/aroyan), [@Binilkks](https://github.com/Binilkks), [@danielgindi](https://github.com/danielgindi), [@papandreou](https://github.com/papandreou), [@jsoref](https://github.com/jsoref), [@bigbigDreamer](https://github.com/bigbigDreamer), [@broofa](https://github.com/broofa), [@CommanderRoot](https://github.com/CommanderRoot), [@andvea](https://github.com/andvea), [@juanarbol](https://github.com/juanarbol), [@agungjati](https://github.com/agungjati), [@alexandercerutti](https://github.com/alexandercerutti), [@pr4j3sh](https://github.com/pr4j3sh), [@hamirmahal](https://github.com/hamirmahal), [@slagiewka](https://github.com/slagiewka), [@Abdel-Monaam-Aouini](https://github.com/Abdel-Monaam-Aouini), [@sazk07](https://github.com/sazk07), [@bhavya3024](https://github.com/bhavya3024), [@joshbuker](https://github.com/joshbuker), [@almic](https://github.com/almic), [@FDrag0n](https://github.com/FDrag0n), [@Dmitry-Kondar](https://github.com/Dmitry-Kondar), [@attrid](https://github.com/attrid), [@kristof-low](https://github.com/kristof-low), [@gireeshpunathil](https://github.com/gireeshpunathil), [@UzairJ99](https://github.com/UzairJ99), [@choi2021](https://github.com/choi2021), [@hayden36](https://github.com/hayden36), [@joharkhan99](https://github.com/joharkhan99), [@peterh-capella](https://github.com/peterh-capella), [@johnburnett](https://github.com/johnburnett), [@nicolasgandrade](https://github.com/nicolasgandrade), [@axhuwastaken](https://github.com/axhuwastaken), [@abhijeetpandit7](https://github.com/abhijeetpandit7), [@peterdanwan](https://github.com/peterdanwan), [@rehmansheikh222](https://github.com/rehmansheikh222), [@corydalis10](https://github.com/corydalis10), [@mgsantos177](https://github.com/mgsantos177), [@wilyJ80](https://github.com/wilyJ80), [@LuiGeeDev](https://github.com/LuiGeeDev), [@juliogarciape](https://github.com/juliogarciape), [@aelmardhi](https://github.com/aelmardhi), [@Ahmed1monm](https://github.com/Ahmed1monm), [@erensarac](https://github.com/erensarac), [@tomasz13nocon](https://github.com/tomasz13nocon), [@tianbuyung](https://github.com/tianbuyung), [@GreyTearsDev](https://github.com/GreyTearsDev), [@aastha-cse](https://github.com/aastha-cse), [@krzysdz](https://github.com/krzysdz), [@Miguelrom](https://github.com/Miguelrom), [@bnoordhuis](https://github.com/bnoordhuis), [@MehfoozurRehman](https://github.com/MehfoozurRehman), [@EasonLin0716](https://github.com/EasonLin0716), [@grjan7](https://github.com/grjan7), [@mishrasur7](https://github.com/mishrasur7), [@gregfenton](https://github.com/gregfenton), [@zareefhasan](https://github.com/zareefhasan), [@Tejas150](https://github.com/Tejas150), [@jpricardo](https://github.com/jpricardo), [@nikeee](https://github.com/nikeee), [@dotnetCarpenter](https://github.com/dotnetCarpenter), [@engpetermwangi](https://github.com/engpetermwangi), [@msimerson](https://github.com/msimerson), [@fetsorn](https://github.com/fetsorn), [@manoharreddyporeddy](https://github.com/manoharreddyporeddy), [@lancatlin](https://github.com/lancatlin), [@mifi](https://github.com/mifi), [@meowingwhitey](https://github.com/meowingwhitey), [@sheplu](https://github.com/sheplu), [@krsriq](https://github.com/krsriq), [@ravibisht](https://github.com/ravibisht), [@wojtekmaj](https://github.com/wojtekmaj), [@aqeelat](https://github.com/aqeelat), [@melikhov-dev](https://github.com/melikhov-dev), [@alexstrat](https://github.com/alexstrat), [@isnifer](https://github.com/isnifer), [@TorstenDittmann](https://github.com/TorstenDittmann), [@Uzlopak](https://github.com/Uzlopak), [@gurgunday](https://github.com/gurgunday), [@kurtextrem](https://github.com/kurtextrem), [@hdtmccallie](https://github.com/hdtmccallie), [@proudparrot2](https://github.com/proudparrot2), [@bewinsnw](https://github.com/bewinsnw), [@jonboulle](https://github.com/jonboulle), [@alexander-akait](https://github.com/alexander-akait), [@alxndrsn](https://github.com/alxndrsn), [@DimitriPapadopoulos](https://github.com/DimitriPapadopoulos), [@greggman](https://github.com/greggman), [@jkbach](https://github.com/jkbach), [@julien-c](https://github.com/julien-c), [@risu729](https://github.com/risu729), [@JohnSimumatik](https://github.com/JohnSimumatik), [@dhouck](https://github.com/dhouck), [@pedro-php](https://github.com/pedro-php), [@aminerol](https://github.com/aminerol), [@robertsky](https://github.com/robertsky), [@ipetrouchtchak-fi](https://github.com/ipetrouchtchak-fi), [@tinhochu](https://github.com/tinhochu), [@Lord-Kamina](https://github.com/Lord-Kamina), [@joshkel](https://github.com/joshkel), [@raiandexter0607](https://github.com/raiandexter0607), [@NateEag](https://github.com/NateEag), [@rmhaiderali](https://github.com/rmhaiderali), [@ljeda](https://github.com/ljeda) \ No newline at end of file +Big thanks to [@wesleytodd](https://github.com/wesleytodd), [@blakeembrey](https://github.com/blakeembrey), [@bjohansebas](https://github.com/bjohansebas), [@UlisesGascon](https://github.com/UlisesGascon), [@Phillip9587](https://github.com/Phillip9587), [@carpasse](https://github.com/carpasse), [@jonchurch](https://github.com/jonchurch), [@ctcpip](https://github.com/ctcpip), [@inigomarquinez](https://github.com/inigomarquinez), [@carlosstenzel](https://github.com/carlosstenzel), [@crandmck](https://github.com/crandmck), [@chrisdel101](https://github.com/chrisdel101), [@dpopp07](https://github.com/dpopp07), [@Ayoub-Mabrouk](https://github.com/Ayoub-Mabrouk), [@jonkoops](https://github.com/jonkoops), [@IamLizu](https://github.com/IamLizu), [@marco-ippolito](https://github.com/marco-ippolito), [@ipreencekmr](https://github.com/ipreencekmr), [@ShubhamOulkar](https://github.com/ShubhamOulkar), [@raksbisht](https://github.com/raksbisht), [@jeffreybaird](https://github.com/jeffreybaird), [@dougwilson](https://github.com/dougwilson), [@mertcanaltin](https://github.com/mertcanaltin), [@GeorgeShvab](https://github.com/GeorgeShvab), [@RobinTail](https://github.com/RobinTail), [@EvanHahn](https://github.com/EvanHahn), [@rhodgkins](https://github.com/rhodgkins), [@cengizcmataraci](https://github.com/cengizcmataraci), [@Shantanugupta43](https://github.com/Shantanugupta43), [@italojs](https://github.com/italojs), [@ljharb](https://github.com/ljharb), [@MaoShizhong](https://github.com/MaoShizhong), [@aroyan](https://github.com/aroyan), [@Binilkks](https://github.com/Binilkks), [@danielgindi](https://github.com/danielgindi), [@papandreou](https://github.com/papandreou), [@jsoref](https://github.com/jsoref), [@bigbigDreamer](https://github.com/bigbigDreamer), [@broofa](https://github.com/broofa), [@CommanderRoot](https://github.com/CommanderRoot), [@andvea](https://github.com/andvea), [@juanarbol](https://github.com/juanarbol), [@agungjati](https://github.com/agungjati), [@alexandercerutti](https://github.com/alexandercerutti), [@pr4j3sh](https://github.com/pr4j3sh), [@hamirmahal](https://github.com/hamirmahal), [@slagiewka](https://github.com/slagiewka), [@Abdel-Monaam-Aouini](https://github.com/Abdel-Monaam-Aouini), [@sazk07](https://github.com/sazk07), [@bhavya3024](https://github.com/bhavya3024), [@joshbuker](https://github.com/joshbuker), [@almic](https://github.com/almic), [@FDrag0n](https://github.com/FDrag0n), [@Dmitry-Kondar](https://github.com/Dmitry-Kondar), [@attrid](https://github.com/attrid), [@kristof-low](https://github.com/kristof-low), [@gireeshpunathil](https://github.com/gireeshpunathil), [@UzairJ99](https://github.com/UzairJ99), [@choi2021](https://github.com/choi2021), [@hayden36](https://github.com/hayden36), [@joharkhan99](https://github.com/joharkhan99), [@peterh-capella](https://github.com/peterh-capella), [@johnburnett](https://github.com/johnburnett), [@nicolasgandrade](https://github.com/nicolasgandrade), [@axhuwastaken](https://github.com/axhuwastaken), [@abhijeetpandit7](https://github.com/abhijeetpandit7), [@peterdanwan](https://github.com/peterdanwan), [@rehmansheikh222](https://github.com/rehmansheikh222), [@corydalis10](https://github.com/corydalis10), [@mgsantos177](https://github.com/mgsantos177), [@wilyJ80](https://github.com/wilyJ80), [@LuiGeeDev](https://github.com/LuiGeeDev), [@juliogarciape](https://github.com/juliogarciape), [@aelmardhi](https://github.com/aelmardhi), [@Ahmed1monm](https://github.com/Ahmed1monm), [@erensarac](https://github.com/erensarac), [@tomasz13nocon](https://github.com/tomasz13nocon), [@tianbuyung](https://github.com/tianbuyung), [@GreyTearsDev](https://github.com/GreyTearsDev), [@aastha-cse](https://github.com/aastha-cse), [@krzysdz](https://github.com/krzysdz), [@Miguelrom](https://github.com/Miguelrom), [@bnoordhuis](https://github.com/bnoordhuis), [@MehfoozurRehman](https://github.com/MehfoozurRehman), [@EasonLin0716](https://github.com/EasonLin0716), [@grjan7](https://github.com/grjan7), [@mishrasur7](https://github.com/mishrasur7), [@gregfenton](https://github.com/gregfenton), [@zareefhasan](https://github.com/zareefhasan), [@Tejas150](https://github.com/Tejas150), [@jpricardo](https://github.com/jpricardo), [@nikeee](https://github.com/nikeee), [@dotnetCarpenter](https://github.com/dotnetCarpenter), [@engpetermwangi](https://github.com/engpetermwangi), [@msimerson](https://github.com/msimerson), [@fetsorn](https://github.com/fetsorn), [@manoharreddyporeddy](https://github.com/manoharreddyporeddy), [@lancatlin](https://github.com/lancatlin), [@mifi](https://github.com/mifi), [@meowingwhitey](https://github.com/meowingwhitey), [@sheplu](https://github.com/sheplu), [@krsriq](https://github.com/krsriq), [@ravibisht](https://github.com/ravibisht), [@wojtekmaj](https://github.com/wojtekmaj), [@aqeelat](https://github.com/aqeelat), [@melikhov-dev](https://github.com/melikhov-dev), [@alexstrat](https://github.com/alexstrat), [@isnifer](https://github.com/isnifer), [@TorstenDittmann](https://github.com/TorstenDittmann), [@Uzlopak](https://github.com/Uzlopak), [@gurgunday](https://github.com/gurgunday), [@kurtextrem](https://github.com/kurtextrem), [@hdtmccallie](https://github.com/hdtmccallie), [@proudparrot2](https://github.com/proudparrot2), [@bewinsnw](https://github.com/bewinsnw), [@jonboulle](https://github.com/jonboulle), [@alexander-akait](https://github.com/alexander-akait), [@alxndrsn](https://github.com/alxndrsn), [@DimitriPapadopoulos](https://github.com/DimitriPapadopoulos), [@greggman](https://github.com/greggman), [@jkbach](https://github.com/jkbach), [@julien-c](https://github.com/julien-c), [@risu729](https://github.com/risu729), [@JohnSimumatik](https://github.com/JohnSimumatik), [@dhouck](https://github.com/dhouck), [@pedro-php](https://github.com/pedro-php), [@aminerol](https://github.com/aminerol), [@robertsky](https://github.com/robertsky), [@ipetrouchtchak-fi](https://github.com/ipetrouchtchak-fi), [@tinhochu](https://github.com/tinhochu), [@Lord-Kamina](https://github.com/Lord-Kamina), [@joshkel](https://github.com/joshkel), [@raiandexter0607](https://github.com/raiandexter0607), [@NateEag](https://github.com/NateEag), [@rmhaiderali](https://github.com/rmhaiderali), [@ljeda](https://github.com/ljeda) From 925ba324a9d42364544549d4e058208bc8c5cbd1 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Mon, 31 Mar 2025 08:58:02 -0500 Subject: [PATCH 19/19] fix: link to original v5 release post --- _posts/2025-03-31-v5-1-latest-release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2025-03-31-v5-1-latest-release.md b/_posts/2025-03-31-v5-1-latest-release.md index c8688387ac..187a734e57 100644 --- a/_posts/2025-03-31-v5-1-latest-release.md +++ b/_posts/2025-03-31-v5-1-latest-release.md @@ -26,7 +26,7 @@ We know that migrating between versions can be challenging, especially when it i Thanks to the incredible efforts of [Sebastian](https://github.com/bjohansebas) and [Filip](https://github.com/kjugi), we have developed a new [codemod package](https://www.npmjs.com/package/@expressjs/codemod) specifically designed to facilitate the transition from Express v4 to v5, as well as future major versions. This package automates many of the necessary code changes, minimizing manual effort and making the upgrade as smooth and efficient as possible. -However, we understand that not all changes can be automated. Some breaking changes, such as the [new Path Route Matching syntax](https://expressjs.com/en/guide/migrating-5.html#path-syntax), require manual modifications by developers. +However, we understand that not all changes can be automated. Some breaking changes, such as the [new Path Route Matching syntax](https://expressjs.com/en/guide/migrating-5.html#path-syntax), require manual modifications by developers. You can read more about all of the breaking changes which came with v5 in our [original release announcement](https://expressjs.com/2024/10/15/v5-release.html). For more details on the migration process and how to use the codemod package, check the [repository’s README](https://github.com/expressjs/codemod#readme) and the [migration guide](https://expressjs.com/en/guide/migrating-5.html).