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

Release 5.0 #2237

Merged
merged 122 commits into from
Sep 10, 2024
Merged

Release 5.0 #2237

merged 122 commits into from
Sep 10, 2024

Conversation

dougwilson
Copy link
Contributor

@dougwilson dougwilson commented Jul 14, 2014

This is a tracking issue for release 5.0.

5.0.0-beta.1 published on npm

I am trying to give better visibility for upcoming changes and so am trying out making a PR for a release here, pulling from the official next release branch into 4.x. This allows for the current pending changes to be easily visible.

Please keep feature requests in their own issues

I'm also leaving this PR unlocked so people can make comments/etc. and we'll see how it goes :) If you want to make a comment on a particular change, please make the comment in the "Files changed" tab so comments are not lost during a rebase (they will occur frequently has 4.x progresses).

The goal of Express 5 is to be API tweaks & the removal of all code from the Express repository, moving into components in the pillarjs project (https://github.com/pillarjs), providing at least basic support for promise-returning handlers and complete HTTP/2 functionality. Express 5 would become a "view into pillarjs" and would be an arrangement of these components.

List of changes for release:

List of deprecated things removed:

List of things to refactor (still provided by express):

Testing this release

If you want to try out this release, you can install it with the following command:

$ npm install expressjs/express#5.0

Owners/collaborators: please do not merge this PR :)

@jonathanong
Copy link
Member

here's some mostly refactor-based changes i'd like to see. AFAIK you've got this covered @dougwilson, but let me know if you need help:

  • refactor the router to a separate repository
  • refactor the view system to a separate repository. maybe templation, maybe something else more backwards compatible
  • finish next versions of cookies and keygrip and use them in Express
  • finish refactoring body-parser into the request-body module before including it here
  • refactor the router to use path-match or something else between path-to-regexp and the router itself
  • refactor proxy-addr. i just emailed npm to ask for the trust package

@dougwilson
Copy link
Contributor Author

All great stuff @jonathanong :) I added all but the body-parser one up there, because I really want to add that in a 4.x release, but time-dependent :D

@Fishrock123 Fishrock123 added this to the 5.x milestone Aug 1, 2014
@Fishrock123 Fishrock123 added the pr label Sep 29, 2014
@ilanbiala
Copy link

How close is this to a prerelease? I just want to know if you think it's stable enough to start playing around with for future projects.

@dougwilson
Copy link
Contributor Author

So you're always welcome to play around with npm install visionmedia/express#5.0 (and you can add "express": "visionmedia/express#5.0" to your package.json if you really wish). If you are looking for something published to npm, just ask :) No one has really ask for it yet is all. Would you like an alpha or something published to npm? I can do it right after 4.10 (which is due something this week) so it'll include 4.10 stuff.

@rlidwka

This comment has been minimized.

@dougwilson

This comment has been minimized.

@Fishrock123

This comment has been minimized.

@ilanbiala

This comment has been minimized.

@dougwilson

This comment has been minimized.

@expressjs expressjs unlocked this conversation Sep 10, 2024
@wesleytodd wesleytodd changed the base branch from 4.x to 5.x September 10, 2024 02:41
Copy link
Member

@UlisesGascon UlisesGascon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Time to make it real!

@wesleytodd wesleytodd merged commit 344b022 into 5.x Sep 10, 2024
34 checks passed
@karlhorky
Copy link

karlhorky commented Sep 10, 2024

Thanks to all of the contributors for getting [email protected] published to the next tag on npm 🚀

Screenshot 2024-09-10 at 10 10 28

Edit: If you're interested in my points below, check out this issue that I opened:

Maybe I missed a v5 planning document somewhere - I'm looking for a few details to help determine how and when to migrate our projects:

  1. When is it planned that [email protected] be published to the npm latest tag?
  2. Is there a plan to publish an Express v4 -> v5 Migration Guide? (or a visible list of breaking changes with short suggestions about what to do about them) The closest thing that I can see is this small breaking note in History.md
  3. What's the current plan for the TypeScript types in DefinitelyTyped @types/express and @types/express-serve-static-core? Does anything need to be changed here? Specifically, things like [@types/express-serve-static-core] 🏷️ Add Promise<void> to RequestHandler's return type DefinitelyTyped/DefinitelyTyped#69660 (comment) cc DT maintainers @borisyankov @samijaber @NatoBoram @bombillazo @AndrewLeedham @gabritto @sandersn

@DominusKelvin
Copy link

Great job @wesleytodd and everyone who worked on this issue.

@wesleytodd
Copy link
Member

wesleytodd commented Sep 10, 2024

Hey @karlhorky! Thanks for the thanks and the questions. Would you mind moving them into a new issue and we can edit this to link back there? I just dont want to make it even harder to find things burried at the end of a 10 year old issue. 🤣

EDIT: and I should add, this stuff is the main reason we are on next and not latest. There is a ton to figure out before folks get the new version by default or before we even ask folks to migrate. We want to ensure stability, and we would love folks to help with migration tooling and docs updates first.

@lirantal
Copy link

Just dropped by to say this is very cool and thank you all for the hard work ❤️

@karlhorky
Copy link

Hey @karlhorky! Thanks for the thanks and the questions. Would you mind moving them into a new issue and we can edit this to link back there? I just dont want to make it even harder to find things burried at the end of a 10 year old issue. 🤣

EDIT: and I should add, this stuff is the main reason we are on next and not latest. There is a ton to figure out before folks get the new version by default or before we even ask folks to migrate. We want to ensure stability, and we would love folks to help with migration tooling and docs updates first.

Sounds good, I created a first issue over here:

@Zertz
Copy link

Zertz commented Sep 12, 2024

I'd like to congratulate everyone involved in this release for their absolutely incredible perseverance in getting Express 5.0 to the finish line! Huge thanks for all your hard work, I'm really looking forward to upgrading! 🙏

@bertolo1988
Copy link

Congratulations for the hardwork 🎉
I followed this thread for years 😅

@spperforce
Copy link

Thank you so much for releasing all these amazing stuff @wesleytodd . Do we have any plans to backport recent security patches (path-go-regexp, send etc.) in v4?

@blakeembrey
Copy link
Member

@spperforce As 4.x is still maintained, all security work has been done for that release. Is there something missing?

@wobsoriano
Copy link

wobsoriano commented Sep 12, 2024

This was so cool to see. Congrats to everyone involved!

@sandersn
Copy link

Here are the maintainers listed for the Definitely Typed packages:

@types/express

@types/express-serve-static-core

But the express types have only had a few changes since 2021, so I don't know how active its maintainers are.

@wesleytodd
Copy link
Member

wesleytodd commented Sep 13, 2024

If any of the folks in this list are interested in helping us refine our strategy for supporting typescript, please take a look at the new issue #5944 to continue the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
5.x pr release top priority Issues which the TC deem our current highest priorities for the project
Projects
None yet
Development

Successfully merging this pull request may close these issues.