-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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 proposal: v6.0.0 #1892
Release proposal: v6.0.0 #1892
Conversation
#1843 is in the list 3 times actually, it got landed as 3 separate commits so this is how it should show up in the changelog. 👌 #1844 isn't in the list because it hasn't landed. I don't follow enough of what's in there to jump in and land it myself. Happy for @joaocgreis to land it if he feels that you have both reached consensus on it, then it can be included here. |
We need #1811 in here too. |
It would be great if #1875 could make it into the release as well. Thanks! |
What else needs to land here? On the Python side, I see nothing that needs to be in 6.0.0. |
6633acc
to
27a2d15
Compare
I've pulled in the v5.0.4 release commit to If the Python items are done, let's get in #1902 (VS Express) and What's going to be the recommendation for npm on the jump to 6.0.0 (and nodejs/node following npm)? I don't really understand that piece. /cc @sam-github |
51f69c5
to
f4de705
Compare
f4de705
to
4517276
Compare
4517276
to
693a131
Compare
npm/cli#260 should land our current node-gyp v5.0.4 in npm/cli in the coming days. Once node-gyp v6.0.0 has released, we can ask @isaacs to repeat that process with v6.0.0. Each time that those PRs land, we (Sam ;-) ) will refresh nodejs/node /deps/npm/node_modules/node-gyp from the current npm/cli. We will also rebase nodejs/node#29451 until it is only contains changes to .travis.yml. |
npm 6.12 has been pushed back to the 8th by the look of it. So there's a choice here, do we roll ahead with a node-gyp@6 and see if we can get that into npm 6.12? Or wait until 6.12 so there's distinct releases of npm available with different python functionality? |
For me the Python delta between node-gyp v5.0.4 and v6.0.0 is small so it would be better to use the delay to get npm/cli to jump directly to v6.0.0. Perhaps @sam-github and @isaacs have a different impression. In any case, nodejs/node is dependent on npm/cli but nodejs/node-gyp is not so the node-gyp v6.0.0 release (this PR) is not blocked by npm/cli@dcff367 |
@nodejs/node-gyp anything else you want to get into a 6.0.0 before we push it out? May as well do it in the next day or two. |
Its not clear to me whether 6.x merely allows py3 to be chosen, or whether it prefers py3: #1844 (comment) If it merely allows, then I think npm should update to it, it won't break anything that wasn't already broken. If it prefers py3, that's a big change. I guess we'll find out how good the test coverage is, and if it turns out node-gyp doesn't have good py3 support, npm can roll back to node-gyp@5, or we can fix and update node-gyp@6. Most of the problems seen seem to be easy to fix. |
We should be very careful pushing v6 out, I don't think our test coverage is good enough to just trust it. FWIW, CitGM: @sam-github it prefers Python 3, the logic going forward is to use the latest. It looks for We could easily change the order for a few releases. But I'm not sure it makes sense, the users who would get the errors would be the ones without Python 2 installed, more likely to be new users clueless about what's going on. |
If this is the case, it prefers Python 2, because If the intention is to prefer Python 3, then the search order should be This latter order would align better with official Python recommendations (@cclauss link?) which are to always use either |
Python Enhancement Proposal (PEP) 394: On Windows... https://devblogs.microsoft.com/python/python-in-the-windows-10-may-2019-update/ On macOS... https://developer.apple.com/documentation/macos_release_notes
|
#1904 needs to be included here as well, there are known failures without it. |
OK, to be clear, we're good to go with v6? @sam-github your reservation is settled by knowing |
693a131
to
8e2da43
Compare
Merged the outstanding PRs in master, rebased this. I have a proposal up for a v5.0.5 in #1905, it includes everything that's not labelled semver-major and also excludes #1903 (see note there about that). I've updated the changelog which is now just semver-major commits and #1903 and I've dated this one the same as v5.0.5. The plan is to push out a v5.0.5 tomorrow and follow straight up with a v6.0.0 (after pulling in the v5.0.5 changelog entry into this branch). |
@rvagg I don't have really strong feelings, we can take small steps or large steps, but at this point @cclauss and I've talked ourselves into thinking that we should take only two steps, "allowing py 3" (5.x) and "preferring py 3" (6.x), see nodejs/node#25789 In which case, my concern is the opposite of what you said: that by having If instead we go with 6.x as it is now, then we'll have to follow up later with a 7.x that changes the search order. I've no big objections to that, but I'm thinking its too many "small semver-major" changes. Sorry, maybe you want a stronger opinion, but that's what I've got. |
I have even less strong feelings about that @sam-github! I'd be fine either way with finding |
8e2da43
to
0a4814b
Compare
👍 for the 5.x ship, and I will PR the rearrangement of search order for master/6.x |
I also don't have strong feelings. I'd like this to go as smoothly as possible to the users, but I'm not sure how to accomplish that. For v5.x, I think we should keep allowing only Python 2 to have a safe version to come back to if needed, otherwise I don't see much of a need to maintain a v5.x branch. For v6.x, I'm ok with both search orders. I don't think we'll need to change the order quickly in a v7.x, because we'll keep testing on Python 2 for a while. |
5.x must allow Python 3, otherwise the npm CLI won't allow Python 3, and people (us) are blocked from trying Python 3 out. I don't think its unsafe, becaue it will still try to find Python 2 first. That means anyone with an existing, working, Python 2 setup should see no changes. Anyone who has only Python 3 would previously have failed to get a build, but with the latest 5.x, they will now get a build.
If #1907 lands and is in 6.0.0 then I'm not aware of any further (7.x) semver-majors that will be required, at least, required because of Python! |
@joaocgreis Sorry, I just looked more closely at find-python in the 5.x branch... it still requires I think that's OK for the next couple weeks, but I would like to remove that ASAP from 5.x. |
@sam-github I'm ok with that. If I understand correctly, it's landing #1844 on v5.x changing the order to look for |
@joaocgreis What specific semver-major changes would you suggest on 5.x? I don't think adding Python 3 to the end of the search path is semver-major, so it should be good for 5.x. This is it, #1844 cherry picked to the v5.x branch, with the search order put back to Py3-after-Py2: #1910 The README change is here: #1908 (comment) and I agree it should go on 5.x. @rvagg ^---- and sorry, this is a 5.x discussion in a 6.x release proposal :-( |
@sam-github looking at it, it's only #1811, but it's not essential. No strong opinion about it. |
Unadorned `python` can be either Python 2 or Python 3, but it is likely to be Python 2 for quite a while. To find Python3, it is recommended to use the explicit name `python3`. See: - https://www.python.org/dev/peps/pep-0394/#for-python-runtime-distributors - #1892 (comment) PR-URL: #1907 Reviewed-By: Christian Clauss <[email protected]> Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: João Reis <[email protected]>
0a4814b
to
760e947
Compare
waiting for CI, if it doesn't take too long I'll push this out after 5.0.5, otherwise I'm going to have to go to bed and do this in the morning |
6.0.0 is out, good job all! |
Just a proposal at this stage, I expect there's more to go into this, but this is what it might look like:Due out on Oct 4th, UTC.
dd0e97ef0b
] - (SEMVER-MAJOR) lib: try to findpython
afterpython3
(Sam Roberts) #1907f60ed47d14
] - travis: add Python 3.5 and 3.6 tests on Linux (Christian Clauss) #1903c763ca1838
] - (SEMVER-MAJOR) doc: Declare that node-gyp is Python 3 compatible (cclauss) #18113d1c60ab81
] - (SEMVER-MAJOR) lib: accept Python 3 by default (João Reis) #1844c6e3b65a23
] - (SEMVER-MAJOR) lib: raise the minimum Python version from 2.6 to 2.7 (cclauss) #1818(EDIT: pulled in v5.0.4 as a foundation and removed the commits that are common on both)(EDIT: pulled in the v5.0.5 proposal from #1905 as a foundation and removed the commits that are common on both,
branch-diff rvagg/v5.0.5-proposal rvagg/v6.0.0-proposal
)