Skip to content

express 5.0.0 #100

Closed
Closed

Description

@gireeshpunathil

the original issue (PR expressjs/express#2237) that tracks this is locked up for probable unmanageable number of discussions and some of which off-topic? I can't find an active issue that tracks this, so opening one.

I request to release express 5.

  • how was the user feedback on 5.0.0-alpha.7? if it is reasonably positive, does it make sense to cut that into 5?
  • are there pending items in Release 5.0 express#2237 (comment) that are real blockers? can they be pushed to in 5.1?
  • can we have a TC meeting to discuss this - challenges, gaps, actionables and owners?

I am not an express commiter, but a staunch fan. I can commit the necessary bandwidth required for upskilling myself and contribute to realize this!

Activity

  1. dougwilson commented on Feb 23, 2020

    @dougwilson
    Contributor

    how was the user feedback on 5.0.0-alpha.7? if it is reasonably positive, does it make sense to cut that into 5?

    There has generally not been any so far...

    are there pending items in expressjs/express#2237 (comment) that are real blockers? can they be pushed to in 5.1?

    Those are simply the steps left to do.

    can we have a TC meeting to discuss this - challenges, gaps, actionables and owners?

    Sur!. Please open an issue in the discussions repo for meeting requests 👍

  2. dougwilson commented on Feb 23, 2020

    @dougwilson
    Contributor

    I think ultimately the last piece at this point for express 5 is to include the update for the new path-to-regexp which will also need a corresponding section created in http://expressjs.com/en/guide/migrating-5.html

    I think the following are the tasks currently for the next 5 release (beta from current alpha):

    1. Get the express dep upgrades all rolled out into a 4.x patch release.
    2. Roll the new patch into the 5.0 branch
    3. Publish router beta with new route syntax and put in 5.0 branch
    4. Publish 5.0 beta
    5. Update migration guide on expressjs
    6. Update announcement to it being beta

    From there, with the new route syntax, it would be useful if some real world apps were migrated to 5 before it was published as 5.0 due to the routing syntax changes. Not only to be prepared to answer incoming question and/or refine our guide, but also find issues.

  3. dougwilson commented on Feb 23, 2020

    @dougwilson
    Contributor

    (Sorry i didn't mean to close the issue after my first response)

  4. gireeshpunathil commented on Feb 23, 2020

    @gireeshpunathil
    Author

    @dougwilson - here is a request for TC sitting: #99 . I am good with any day, any time.

  5. dougwilson commented on Feb 23, 2020

    @dougwilson
    Contributor

    So for some more things to think about here for planning, is that once 5.0 is released how long do we want to support 4.x? In the past it has been 1 year, but we should decide if that makes sense to us. With the changes, I think it is going to be some level of effort to upgrade a large app from 4 to 5, so it seems the longer we can make it, the nicer experience it would be.

    Also we may want to comb over the issues in our deps (the ones in our orgs) as I forgot that some have major of their own tied into express 5. The router module was mentioned above already, but body-parser should be another and I think with the "mime" module suddenly archiving it's repo, serve-static may need to be another one as well (to include the switch from mime to mime-types).

    This is just a though dump comment, so it's not well formed. More like notes for myself for the tc meeting but everyone can see before hand lol

  6. added
    top priorityIssues which the TC deem our current highest priorities for the project
    on Feb 23, 2020
  7. gireeshpunathil commented on Feb 24, 2020

    @gireeshpunathil
    Author

    @dougwilson -

    new path-to-regexp which will also need a corresponding section created in http://expressjs.com/en/guide/migrating-5.html

    I would like to drive this to closure, any guidance on where to start or whom to contact?

    1. Publish 5.0 beta

    Why do we want a beta release? We ran into extra-ordinarily long iterations of alphas, and as there wasn't any concerns from its users, why can't we go straight upto 5.0.0 GA? anyways, we shall discuss this in the TC!

    I am stating my opinion here that, releasing express 5.0.0 (as GA, not as beta) is the best thing to do, for the ecosystem.

    migration guide:

    Who is / are the SMEs here? I would like to request that all the maintainers and triagers be educated on this topic - a couple of dedicated sessions if need be would be great. If you can share the info on the SME part, I can co-ordinate with them on this space.

    how long do we want to support 4.x?

    My take is that we defer it (taking a decision) to after the release of 5 and some insights from the field are gathered? Until then the standard 1 year applies, with a caveat of future amendments?

    Also we may want to comb over the issues in our deps

    May be candidates for 6, 7, 8... ?

  8. dougwilson commented on Feb 24, 2020

    @dougwilson
    Contributor

    I would like to drive this to closure, any guidance on where to start or whom to contact?

    The path-to-regexp update has mainly been driven by @wesleytodd

    Why do we want a beta release? We ran into extra-ordinarily long iterations of alphas, and as there wasn't any concerns from its users, why can't we go straight upto 5.0.0 GA?

    We can absolutely do that, but it means that we drop adding anything new at this point and release alpha.7 as the GA. That is your suggestion, correct?

    Who is / are the SMEs here? I would like to request that all the maintainers and triagers be educated on this topic - a couple of dedicated sessions if need be would be great. If you can share the info on the SME part, I can co-ordinate with them on this space.

    That is such a large question, I'm not even sure how to really answer it :) I mean, I would probably say in a general sense myself and @wesleytodd /shrug

    May be candidates for 6, 7, 8... ?

    IMO one thing I really like about Express, and pretty much all my coworkers, is the lack of constant breaking changes and majors. I would push back extremely strongly regarding this, unless you're talking about the far future. IMO I think we should not be releasing majors faster than Node.js itself, if even that. That means that if we release 5.0 today, then we're deferring everything not included into it until at least Feb 2021... If we want to do that, I think we should get a good idea on what exactly we are talking about here and the specifics around such a sudden change in direction that is so drastic.

  9. gireeshpunathil commented on Feb 24, 2020

    @gireeshpunathil
    Author

    @dougwilson -

    We can absolutely do that, but it means that we drop adding anything new at this point and release alpha.7 as the GA. That is your suggestion, correct?

    Yes.

    That means that if we release 5.0 today, then we're deferring everything not included into it until at least Feb 2021

    Generally agree if there are immediate takers of the delta features - but as you rightly said, we need to look at those items to get a better feel. But here is a consumer's perspective: the more features get added to a major, the tougher it becomes to test, assess the impact, and migrate. I am not saying a 6 months cadence is good for this project, but on the other hand, too long gaps between majors make it hard to migrate too?

    I would push back extremely strongly regarding this

    I guess this is where the real difference in opinion is, if at all - all others being just general sync up and ratification. How do we gather consensus on this? - express release cadence

    • deliberate in a separate issue
    • discuss in a dedicated meeting
    • gather user feedback

    ?

  10. gireeshpunathil commented on Feb 24, 2020

    @gireeshpunathil
    Author
  11. 23 remaining items

  12. gireeshpunathil commented on Apr 23, 2020

    @gireeshpunathil
    Author

    expressjs/expressjs.com#1131 is landed now, so we are down to 4!

  13. dougwilson commented on Apr 23, 2020

    @dougwilson
    Contributor

    In order to jump from alpha to GA, we will need to finish up the feature in the router repo, get the body parser 2.0 out to match the query praser change in 5.0, and get all those deps to be non beta release as well, as a GA express shouldn't have non GA deps. I believe the idea of a single beta is so we can release one intermediate express 5 between those, but if we want to hold the next 5 release for those things in order for it to be a GA release, we can certainly do so.

  14. gireeshpunathil commented on Apr 23, 2020

    @gireeshpunathil
    Author

    @dougwilson -

    In order to jump from alpha to GA, we will need to finish up the feature in the router repo, get the body parser 2.0 out to match the query praser change in 5.0, and get all those deps to be non beta release as well, as a GA express shouldn't have non GA deps.

    this is surprising! where do this come from? I have proposed GA 2 months back here #100 (comment) and this was not raised!

    GA express shouldn't have non GA deps

    where is this documented?

    we will need to finish up the feature in the router repo, get the body parser 2.0 out to match the query praser change in 5.0, and get all those deps to be non beta release as well, ...

    are there issues / PRs opened for these? or need to start from scratch?

  15. dougwilson commented on Apr 23, 2020

    @dougwilson
    Contributor

    Yes, we know there is a lot of gaps in our docs, and I know myself and Wes have been trying hard to continue to push forward with the work needed and still try and provide as much information as possible. We are trying out best, but we do missing things. If you think it is desirable, we can go ahead and stop pushing forward on the 5.0 work and pivot into perhaps a summit-style type of thing to get everything that needs to be done across all three orgs completely documented.

    Let me know what you think is a best use of time. We are here trying to best move everything forward, and with our limited resources we have at the moment. We built up our group quickly, with a sudden focus to release 5.0 as fast as possible, and perhaps we are cutting corners we should not, like fully articulating the plan.

    I think perhaps we need to stop the work towards 5.0 at this point and focus on a full plan of all the sub-dependency work across the three orgs that we are holding in our minds so we can get a full picture of what is being done and the plan.

    Does this sound like a good proposal? Do you have an alternative proposal?

    As for the request of non-GA deps in GA code, we don't document it, but perhaps you're saying we should. Typically this is just, I believe, an expectation for Node.js modules; that when you npm install express it doesn't pull in a bunch of alpha- and beta-marked dependencies along with it when you didn't ask for an alpha- or beta-marked express? I feel like that would be quite surprising to see (GA code depending on non-GA code), but perhaps I am misunderstanding what it means to be GA? Perhaps we should fully document and articulate what going GA means before we proceed in order to understand that we meet the GA definition with our GA release 🤔

  16. gireeshpunathil commented on Apr 23, 2020

    @gireeshpunathil
    Author

    @dougwilson -

    We built up our group quickly, with a sudden focus to release 5.0 as fast as possible, and perhaps we are cutting corners we should not, like fully articulating the plan.

    I wouldn't call it sudden - it has been 2 months since this issue is opened, to say the least. And there were several express 5.0 plans in the past as well?

    I think perhaps we need to stop the work towards 5.0 at this point and focus on a full plan of all the sub-dependency work across the three orgs that we are holding in our minds so we can get a full picture of what is being done and the plan.

    No. Lot of contributors spent a lot of effort to get this out. Let us don't think of any other actions that will delay it any further. I am understanding now that there are several gaps in the documentation, process and other nagging problems that needs collaborative effort to improve upon, but let us don't allow those to derail the current focus and larger goal.

    we will need to finish up the feature in the router repo, get the body parser 2.0 out to match the query praser change in 5.0, and get all those deps to be non beta release as well, ...

    are there issues / PRs opened for these? or need to start from scratch?

  17. dougwilson commented on Apr 23, 2020

    @dougwilson
    Contributor

    Yes, those repos have them as open issues and PR (mainly PRs targeting the milestone).

  18. gireeshpunathil commented on Apr 23, 2020

    @gireeshpunathil
    Author

    pillarjs/router#60 : PR to make router 2.0 . All the checklists are marked, yet not sure what it is waiting for?

    expressjs/body-parser#66: PR to release body-parser 2.0: how this is a pre-requisite for query praser change in 5.0?

  19. dougwilson commented on Apr 23, 2020

    @dougwilson
    Contributor

    Hi @gireeshpunathil is it OK for me to delay the responses to your questions until next week? I would like to focus on 4.18 tonight/tomorrow if that is OK.

  20. gireeshpunathil commented on Jun 17, 2020

    @gireeshpunathil
    Author

    I would like to resume this work. @dougwilson - when you get time, please let me know the latest list pre-requisites for 5!

  21. dougwilson commented on Jul 8, 2020

    @dougwilson
    Contributor

    Hi @gireeshpunathil the PR for the 5.0 release has a checklist tree that should be up-to-date with that information. If not, please bring up what is outdated there. All the items we dropped from there in previous conversations have a strike out to indicate that they were removed from consideration on purpose to shrink the scope.

    Edit: I tried to add a note on the lines where a particular change is coming in from a dependency update, to help with it a bit since we have a lot of the core Express functionality broken out into different dependencies.

  22. gireeshpunathil commented on Jul 9, 2020

    @gireeshpunathil
    Author

    I have extracted the outstanding items from expressjs/express#2237 (comment) as:

    with the last one opened today, seeing no other open PRs on it. Next I will review each of the existing PRs to see where do they stand, and what actions required to move those forward

  23. dougwilson commented on Jul 27, 2020

    @dougwilson
    Contributor

    I am locking this issue until the communications issues between myself and @gireeshpunathil are resolved.

  24. locked as too heated and limited conversation to collaborators on Jul 27, 2020
  25. UlisesGascon commented on Apr 24, 2024

    @UlisesGascon
    Member

    Next phase is in #233

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

discusstop priorityIssues which the TC deem our current highest priorities for the project

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions