Adding 'linux' and 'windows' to TargetPlatform enum

Summary

Context

Description of change

Migration guide

Timeline

References

Summary

Two new values were added to the TargetPlatform enum
that could require additional cases in switch statements that
switch on a TargetPlatform and don’t include a default: case.

Context

Prior to this change, the TargetPlatform enum only contained four values,
and was defined like this:

enum

TargetPlatform

android

fuchsia

iOS

macOS

A switch statement only needed to handle these cases,
and desktop applications that wanted to run on Linux or
Windows usually had a test like this in their
main() method:

// Sets a platform override for desktop to avoid exceptions. See