You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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?
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):
Get the express dep upgrades all rolled out into a 4.x patch release.
Roll the new patch into the 5.0 branch
Publish router beta with new route syntax and put in 5.0 branch
Publish 5.0 beta
Update migration guide on expressjs
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.
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
I would like to drive this to closure, any guidance on where to start or whom to contact?
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
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.
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
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.
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?
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 🤔
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?
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.
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.
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
Activity
dougwilson commentedon Feb 23, 2020
There has generally not been any so far...
Those are simply the steps left to do.
Sur!. Please open an issue in the discussions repo for meeting requests 👍
dougwilson commentedon Feb 23, 2020
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):
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.
dougwilson commentedon Feb 23, 2020
(Sorry i didn't mean to close the issue after my first response)
gireeshpunathil commentedon Feb 23, 2020
@dougwilson - here is a request for TC sitting: #99 . I am good with any day, any time.
dougwilson commentedon Feb 23, 2020
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
gireeshpunathil commentedon Feb 24, 2020
@dougwilson -
I would like to drive this to closure, any guidance on where to start or whom to contact?
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.
Who is / are the SMEs here? I would like to request that all the maintainers and triagers be
educatedon 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.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?
May be candidates for 6, 7, 8... ?
dougwilson commentedon Feb 24, 2020
The path-to-regexp update has mainly been driven by @wesleytodd
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?
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
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.
gireeshpunathil commentedon Feb 24, 2020
@dougwilson -
Yes.
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 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
?
gireeshpunathil commentedon Feb 24, 2020
I opened https://github.com/expressjs/express/issues/4197 for item 3 above
23 remaining items
gireeshpunathil commentedon Apr 23, 2020
expressjs/expressjs.com#1131 is landed now, so we are down to 4!
dougwilson commentedon Apr 23, 2020
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.
gireeshpunathil commentedon Apr 23, 2020
@dougwilson -
this is surprising! where do this come from? I have proposed GA 2 months back here #100 (comment) and this was not raised!
where is this documented?
are there issues / PRs opened for these? or need to start from scratch?
dougwilson commentedon Apr 23, 2020
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 expressit 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 🤔gireeshpunathil commentedon Apr 23, 2020
@dougwilson -
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?
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.
are there issues / PRs opened for these? or need to start from scratch?
dougwilson commentedon Apr 23, 2020
Yes, those repos have them as open issues and PR (mainly PRs targeting the milestone).
gireeshpunathil commentedon Apr 23, 2020
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 forquery praser change in 5.0?dougwilson commentedon Apr 23, 2020
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.
gireeshpunathil commentedon Jun 17, 2020
I would like to resume this work. @dougwilson - when you get time, please let me know the latest list pre-requisites for 5!
dougwilson commentedon Jul 8, 2020
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.
gireeshpunathil commentedon Jul 9, 2020
I have extracted the outstanding items from expressjs/express#2237 (comment) as:
router.parampillarjs/router#92with 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
dougwilson commentedon Jul 27, 2020
I am locking this issue until the communications issues between myself and @gireeshpunathil are resolved.
UlisesGascon commentedon Apr 24, 2024
Next phase is in #233