-
Notifications
You must be signed in to change notification settings - Fork 29.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
Drop OS X 10.5 and 10.6 support in 6.0 #5731
Comments
/cc @nodejs/build we were discussing OSX CI today and talking about going for a new hosting option that may enable testing back to 10.7. atm we only test 10.10 so it's hard to say we have "official" support for anything else. |
I don't think we officially support anything besides 10.10 and 10.11 right now, so I don't see much problem in us "dropping" working functionality on < 10.7 |
Can we confirm that node.js even builds on 10.5,10.6? We might encounter issues deviating from Chrome's (upstream's) decision process, but sticking with 10.7 as long as possible (libc++) would be nice. Hopefully we'll have test coverage for this soon enough. |
We build internally on 10.8 but that's as far back as we go. |
Note that everything up to 10.8 does not even receive security updates from Apple (for quite a long time, btw). Not exactly sure about 10.9, but it also looks like it's not supported by Apple anymore (I'm talking about the secruity updates now). 10.10 and 10.11 are fine. |
Why not drop everything up to 10.8 then? As I understood it, those are not supported by Chrome, and are not supported by Apple. |
@ChALkeR As I haven't seen node usage data for old Mac OS X versions, I didn't want to take a too aggressive stance in dropping support. I am comfortable asserting that we should not support <= 10.6. Based on the feedback here, this sound uncontroversial. There might be some value in being a bit more aggressive here and dropping support for <= 10.8. The build WG has decided to test as far back as 10.7, so we should align with or adjust that decision. @jbergstroem: was there a reason 10.7 was picked? |
@ofrobots just to make it clear: 10.7 is my opinion and not representing the build group. I'm happy to have a chat with the other guys and give a slightly more formal decision. The main problem for us right now is that we don't have enough hardware/os'es to test on. If your conclusion is that 10.8 is the better option then lets have that as baseline in this discussion instead. |
FYI - https://groups.google.com/forum/#!topic/v8-users/Io_bXZ2bGG4 v8 is raising minimum to 10.7 for 5.1. I think that's a good rational for moving to 10.7 as well but does not mean we can't pick a later one like 10.8 if that makes sense. |
Based on a quick look at OS support for Intel Macs I would recommend 10.7 as it seems every mac that can run 10.8 can be upgraded to 10.11 So 10.7 is the most likely case for a user being excluded by their hardware. |
Libuv is gunning for 10.7 as well: libuv/libuv#758 |
+1 on 10.7 onward then, but do we actually need to document this anywhere? afaik we don't maintain an official list, but we probably should do .. maybe this is something @nodejs/build should maintain. |
I'd preferably want to avoid taking this decision until we're actually testing OS X properly, but thats unrealistic in the near future. @rvagg: Yeah, might be time to revamp a supported os/toolchain list (as well as "known to work" which we with enough maturity/test coverage can grow into supported). That likely belongs with the @nodejs/build group. |
Note that Google dropped 10.7 and 10.8 support in Chrome 50. And we are using v8 5.0 in Node.js 6.0. I would vote for dropping support for 10.7 and 10.8 in 6.0 (if it's not too late). |
Agreed. It's not too late. v6 isn't out the door yet :-) |
Is the idea to raise |
@bnoordhuis Could we make it a warning instead? Both in the installer and in the console, perhaps. |
@ChALkeR Warning on start-up? Can do. From the installer? Don't know, not an installer guru. |
We're treading on loose ground. No testing in CI for 10.7 or 8 (or 9). Hard to tell what's working or not, what's tested or not. |
@jbergstroem Am I correct that the only tested version is 10.10? |
@ChALkeR yes. |
@jbergstroem So, what's your considerations, then? Are you saying that introducing a warning in 10.8 but not in 10.9 would make it seem like we actually test 10.9? @bnoordhuis Considering that, I think I would be fine with just bumping MACOSX_DEPLOYMENT_TARGET instead (probably to 10.9) and give the users the opportunity to build for 10.7/10.8 themselves, if they really need it (as with Windows XP). Perhaps we should discuss that at the next CTC meeting? We don't have much time before 6.0 release. |
Just so there is no misunderstanding here, raising |
@bnoordhuis Yes, that's exactly what I was thinking. |
I would rather suggest a documentation change saying that bugs reported with unsupported OS versions might not be supportable. Let us not go out of way to make it very hard for users to run this on older systems. |
+1 to the doc change for the time being.
|
@ofrobots @jasnell Perhaps we could mix it? E.g. exclude 10.5 and 10.6 via MACOSX_DEPLOYMENT_TARGET and other ones though the documentation? Though, as @jbergstroem noted, it's not clear what OS X versions are actually «supported», except for 10.10. |
@ChALkeR I'm just generally uncomfortable making claims or arguments on versions we don't test properly. The build group are trying to fill this space but until then I'm relying on others (like voices in this thread) to make a decision. |
If we're going to do this in v6 we need to get this in today. For now, I think I'm most comfortable only documenting that we do not guarantee that things will run on lower OSX levels. We can officially pull support for those later on. |
@jasnell Lower than which version? 10.10? |
Yes, given that we only test on 10.10 that's the minimum we can guarantee currently |
@jasnell That does look reasonable to me given the current situation with tests. |
@jasnell Would that mean that we will be able to bump MACOSX_DEPLOYMENT_TARGET later in 6.x branch or not? |
/cc @nodejs/documentation |
Since there's been no action on this yet I need to pull this off the 6.0.0 milestone. It would be great if we had a documentation update but this can't hold up the v6 release. |
@ofrobots @jbergstroem @bnoordhuis We can't state the supported versions in the documentation until those are actually tested — that is understood. But is there any chance that we could bump MACOSX_DEPLOYMENT_TARGET to 10.7 in 6.0? We can deal with documentation changes later, covering 10.7, 10.8 and 10.9, whatever we decide to do with those. We currently target 10.5. Libuv is going to drop 10.6 in v2: libuv/libuv#758. Would an update to libuv v2 force us to make a semver-major bump (i.e. 7.x)? |
Bumping it is trivial, that's just this patch: diff --git a/common.gypi b/common.gypi
index c06af68..4174e8c 100644
--- a/common.gypi
+++ b/common.gypi
@@ -311,7 +311,7 @@
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
'PREBINDING': 'NO', # No -Wl,-prebind
- 'MACOSX_DEPLOYMENT_TARGET': '10.5', # -mmacosx-version-min=10.5
+ 'MACOSX_DEPLOYMENT_TARGET': '10.7', # -mmacosx-version-min=10.7
'USE_HEADERMAP': 'NO',
'OTHER_CFLAGS': [
'-fno-strict-aliasing', Feel free to steal and PR if you feel strongly about the subject. |
@bnoordhuis Yes, I am aware that bumping is trivial (thanks for the exact patch, though!), but @ofrobots above explicitly stated that he is against a non-documentation change: #5731 (comment). This is why I decided to ask first. |
Oh, like that. I personally don't have a very strong opinion but if I had to make the decision, I'd refrain from bumping until we know for sure it doesn't build on older versions anymore. Just advertise clearly in the release notes that only OS X >= 10.8 (or 10.9 or 10.10) is supported. |
That we can't do for any version prior to 10.10, for the reasons @jbergstroem stated — CI only has 10.10. And stating that only 10.10 is supported would be a bit too harsh, perhaps. |
I can live with that (but then I don't use OS X much.) We'd have the same issue if we bumped MACOSX_DEPLOYMENT_TARGET to anything < 10.10. |
There is consensus on this issue that the minimum version should be bumped to at least 10.7. There has been some debate whether we should be more aggressive. I'm fine with the patch #5731 (comment) as proposed by @bnoordhuis. |
Refs: nodejs/build#367 libuv is going to drop 10.6 in v2. Ref: libuv/libuv#758 OS X versions below 10.9 are not supported by Apple anymore and do not receive security patches. PR-URL: #6402 Reviewed-By: Ali Ijaz Sheikh <[email protected]> Reviewed-By: Evan Lucas <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Myles Borins <[email protected]>
this was landed. Closing! |
Similar to #3804 proposing dropping support for Windows XP and Vista in 6.0. This would be a good time to also consider dropping support for Mac OS X 10.5 and 10.6.
/cc @nodejs/ctc
EDIT: typos.
The text was updated successfully, but these errors were encountered: