Drop Windows XP (and Vista) support in 6.0
ChALkeR opened this issue · 64 comments
I'm assuming that 6.0 target release date is around April 2016, based on this schedule.
- Windows XP does not receive security updates for more than 1½ years now. By the Node.js v6 release that would make 2 years. The platform itself is insecure, users should not be encouraged staying on it. Ref: http://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support
- Chrome will be dropping Windows XP and Vista support on April 2016. To my understanding, that would mean that any v8 updates (even the security-related ones) could break on Windows XP — they won't test it or care about it. Ref: http://chrome.blogspot.com/2015/11/updates-to-chrome-platform-support.html
- Currently, Windows XP (and Vista) support causes visible maintance burden, that's wasting developers time for no good reason. Refs: #2979, #2991 (comment), #3594 (comment), libuv/libuv#531 (comment), #909, #512, #4092.
- Whomever is still using Windows XP has more serious problems than not being able to run latest Node.js versions.
Can we get some stats from npm on how many users this would effect?
The main problem with finding stats on this is that the largest share of XP users are located in China where they have mirrors of npm and nodejs.org to use, so we can't see the real number.
Almost all enterprise sectors already migrated from XP and Vista to Win7 or even Win10, only where it can affect an anybody it's only home users.
+1
I will post the total stats of cnpm users today.
Biggest Chinese IaaS vendor Aliyun is also stopping supplying Windows Server 2003 servers[1]. So I'm +1 on dropping XP. Not sure about Vista though.
For Windows XP proponents I would say, there will be one day on which the feeling of looking back at Windows XP is just like that of today looking back at Windows 95.
I'm Chinese developer, we use "nw.js" create desktop application. If node 6.0 don't support Windows XP , then nw.js will not support soon. But we have 20% users still use windows XP now. So please support windows XP longer .
- registry.npm.taobao.org access.log can't detect
Windows XPrequest from npm cli's user agent.
218.66.59.149 - 10.159.63.124 [13/Nov/2015:17:56:16 +0800] "GET /babel-preset-es2015 HTTP/1.0" 304 0 "install babel-preset-es2015" "npm/2.14.9 node/v4.1.0 win32 x64"
- According npm.taobao.org web access.log detect
Windows XPfrom browser's user agent, only 0.02% requests.
$ wc -l access.log
678337
$ grep 'Windows NT 5.1' access.log | wc -l
139It may very well continue to work, but how are we supposed to actually
support it without V8 supporting it? We cannot guarantee anything at that
point.
Allen.M notifications@github.com schrieb am Fr., 13. Nov. 2015, 11:23:
I'm Chinese developer, we use "nw.js" create desktop application. If node
6.0 don't support Windows XP , then nw.js will not support soon. But we
have 20% users still use windows XP now. So please support windows XP
longer .—
Reply to this email directly or view it on GitHub
#3804 (comment).
@allenm I do not know nw.js well. To what extent does it depend on Chrome technologies? Could it still support XP when Chrome dropped support of XP?
According cnzz stats of https://npm.taobao.org (http://www.cnzz.com/stat/website.php?web_id=5874717)
- Windows Vista: 2.04%
- Windows XP: 0.87%
@pmq20 you should know http://www.dingtalk.com/, dingtalk is base on nw.js.
@fengmk2 Thanks for the information but they probably have to let Windows XP users use an old version of Dingding and drop the support of XP in newer versions, unless they divide not to adopt the latest Chrome technologies which is unlikely. See http://chrome.blogspot.com/2015/11/updates-to-chrome-platform-support.html?m=1
https://cnodejs.org/ is the biggest Node.js forum in China.
According to Google Analytics, 66% of our users use Windows.
and within these users, only 2.62% use Winxp, almost nobody use vista.
I think new version of Node.js should drop xp and vista support.
Looks like this is something we should work towards for 6.0.0 then.
The blog post linked before presents incorrect information about Vista. Vista is still supported by Microsoft, support ends in April 11, 2017, see http://windows.microsoft.com/en-us/windows/lifecycle.
(this doesn't change the fact that hardly anyone still uses it, though)
@mzgol Do you mean this:
… since these platforms are no longer actively supported by Microsoft …
Well, active support phase for Vista ended in 2012. Extended support is still available for Vista (but not for XP), and that includes paid support (for the non-security updates subscription) and security-only fixes (free).
Refs: http://windows.microsoft.com/en-us/windows/lifecycle, https://support.microsoft.com/en-us/gp/lifepolicy.
The article authors could have meant that.
Ah, so this is what "actively" means... OK, that explains a lot.
Question: does dropping support mean actively warning or something on those platforms, or just not caring anymore?
The problem with the latter is it may work for a while and then break, and people may complain.
I think it means they would be on their own. If support is dropped, it should be documented somewhere, so that when people complain, we can point them there. Also, +1 to dropping support.
A warning at runtime sounds like a reasonable idea, but it would also probably artificially break existing software, as opposed to an actual feature stopping to work. Someone somewhere is definitely relying on stderr behavior (assuming that's where the warning would be printed).
Docs should definitely be very upfront about this change.
The MSI installer could probably warn as well, since we are dealing with Windows.
A runtime warning sounds like a bad idea. v6 is far enough away that we can message it. A message in the installer sounds good too.
If we are going to do this, it needs to be documented and communicated as early as possible and when we flip that switch, the installer should simply abort with a descriptive message. If someone wishes to go off and build from source, then so be it, more power to them.
As a courtesy, we should give people advance notices if you decide to drop any platforms. @alsotang mentions that cnodejs.org is a major forum for node.js in China, it will be good to post some such discussions and solicit feedback. My 2 cents.
if microsoft continue support vista to 2017, then 4.2 lts continue support
it too.
but newer version I think we can face to future
2015-11-14 9:54 GMT+08:00 ivy ho notifications@github.com:
As a courtesy, we should give people advance notices if you decide to drop
any platforms. @alsotang https://github.com/alsotang mentions that
cnodejs.org is a major forum for node.js in China, it will be good to
post some such discussions and solicit feedback. My 2 cents.—
Reply to this email directly or view it on GitHub
#3804 (comment).
FWIW, I'm +1 here. This would allow libuv to drop XP / Vista support in v2, while keeping it in v1.x, which LTS can continue to use.
+1
What are the next steps needed to come to an actual decision here?
Pretty certain the decision is made, we just need to figure out the method
now.
On Nov 25, 2015 7:28 AM, "Colin Ihrig" notifications@github.com wrote:
What are the next steps needed to come to an actual decision here?
—
Reply to this email directly or view it on GitHub
#3804 (comment).
If we're dropping support, I think all we actively need to do is begin messaging it ASAP.
It would be good to have a documented framework that could apply to other platforms/versions as well, spelling out which platforms/versions are actively maintained. I assume that there would be different stages in the maintenance lifecycle. Is this a job for the LTS working group?
In any case, I think what we are suggesting here is that Windows XP is past the last stage of any imaginable support cycle. This could be messaged as "collaborators are committing no efforts to ensuring that it works". Does this mean that we should reject PRs that attempt to keep it working? If so, we might as well change the MSI so that it refuses to install on XP.
My first thought is to still allow PRs from the community that maintain support. However, that would still require collaborator efforts to review and land. There also won't be any CI (not that there is now anyway) to verify that it fixes anything on XP. It might be best to make a clean separation, rather than having a string of releases with varying degrees of XP compatibility.
If we are going to cut support for it, we'd might as well do it entirely, I think?
yeah, drop xp entirely.
support xp partially or voguely is even worse
2015-11-26 3:17 GMT+08:00 Jeremiah Senkpiel notifications@github.com:
If we are going to cut support for it, we'd might as well do it entirely,
I think?—
Reply to this email directly or view it on GitHub
#3804 (comment).
Well, I still have (and need to have :/ ) a machine running Windows XP and it was running node.js recent versions quite happily. I use it to compile some older software so I have SDKs installed; I am happy to test and help fixing tests as long as it is still running.
I think the process to drop Windows XP support should start with listing unfixed bugs, and only if nobody volunteers to help fixing these, the support is then dropped.
That still requires effort on the part of contributors and collaborators. Reviewer time is scarce enough as it is so if we're going to drop XP, it should be dropped fully and completely - no half measures.
Definitely in favor of a clean cut. Otherwise, we would not be able to
refer people to a specific version of node when on XP (this version should
also be linked in a potential platform chart for discovery purposes). I
previously suggested adding a check in the MSI to prevent support requests
for an unsupported platform.
Ben Noordhuis notifications@github.com schrieb am Do., 26. Nov. 2015,
16:20:
That still requires effort on the part of contributors and collaborators.
Reviewer time is scarce enough as it is so if we're going to drop XP, it
should be dropped fully and completely - no half measures.—
Reply to this email directly or view it on GitHub
#3804 (comment).
This doesn't seem to be controversial, but pinging @nodejs/ctc for due diligence. The proposal is to drop support for Windows XP, and add checks in the MSI and possibly node.exe to prevent it from installing/running on XP altogether.
We should also clarify the Vista situation, as it is mentioned in the subject and original report.
+1 for dropping XP support entirely. Microsoft doesn't even support it at all anymore (not even security updates). It's time to move on.
Vista however is still supported by Microsoft until April 11, 2017, so we should probably continue supporting it for at least that long.
+1
@ChALkeR The link you provided says that "active" support for Vista from Microsoft no longer exists, which isn't quite true. Mainstream support has ended, but extended support still exists, which means Vista will still receive security updates through April 11, 2017.
Perhaps @s3ththompson can help clarify v8's stance on its support for Vista (down the road)?
Vista is almost dead as well as XP, even with useless support till 2017.
@mscdex I don't understand you, sorry. I am aware that XP does not receive security updates for more than 1½ years and that Vista will receive security updates for a bit less than 1½ years. I wrote that above, in fact.
What about this part:
Chrome will be dropping Windows XP and Vista support on April 2016.
Will v8 support Vista after April 2016 or would that have to be done by Node.js developers?
/cc @nodejs/v8.
And yes, Vista is more dead than XP, if you count the userbase.
We don't actively test Vista so we won't know about breakage until someone reports it. I'm not that worried about V8, it has relatively little platform-specific code. I'm sure we can keep it working on Vista for another year if we wanted to.
I'm not convinced we have full +1 coverage on this. Let's do ctc-agenda for this and get it properly covered so we're all on the same page.
Resolution from today's CTC meeting: v6.0 will drop XP and Vista support, marketing to start getting the word out.
@orangemocha will follow up with a pull request to kill support for those platforms. I'll leave this issue open until said PR lands.
Yay =).
PR needs a LGTM: #5167
PR landed. Goodbye XP, RIP
I am going to waste about 2 days to move my application to a new server because you dropped support of Windows Server 2008 as well. Thank you.
@RoboBurned You mean 2008 or 2008 R2? 2008 R2 should still be supported.
Note that Node.js 4.x LTS is not affected by this change and is supported until April 2018.
Windows 2008 R2 / Windows 7 or later requirement for Node.js 6.x and later was imposed by upstream v8: https://support.google.com/chrome/a/answer/7100626.
@gdl-888 how to fake?
Better and permanant way than faking.
@hlizard https://github.com/gdl-888/run-node-v6-windows-xp/blob/master/README.md
@gdl-888 Thank you for your tip. Now I remove the restrictions directly through compilation,
even to version v8.6.0, see https://github.com/hlizard/node8-xp





