-
-
Notifications
You must be signed in to change notification settings - Fork 654
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
Store Windows 10 builds as strings, and map build IDs to them #11799
Conversation
2009: 19042, | ||
"15H1": 10240, | ||
"15H2": 10586, | ||
"16H2": 14393, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope - see an earlier comment.
Cc @josephsl. |
Hi, For 1507, 1511, and 1607: no, they are incorrect strings. The authoritative source for version strings is: Thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Although consistency and compatibility are important, it is better to use publicly available documentation. As for build numbers (not exactly called build ID's), yes, we need to look for these and change them, perhaps in 2021.1 cycle.
2009: 19042, | ||
"15H1": 10240, | ||
"15H2": 10586, | ||
"16H2": 14393, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope - see an earlier comment.
OK, so how should 15/16xx builds be handled? Choices:
|
Hi, I think it would makes sense to go with what is publicly available instead of imposing our own version strings. After all, because NVDA's source code is public, people would understand certain things about Windows 10 through the screen reader source code, thus improving our credibility. At the same time, we have to be careful about presenting public information from another entity, and it makes more sense to show that NVDA is compliant with what is already out there instead of inventing our own wheel. Thanks. |
I don't understand the purpose of this approach. Unless the version string on older releases of Windows is being changed retroactively (IE Microsoft decides to change the name of '1909' to '19H2'), which I doubt they would do. As I understand it, these version strings should be thought of only as opaque unique tokens from a programmatic point of view. They happen to encode information that humans can consume, but this extra information generally shouldn't be relied on by programs, there are other sources to use for that. The version string scheme can change at any point, eg how 20H2 did, the next version might be called 'Fred' for all we know, it would still be unique and could be tied to a build number. There may need to be a 22H1a and a 22H1b for instance. For strict ordering, the build number should be used instead.
Can you describe what you mean by this? There also seems to be quite a bit of confused terminology going on, it would be really useful to define the terms you are using in the PR description so we can all first get on the same page. |
Closing in favour of a different approach (currently being discussed in #11796). |
Convenience methods and types have been added to the winVersion module for getting and comparing Windows versions. - isWin10 function found in winVersion module has been removed. - class winVersion.WinVersion is a comparable and order-able type encapsulating Windows version information. - Function winVersion.getWinVer has been added to get a winVersion.WinVersion representing the currently running OS. - Convenience constants have been added for known Windows releases, see winVersion.WIN* constants. Closes #11795 Closes #11837 Closes #11933 Replaces #11796 Replaces #11799
Link to issue number:
Fixes #11795. Alternative to #11796.
Summary of the issue:
As of 20H2, Microsoft now prefers xxHy notation (20H2) for Windows 10 versions instead of build IDs (2009).
Description of how this pull request fixes the issue:
Windows 10 version map keys are now in xxHy form. To maintain backward compatibility (and handle nonconformant build IDs like 2004), build IDs are logically mapped to their corresponding xxHy string.
Also, edited
log.error
call to use formatted string literals.Testing performed:
Tested in source code version under 20H2 with the following conditions:
Known issues with pull request:
Change log entry:
== Changes for Developers ==