Standard: .Net Framework 4.6.2 omitted from the table

Created on 4 Jan 2017  路  7Comments  路  Source: dotnet/standard

https://github.com/dotnet/standard/blob/master/docs/versions.md

For completeness need to say where it fits.
What .Net Standard does it support?
If I am currently using .Net Framework 4.6.2. but want the same codebase to run on Core what Standadr does this imply?

Ignoring this supported product is not acceptable

Most helpful comment

@Mattacks

while you say "it's obvious that a patch update 4.6.2 will not remove those APIs" - the blog post I referred explicitly states that support for APIs is lesser in 4.6.2 than 4.6.1

You're correct that the blog post did say that, but based on a lot of community feedback we've decided not to pursue this break and instead have a simpler model that follows the developer's expectation/intuition.

Given the .NET versioning rules, the standard is explicit in that if a lower version of a platform supported a given version of the standard, a higher version of said platform will at least support the same version of .NET Standard. Listing this explicitly would become quite noisy, especially for platforms with many patches.

Thus, I'm inclined not start adding interim entries in the table -- it's already complex enough 馃槃

All 7 comments

.NET Framework 4.6.2 will support .NET Standard 2.0. It is implied that if 4.6.1 supports .NET Standard 2.0, so will .NET 4.6.2..

@Mattacks think of it this way:

|.NET Platform | 1.0| 1.1| 1.2| 1.3| 1.4| 1.5| 1.6| 2.0|
|:--------------------------|-----:|-----:|-----:|-----:|-----:|-----:|-----:|-----:|
|.NET Core |→|→|→|→|→|→| 1.0+| vNext|
|.NET Framework |→| 4.5+ | 4.5.1+| 4.6+|→|→|→| 4.6.1+|
|Mono |→|→|→|→|→|→| 4.6+| vNext|
|Xamarin.iOS |→|→|→|→|→|→| 10.0+| vNext|
|Xamarin.Android |→|→|→|→|→|→| 7.0+| vNext|
|Universal Windows Platform |→|→|→|→| 10.0+|→|→| vNext|
|Windows |→| 8.0+| 8.1+| | | | | |
|Windows Phone |→|→| 8.1+| | | | | |
|Windows Phone Silverlight | 8.0+| | | | | | | |

All the original table is showing is the minimum required version of the .NET Framework needed to support .NET Standard 2.0. Obviously a .NET Framework version later than the minimum will not stop meeting that minimum requirement.

@Petermarcu - this is a standard - stuff needs to be explicit, not implicit
@jnm2 - If you say so. But it is of course different from the original announcement
https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
which is at the top when I do a WWW search for '.Net Standard'

this is a standard - stuff needs to be explicit, not implicit

It's so obvious, it would just be confusing to list. If 4.6.1 has enough APIs to support something, it's obvious that a patch update 4.6.2 will not remove those APIs. Removing APIs is the only way 4.6.2 could become incompatible.

I'm pretty sure this is explicitly called out too, that frameworks only make forward progress. If a break occurs, it always occurs on a major version change and is explicitly highlighted, but that is unusual and may never happen.

@jmn2 While you say "it's obvious that a patch update 4.6.2 will not remove those APIs" - the blog post I referred explicitly states that support for APIs is lesser in 4.6.2 than 4.6.1

Multiple Microsoft internal resources also told me the same thing. To them, also, it was not 'obvious'.

Again, specifications and standards must always be explicit.

@Mattacks

While you say "it's obvious that a patch update 4.6.2 will not remove those APIs" - the blog post I referred explicitly states that support for APIs is lesser in 4.6.2 than 4.6.1

Multiple Microsoft internal resources also told me the same thing. To them, also, it was not 'obvious'.

No APIs were dropped between 4.6.1 and 4.6.2: https://github.com/Microsoft/dotnet/blob/master/releases/net462/dotnet462-api-changes.md. If APIs were dropped, it would be grievous abuse of the patch version change.

APIs were going to be dropped in .NET Standard 2.0 at one time, but 1) that's a major version change and 2) that has nothing to do with a .NET Standard implementation like the .NET Framework or .NET Core dropping APIs.

@Mattacks

while you say "it's obvious that a patch update 4.6.2 will not remove those APIs" - the blog post I referred explicitly states that support for APIs is lesser in 4.6.2 than 4.6.1

You're correct that the blog post did say that, but based on a lot of community feedback we've decided not to pursue this break and instead have a simpler model that follows the developer's expectation/intuition.

Given the .NET versioning rules, the standard is explicit in that if a lower version of a platform supported a given version of the standard, a higher version of said platform will at least support the same version of .NET Standard. Listing this explicitly would become quite noisy, especially for platforms with many patches.

Thus, I'm inclined not start adding interim entries in the table -- it's already complex enough 馃槃

Was this page helpful?
0 / 5 - 0 ratings