Announcing Windows 10 Insider Preview Build 18985

Hello Windows Insiders, today we’re releasing Windows 10 Insider Preview Build 18985 (20H1) to Windows Insiders in the Fast ring.

IMPORTANT: As is normal with pre-release builds, these builds may contain bugs that might be painful for some. If you take this flight, you won’t be able to switch Slow or Release Preview rings without doing a clean-install on your PC.

If you want a complete look at what build is in which Insider ring, head over to Flight Hub. You can also check out the rest of our documentation here including a complete list of new features and updates that have gone out as part of Insider flights for the current development cycle.

Not seeing any of the features in this build? Check your Windows Insider Settings to make sure you’re on the Fast ring. Submit feedback here to let us know if things weren’t working the way you expected.

Improving your Bluetooth pairing experience

For Windows 10 version 1803, we announced a new streamlined experience for pairing supported Bluetooth devices. The idea was simple—if a supported device was nearby and in pairing mode, we’d show a notification that prompted you to go through pairing. This saved you from opening Settings yourself and finding the right place to go. Today, we’re rolling out an update with improvements we hope you’ll like.

Here’s what’s new:

  • Pairing is all done in notifications now. You don’t need to go to the Settings app anymore to finish pairing.
  • For faster pairing time, we improved the UI by showing one less notification.
  • We added a Dismiss button to the first notification to give you more control while using Swift Pair.
  • To make the notification more helpful, now we show the device name and category when we can.

We’re excited for Insiders to try it out and share feedback. This new experience is currently rolled out to 50% of Insiders, and we’ll let you know as the rollout increases. Supported devices include:

  • Surface Ergonomic Keyboard
  • Surface Precision Mouse
  • Microsoft Modern Mobile Mouse
  • Surface Mobile Mouse
  • Microsoft Arc Mouse
  • Surface Arc Mouse
  • Surface Headphones

Improving your optional update experience

As some Insiders have noticed, we’re working on making it easier for you to see all optional updates (including drivers, feature updates, and monthly non-security quality updates) in one place. Once optional updates are detected, they will be listed in a new page under Settings > Update & Security > Windows Update > View optional updates. For drivers, you no longer need to browse Device Manager for a specific device to update. Windows Update will automatically keep your drivers up-to-date, same as before, but if you’re having a problem one of those optional drivers might help.

Snip & Sketch app update

After spending time in both the Fast and Slow rings, we’re now starting to roll out Snip & Sketch version 10.1907 to 100% of Insiders in the Release Preview ring. We will also be rolling this update out to a small percentage of those using retail builds. As a reminder, this update includes two notable improvements based on your feedback:

  • Single window mode: We’ve heard that some of you prefer your previous snip to close when you click New in Snip & Sketch, so you don’t end up with a bunch of windows. Going forward, this will be the default option. If you liked having multiple windows, don’t worry! That’s still an option too if you go to Snip & Sketch settings.
  • Zoom support: You can now zoom in on your screenshots if they’re a bit too small for you to annotate on (and yes, touch, CTRL+Plus, CTRL+Minus and Ctrl+Mouse wheel are supported!) If you prefer keeping a small Snip & Sketch window, we’ll also zoom out to ensure the whole snip fits in the Snip & Sketch window.

Showing a small Snip & Sketch window, where the screenshot has been shrunk to fit the window.

What snipping improvement would you like us to work on next? Let us know! Fastest way to get to the right place is to select the “…” menu in Snip & Sketch, and then choose Send Feedback.

  • We fixed an issue where adding a new Language Pack reported successful installation but was not installed.
  • We fixed an issue impacting the reliability of Settings when accessing the Network & Internet section.
  • We fixed an issue that could result in printer entries not displaying properly for non-admin accounts—the text overlapping, and not being clickable.
  • We fixed an issue resulting in Task Manager showing an unexpectedly high temperature for certain GPUs.
  • We fixed an issue resulting in Task Manger unexpectedly showing 0% CPU usage in the Performance tab.
  • We fixed an issue where the setting that enables Microsoft accounts on your device to go Passwordless (by requiring Windows Hello sign in and hiding the password option from the lock screen) was showing for local account users. Now the setting will only show for Microsoft account users.
  • We fixed an issue with the Reset this PC cloud download option not calculating the correct amount of space you needed to free up if you did not have enough disk space to proceed.
  • We fixed an issue with the Reset this PC cloud download option not working when specific optional features were installed.
  • At this time, we’re removing our known issue about Realtek SD card readers. If you are still encountering issues with any SD cards, please take a moment to check for driver updates, and file feedback if that does not resolve it for you.
  • There has been an issue with older versions of anti-cheat software used with games where after updating to the latest 19H1 Insider Preview builds may cause PCs to experience crashes. We are working with partners on getting their software updated with a fix, and most games have released patches to prevent PCs from experiencing this issue. To minimize the chance of running into this issue, please make sure you are running the latest version of your games before attempting to update the operating system. We are also working with anti-cheat and game developers to resolve similar issues that may arise with the 20H1 Insider Preview builds and will work to minimize the likelihood of these issues in the future.
  • Certain 2D apps (like Feedback Hub, Microsoft Store, 3D Viewer) are incorrectly being treated as having protected content within Windows Mixed Reality. During video capture, these 2D apps block their content from being recorded.
  • When capturing a repro video while filing a bug via Feedback Hub in Windows Mixed Reality, you won’t be able to select Stop video, due to the protected content issue noted above. If you want to submit a repro video, you will need to wait 5 minutes for the recording to time out. If you’d like to file the bug without a repro video, you can close the Feedback Hub window to end the recording and resume filing your bug when you reopen the app in Feedback > Drafts.
  • When viewing Optional drivers in the new section on the Windows Update page, you may notice older drivers showing as available for download. If accepted, they will attempt to install and fail to do so. This is a bug related to revised Windows Update detection logic rather than this new UI. The root cause is understood, and a fix will be available in an upcoming build.

The Windows Insider webcast is back on Tuesday, September 24! We’ll be talking about the upcoming 5-year anniversary of the Windows Insider Program, and then we’ll have guests from deployment and one of our leads for the 20H1 Bug Bash.

Tune in at 10 a.m. PDT / 5 p.m. UTC on the Windows Insider Mixer channel!

No downtime for Hustle-As-A-Service,
Dona <3

Windows 10 SDK Preview Build 18980 available now!

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 18980 or greater). The Preview SDK Build 18980 contains bug fixes and under development changes to the API surface area.

The Preview SDK can be downloaded from developer section on Windows Insider.

For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.

  • This build works in conjunction with previously released SDKs and Visual Studio 2017 and 2019. You can install this SDK and still also continue to submit your apps that target Windows 10 build 1903 or earlier to the Microsoft Store.
  • The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2019 here.
  • This build of the Windows SDK will install on only on Windows 10 Insider Preview builds.
  • In order to assist with script access to the SDK, the ISO will also be able to be accessed through the following static URL: https://software-download.microsoft.com/download/sg/Windows_InsiderPreview_SDK_en-us_18980_1.iso.

Message Compiler (mc.exe)

  • Now detects the Unicode byte order mark (BOM) in .mc files. If the If the .mc file starts with a UTF-8 BOM, it will be read as a UTF-8 file. Otherwise, if it starts with a UTF-16LE BOM, it will be read as a UTF-16LE file. If the -u parameter was specified, it will be read as a UTF-16LE file. Otherwise, it will be read using the current code page (CP_ACP).
  • Now avoids one-definition-rule (ODR) problems in MC-generated C/C++ ETW helpers caused by conflicting configuration macros (e.g. when two .cpp files with conflicting definitions of MCGEN_EVENTWRITETRANSFER are linked into the same binary, the MC-generated ETW helpers will now respect the definition of MCGEN_EVENTWRITETRANSFER in each .cpp file instead of arbitrarily picking one or the other).

Windows Trace Preprocessor (tracewpp.exe)

  • Now supports Unicode input (.ini, .tpl, and source code) files. Input files starting with a UTF-8 or UTF-16 byte order mark (BOM) will be read as Unicode. Input files that do not start with a BOM will be read using the current code page (CP_ACP). For backwards-compatibility, if the -UnicodeIgnore command-line parameter is specified, files starting with a UTF-16 BOM will be treated as empty.
  • Now supports Unicode output (.tmh) files. By default, output files will be encoded using the current code page (CP_ACP). Use command-line parameters -cp:UTF-8 or -cp:UTF-16 to generate Unicode output files.
  • Behavior change: tracewpp now converts all input text to Unicode, performs processing in Unicode, and converts output text to the specified output encoding. Earlier versions of tracewpp avoided Unicode conversions and performed text processing assuming a single-byte character set. This may lead to behavior changes in cases where the input files do not conform to the current code page. In cases where this is a problem, consider converting the input files to UTF-8 (with BOM) and/or using the -cp:UTF-8 command-line parameter to avoid encoding ambiguity.

TraceLoggingProvider.h

  • Now avoids one-definition-rule (ODR) problems caused by conflicting configuration macros (e.g. when two .cpp files with conflicting definitions of TLG_EVENT_WRITE_TRANSFER are linked into the same binary, the TraceLoggingProvider.h helpers will now respect the definition of TLG_EVENT_WRITE_TRANSFER in each .cpp file instead of arbitrarily picking one or the other).
  • In C++ code, the TraceLoggingWrite macro has been updated to enable better code sharing between similar events using variadic templates.

Signing your apps with Device Guard Signing

  • We are making it easier for you to sign your app. Device Guard signing is a Device Guard feature that is available in Microsoft Store for Business and Education. Signing allows enterprises to guarantee every app comes from a trusted source. Our goal is to make signing your MSIX package easier. Documentation on Device Guard Signing can be found here: https://docs.microsoft.com/windows/msix/package/signing-package-device-guard-signing

Removal of api-ms-win-net-isolation-l1-1-0.lib

In this release api-ms-win-net-isolation-l1-1-0.lib has been removed from the Windows SDK. Apps that were linking against api-ms-win-net-isolation-l1-1-0.lib can switch to OneCoreUAP.lib as a replacement.

Removal of IRPROPS.LIB

In this release irprops.lib has been removed from the Windows SDK. Apps that were linking against irprops.lib can switch to bthprops.lib as a drop-in replacement.

The following APIs have been added to the platform since the release of Windows 10 SDK, version 1903, build 18362.

Additions

 namespace Windows.AI.MachineLearning { public sealed class LearningModelSessionOptions { bool CloseModelOnSessionCreation { get; set; } } } namespace Windows.ApplicationModel { public sealed class AppInfo { public static AppInfo Current { get; } Package Package { get; } public static AppInfo GetFromAppUserModelId(string appUserModelId); public static AppInfo GetFromAppUserModelIdForUser(User user, string appUserModelId); } public interface IAppInfoStatics public sealed class Package { StorageFolder EffectiveExternalLocation { get; } string EffectiveExternalPath { get; } string EffectivePath { get; } string InstalledPath { get; } bool IsStub { get; } StorageFolder MachineExternalLocation { get; } string MachineExternalPath { get; } string MutablePath { get; } StorageFolder UserExternalLocation { get; } string UserExternalPath { get; } IVectorView<AppListEntry> GetAppListEntries(); RandomAccessStreamReference GetLogoAsRandomAccessStreamReference(Size size); } } namespace Windows.ApplicationModel.AppService { public enum AppServiceConnectionStatus { AuthenticationError = 8, DisabledByPolicy = 10, NetworkNotAvailable = 9, WebServiceUnavailable = 11, } public enum AppServiceResponseStatus { AppUnavailable = 6, AuthenticationError = 7, DisabledByPolicy = 9, NetworkNotAvailable = 8, WebServiceUnavailable = 10, } public enum StatelessAppServiceResponseStatus { AuthenticationError = 11, DisabledByPolicy = 13, NetworkNotAvailable = 12, WebServiceUnavailable = 14, } } namespace Windows.ApplicationModel.Background { public sealed class BackgroundTaskBuilder { void SetTaskEntryPointClsid(Guid TaskEntryPoint); } public sealed class BluetoothLEAdvertisementPublisherTrigger : IBackgroundTrigger { bool IncludeTransmitPowerLevel { get; set; } bool IsAnonymous { get; set; } IReference<short> PreferredTransmitPowerLevelInDBm { get; set; } bool UseExtendedFormat { get; set; } } public sealed class BluetoothLEAdvertisementWatcherTrigger : IBackgroundTrigger { bool AllowExtendedAdvertisements { get; set; } } } namespace Windows.ApplicationModel.ConversationalAgent { public sealed class ActivationSignalDetectionConfiguration public enum ActivationSignalDetectionTrainingDataFormat public sealed class ActivationSignalDetector public enum ActivationSignalDetectorKind public enum ActivationSignalDetectorPowerState public sealed class ConversationalAgentDetectorManager public sealed class DetectionConfigurationAvailabilityChangedEventArgs public enum DetectionConfigurationAvailabilityChangeKind public sealed class DetectionConfigurationAvailabilityInfo public enum DetectionConfigurationTrainingStatus } namespace Windows.ApplicationModel.DataTransfer { public sealed class DataPackage { event TypedEventHandler<DataPackage, object> ShareCanceled; } } namespace Windows.Devices.Bluetooth { public sealed class BluetoothAdapter { bool IsExtendedAdvertisingSupported { get; } uint MaxAdvertisementDataLength { get; } } } namespace Windows.Devices.Bluetooth.Advertisement { public sealed class BluetoothLEAdvertisementPublisher { bool IncludeTransmitPowerLevel { get; set; } bool IsAnonymous { get; set; } IReference<short> PreferredTransmitPowerLevelInDBm { get; set; } bool UseExtendedAdvertisement { get; set; } } public sealed class BluetoothLEAdvertisementPublisherStatusChangedEventArgs { IReference<short> SelectedTransmitPowerLevelInDBm { get; } } public sealed class BluetoothLEAdvertisementReceivedEventArgs { BluetoothAddressType BluetoothAddressType { get; } bool IsAnonymous { get; } bool IsConnectable { get; } bool IsDirected { get; } bool IsScannable { get; } bool IsScanResponse { get; } IReference<short> TransmitPowerLevelInDBm { get; } } public enum BluetoothLEAdvertisementType { Extended = 5, } public sealed class BluetoothLEAdvertisementWatcher { bool AllowExtendedAdvertisements { get; set; } } public enum BluetoothLEScanningMode { None = 2, } } namespace Windows.Devices.Bluetooth.Background { public sealed class BluetoothLEAdvertisementPublisherTriggerDetails { IReference<short> SelectedTransmitPowerLevelInDBm { get; } } } namespace Windows.Devices.Display { public sealed class DisplayMonitor { bool IsDolbyVisionSupportedInHdrMode { get; } } } namespace Windows.Devices.Input { public sealed class PenButtonListener public sealed class PenDockedEventArgs public sealed class PenDockListener public sealed class PenTailButtonClickedEventArgs public sealed class PenTailButtonDoubleClickedEventArgs public sealed class PenTailButtonLongPressedEventArgs public sealed class PenUndockedEventArgs } namespace Windows.Devices.Sensors { public sealed class Accelerometer { AccelerometerDataThreshold ReportThreshold { get; } } public sealed class AccelerometerDataThreshold public sealed class Barometer { BarometerDataThreshold ReportThreshold { get; } } public sealed class BarometerDataThreshold public sealed class Compass { CompassDataThreshold ReportThreshold { get; } } public sealed class CompassDataThreshold public sealed class Gyrometer { GyrometerDataThreshold ReportThreshold { get; } } public sealed class GyrometerDataThreshold public sealed class Inclinometer { InclinometerDataThreshold ReportThreshold { get; } } public sealed class InclinometerDataThreshold public sealed class LightSensor { LightSensorDataThreshold ReportThreshold { get; } } public sealed class LightSensorDataThreshold public sealed class Magnetometer { MagnetometerDataThreshold ReportThreshold { get; } } public sealed class MagnetometerDataThreshold } namespace Windows.Foundation.Metadata { public sealed class AttributeNameAttribute : Attribute public sealed class FastAbiAttribute : Attribute public sealed class NoExceptionAttribute : Attribute } namespace Windows.Globalization { public sealed class Language { string AbbreviatedName { get; } public static IVector<string> GetMuiCompatibleLanguageListFromLanguageTags(IIterable<string> languageTags); } } namespace Windows.Graphics.Capture { public sealed class GraphicsCaptureSession : IClosable { bool IsCursorCaptureEnabled { get; set; } } } namespace Windows.Graphics.DirectX { public enum DirectXPixelFormat { SamplerFeedbackMinMipOpaque = 189, SamplerFeedbackMipRegionUsedOpaque = 190, } } namespace Windows.Graphics.Holographic { public sealed class HolographicFrame { HolographicFrameId Id { get; } } public struct HolographicFrameId public sealed class HolographicFrameRenderingReport public sealed class HolographicFrameScanoutMonitor : IClosable public sealed class HolographicFrameScanoutReport public sealed class HolographicSpace { HolographicFrameScanoutMonitor CreateFrameScanoutMonitor(uint maxQueuedReports); } } namespace Windows.Management.Deployment { public sealed class AddPackageOptions public enum DeploymentOptions : uint { StageInPlace = (uint)4194304, } public sealed class PackageManager { IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> AddPackageByUriAsync(Uri packageUri, AddPackageOptions options); IIterable<Package> FindProvisionedPackages(); PackageStubPreference GetPackageStubPreference(string packageFamilyName); IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RegisterPackageByNameAsync(string name, RegisterPackageOptions options); IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RegisterPackageByUriAsync(Uri manifestUri, RegisterPackageOptions options); IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RegisterPackagesByFullNameAsync(IIterable<string> packageFullNames, DeploymentOptions deploymentOptions); void SetPackageStubPreference(string packageFamilyName, PackageStubPreference useStub); IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> StagePackageByUriAsync(Uri packageUri, StagePackageOptions options); } public enum PackageStubPreference public enum PackageTypes : uint { All = (uint)4294967295, } public sealed class RegisterPackageOptions public enum RemovalOptions : uint { PreserveRoamableApplicationData = (uint)128, } public sealed class StagePackageOptions public enum StubPackageOption } namespace Windows.Media.Audio { public sealed class AudioPlaybackConnection : IClosable public sealed class AudioPlaybackConnectionOpenResult public enum AudioPlaybackConnectionOpenResultStatus public enum AudioPlaybackConnectionState } namespace Windows.Media.Capture { public sealed class MediaCapture : IClosable { MediaCaptureRelativePanelWatcher CreateRelativePanelWatcher(StreamingCaptureMode captureMode, DisplayRegion displayRegion); } public sealed class MediaCaptureInitializationSettings { Uri DeviceUri { get; set; } PasswordCredential DeviceUriPasswordCredential { get; set; } } public sealed class MediaCaptureRelativePanelWatcher : IClosable } namespace Windows.Media.Capture.Frames { public sealed class MediaFrameSourceInfo { Panel GetRelativePanel(DisplayRegion displayRegion); } } namespace Windows.Media.Devices { public sealed class PanelBasedOptimizationControl } namespace Windows.Media.MediaProperties { public static class MediaEncodingSubtypes { public static string Pgs { get; } public static string Srt { get; } public static string Ssa { get; } public static string VobSub { get; } } public sealed class TimedMetadataEncodingProperties : IMediaEncodingProperties { public static TimedMetadataEncodingProperties CreatePgs(); public static TimedMetadataEncodingProperties CreateSrt(); public static TimedMetadataEncodingProperties CreateSsa(byte[] formatUserData); public static TimedMetadataEncodingProperties CreateVobSub(byte[] formatUserData); } } namespace Windows.Networking.BackgroundTransfer { public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority { void RemoveRequestHeader(string headerName); void SetRequestHeader(string headerName, string headerValue); } public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority { void RemoveRequestHeader(string headerName); void SetRequestHeader(string headerName, string headerValue); } } namespace Windows.Networking.Connectivity { public enum NetworkAuthenticationType { Owe = 12, } } namespace Windows.Networking.NetworkOperators { public sealed class NetworkOperatorTetheringAccessPointConfiguration { TetheringWiFiBand Band { get; set; } bool IsBandSupported(TetheringWiFiBand band); IAsyncOperation<bool> IsBandSupportedAsync(TetheringWiFiBand band); } public sealed class NetworkOperatorTetheringManager { public static void DisableNoConnectionsTimeout(); public static IAsyncAction DisableNoConnectionsTimeoutAsync(); public static void EnableNoConnectionsTimeout(); public static IAsyncAction EnableNoConnectionsTimeoutAsync(); public static bool IsNoConnectionsTimeoutEnabled(); } public enum TetheringWiFiBand } namespace Windows.Networking.PushNotifications { public static class PushNotificationChannelManager { public static event EventHandler<PushNotificationChannelsRevokedEventArgs> ChannelsRevoked; } public sealed class PushNotificationChannelsRevokedEventArgs public sealed class RawNotification { IBuffer ContentBytes { get; } } } namespace Windows.Security.Authentication.Web.Core { public sealed class WebAccountMonitor { event TypedEventHandler<WebAccountMonitor, WebAccountEventArgs> AccountPictureUpdated; } } namespace Windows.Security.Isolation { public sealed class IsolatedWindowsEnvironment public enum IsolatedWindowsEnvironmentActivator public enum IsolatedWindowsEnvironmentAllowedClipboardFormats : uint public enum IsolatedWindowsEnvironmentAvailablePrinters : uint public enum IsolatedWindowsEnvironmentClipboardCopyPasteDirections : uint public struct IsolatedWindowsEnvironmentContract public struct IsolatedWindowsEnvironmentCreateProgress public sealed class IsolatedWindowsEnvironmentCreateResult public enum IsolatedWindowsEnvironmentCreateStatus public sealed class IsolatedWindowsEnvironmentFile public static class IsolatedWindowsEnvironmentHost public enum IsolatedWindowsEnvironmentHostError public sealed class IsolatedWindowsEnvironmentLaunchFileResult public enum IsolatedWindowsEnvironmentLaunchFileStatus public sealed class IsolatedWindowsEnvironmentOptions public static class IsolatedWindowsEnvironmentOwnerRegistration public sealed class IsolatedWindowsEnvironmentOwnerRegistrationData public sealed class IsolatedWindowsEnvironmentOwnerRegistrationResult public enum IsolatedWindowsEnvironmentOwnerRegistrationStatus public sealed class IsolatedWindowsEnvironmentProcess public enum IsolatedWindowsEnvironmentProcessState public enum IsolatedWindowsEnvironmentProgressState public sealed class IsolatedWindowsEnvironmentShareFolderRequestOptions public sealed class IsolatedWindowsEnvironmentShareFolderResult public enum IsolatedWindowsEnvironmentShareFolderStatus public sealed class IsolatedWindowsEnvironmentStartProcessResult public enum IsolatedWindowsEnvironmentStartProcessStatus public sealed class IsolatedWindowsEnvironmentTelemetryParameters public static class IsolatedWindowsHostMessenger public delegate void MessageReceivedCallback(Guid receiverId, IVectorView<object> message); } namespace Windows.Storage { public static class KnownFolders { public static IAsyncOperation<StorageFolder> GetFolderAsync(KnownFolderId folderId); public static IAsyncOperation<KnownFoldersAccessStatus> RequestAccessAsync(KnownFolderId folderId); public static IAsyncOperation<KnownFoldersAccessStatus> RequestAccessForUserAsync(User user, KnownFolderId folderId); } public enum KnownFoldersAccessStatus public sealed class StorageFile : IInputStreamReference, IRandomAccessStreamReference, IStorageFile, IStorageFile2, IStorageFilePropertiesWithAvailability, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider { public static IAsyncOperation<StorageFile> GetFileFromPathForUserAsync(User user, string path); } public sealed class StorageFolder : IStorageFolder, IStorageFolder2, IStorageFolderQueryOperations, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider { public static IAsyncOperation<StorageFolder> GetFolderFromPathForUserAsync(User user, string path); } } namespace Windows.Storage.Provider { public sealed class StorageProviderFileTypeInfo public sealed class StorageProviderSyncRootInfo { IVector<StorageProviderFileTypeInfo> FallbackFileTypeInfo { get; } } public static class StorageProviderSyncRootManager { public static bool IsSupported(); } } namespace Windows.System { public sealed class UserChangedEventArgs { IVectorView<UserWatcherUpdateKind> ChangedPropertyKinds { get; } } public enum UserWatcherUpdateKind } namespace Windows.UI.Composition.Interactions { public sealed class InteractionTracker : CompositionObject { int TryUpdatePosition(Vector3 value, InteractionTrackerClampingOption option, InteractionTrackerPositionUpdateOption posUpdateOption); } public enum InteractionTrackerPositionUpdateOption } namespace Windows.UI.Input { public sealed class CrossSlidingEventArgs { uint ContactCount { get; } } public sealed class DraggingEventArgs { uint ContactCount { get; } } public sealed class GestureRecognizer { uint HoldMaxContactCount { get; set; } uint HoldMinContactCount { get; set; } float HoldRadius { get; set; } TimeSpan HoldStartDelay { get; set; } uint TapMaxContactCount { get; set; } uint TapMinContactCount { get; set; } uint TranslationMaxContactCount { get; set; } uint TranslationMinContactCount { get; set; } } public sealed class HoldingEventArgs { uint ContactCount { get; } uint CurrentContactCount { get; } } public sealed class ManipulationCompletedEventArgs { uint ContactCount { get; } uint CurrentContactCount { get; } } public sealed class ManipulationInertiaStartingEventArgs { uint ContactCount { get; } } public sealed class ManipulationStartedEventArgs { uint ContactCount { get; } } public sealed class ManipulationUpdatedEventArgs { uint ContactCount { get; } uint CurrentContactCount { get; } } public sealed class RightTappedEventArgs { uint ContactCount { get; } } public sealed class SystemButtonEventController : AttachableInputObject public sealed class SystemFunctionButtonEventArgs public sealed class SystemFunctionLockChangedEventArgs public sealed class SystemFunctionLockIndicatorChangedEventArgs public sealed class TappedEventArgs { uint ContactCount { get; } } } namespace Windows.UI.Input.Inking { public sealed class InkModelerAttributes { bool UseVelocityBasedPressure { get; set; } } } namespace Windows.UI.Text { public enum RichEditMathMode public sealed class RichEditTextDocument : ITextDocument { void GetMath(out string value); void SetMath(string value); void SetMathMode(RichEditMathMode mode); } } namespace Windows.UI.ViewManagement { public sealed class ApplicationView { bool CriticalInputMismatch { get; set; } bool TemporaryInputMismatch { get; set; } void ApplyApplicationUserModelID(string value); } public sealed class UISettings { event TypedEventHandler<UISettings, UISettingsAnimationsEnabledChangedEventArgs> AnimationsEnabledChanged; event TypedEventHandler<UISettings, UISettingsMessageDurationChangedEventArgs> MessageDurationChanged; } public sealed class UISettingsAnimationsEnabledChangedEventArgs public sealed class UISettingsMessageDurationChangedEventArgs } namespace Windows.UI.ViewManagement.Core { public sealed class CoreInputView { event TypedEventHandler<CoreInputView, CoreInputViewHidingEventArgs> PrimaryViewHiding; event TypedEventHandler<CoreInputView, CoreInputViewShowingEventArgs> PrimaryViewShowing; } public sealed class CoreInputViewHidingEventArgs public enum CoreInputViewKind { Symbols = 4, } public sealed class CoreInputViewShowingEventArgs public sealed class UISettingsController } namespace Windows.UI.Xaml.Controls { public class HandwritingView : Control { UIElement HostUIElement { get; set; } public static DependencyProperty HostUIElementProperty { get; } CoreInputDeviceTypes InputDeviceTypes { get; set; } bool IsSwitchToKeyboardButtonVisible { get; set; } public static DependencyProperty IsSwitchToKeyboardButtonVisibleProperty { get; } double MinimumColorDifference { get; set; } public static DependencyProperty MinimumColorDifferenceProperty { get; } bool PreventAutomaticDismissal { get; set; } public static DependencyProperty PreventAutomaticDismissalProperty { get; } bool ShouldInjectEnterKey { get; set; } public static DependencyProperty ShouldInjectEnterKeyProperty { get; } event TypedEventHandler<HandwritingView, HandwritingViewCandidatesChangedEventArgs> CandidatesChanged; event TypedEventHandler<HandwritingView, HandwritingViewContentSizeChangingEventArgs> ContentSizeChanging; void SelectCandidate(uint index); void SetTrayDisplayMode(HandwritingViewTrayDisplayMode displayMode); } public sealed class HandwritingViewCandidatesChangedEventArgs public sealed class HandwritingViewContentSizeChangingEventArgs public enum HandwritingViewTrayDisplayMode } namespace Windows.UI.Xaml.Core.Direct { public enum XamlEventIndex { HandwritingView_ContentSizeChanging = 321, } public enum XamlPropertyIndex { HandwritingView_HostUIElement = 2395, HandwritingView_IsSwitchToKeyboardButtonVisible = 2393, HandwritingView_MinimumColorDifference = 2396, HandwritingView_PreventAutomaticDismissal = 2397, HandwritingView_ShouldInjectEnterKey = 2398, } } 

Windows Admin Center Preview 1909

Hello Windows Insiders! Thanks for staying up to date on the Windows Admin Center journey! This release contains incremental changes and quality improvements for the new functionality released in the preceding previews. Specific updates to Packetmon, and a couple visual changes are described below.

This will be the last preview release in anticipation of the next generally available release of Windows Admin Center coming in the next two months.

Specific connection type for Azure VMs

In new Add connection experience, Azure VMs are now a top-level connection type. This functionality previously lived under the “Azure” tab when adding a server. When a server is added this way, it appears in the connections list as “Server (Azure VM)” so you can easily see which of your servers are Azure VMs.

Unified connection type for clusters

The two separate connection types for hyper-converged clusters and failover clusters have been merged into a single, unified connection type. Clusters can be added as a “Windows Server cluster” and the appropriate tools will be loaded and available, primarily based on whether Storage Spaces Direct is enabled or not. Hyper-converged cluster connections and failover cluster connections added from previous versions of Windows Admin Center will be automatically migrated to the new cluster connection type.

For extension developers: Extensions that enable tools for failover cluster connections and/or hyper-converged cluster connections will require a minor code change to display the tools properly in the new cluster connection. Details on this will be provided soon.

Packetmon

There are several improvements in Packetmon:

  • New capture dialog wizard – users need to follow several steps to set the capture conditions: select specific components, set filters, choose dropped or all packets
  • Capture conditions button – opens a dialog which shows the conditions used to create the capture
  • Restart button – reuse same conditions to restart capture
  • Display filters dialog – further filter captured results
  • Save button – save the captured log in different formats
  • Packet details page now shows actual names of networking stack components

The Windows Admin Center ecosystem continues to grow with the recent release of several partner extensions.

IIS extension

We are excited to announce the first preview release of the IIS Extension for Windows Admin Center that provides the existing tools in IIS manager to administer and manage your web server. You can download and install the “msft.iis.iis-management” extension from the extension feed and If you are connecting to a machine to manage IIS for the first time, you will be prompted to install the IIS Administration API on the machine you wish to manage.

Lenovo XClarity Integrator extension is generally available

The Lenovo XClarity Integrator extension is now generally available with the v1.2.11 release. In addition to the existing capabilities to manage standalone servers and hyper-converged clusters, the following features have been added in this release:

  • In-band management for hardware inventory, events and alerts – Servers can be managed via PowerShell running in Windows Server. This allows server hardware management without the Lenovo XClarity Administrator.
  • Support for Lenovo XClarity Administrator version 2.5.0 for out-of-band management.

BiitOps Changes extension for server configuration change tracking

The BiitOps Changes extension is now officially available for customers. BiitOps Changes makes identifying and troubleshooting server incidents through Windows Admin Center an even quicker and simpler process through a powerful graphical change overview. Key features include:

  • Summarizes changes made to servers and/or services leading up to an incident
  • Shows changes – and changes only – in a simple, yet powerful graphical interface
  • Allows admins to quickly zoom in on specific changes for full details
  • Simple one-time installation, configuration and deployment for 24/7/365 monitoring
  • Highly secure with no data ever being passed from your local installation
  • Offered as a free trial for up to 10 servers

Learn more about BiitOps Changes here.

  • Dell EMC extension – The Dell EMC OpenManage Integration extension is not compatible with Windows Admin Center v1909 due to a breaking change in this version and will fail to install. Dell EMC will be releasing a new version soon. In the meantime, you can continue to use the Dell EMC extension on Windows Admin Center v1904.1 or v1908.
  • Cluster connections When adding a cluster connection, there is reference to creating a new cluster, however this functionality is not yet available. [23380016]
  • Azure Monitor onboarding If you’re managing a server or a cluster using “manage as” credentials, the onboarding may fail.
  • Network – If you have configured an Azure Network Adapter, the value under Microsoft Azure Virtual Network Gateway Address will be formatted as a hyperlink but leads to an invalid address. [20420185]
  • Chrome users may see 403 Forbidden response from WAC after upgrading. The workaround is to close *all* open chrome tabs (make sure there are no chrome.exe processes running). After restarting chrome, everything will function normally. We have an error message that makes this clear, but chrome users with multiple windows admin center tabs open during upgrade will not see the message.

Registered Insiders may download Windows Admin Center Preview 1909 directly from the Windows Server Insider Preview download page, under the Additional Downloads dropdown. If you have not yet registered as an Insider, see Getting Started with Windows Server on the Windows Insiders for Business portal.

The most important part of a frequent release cycle is to hear what’s working and what needs to be improved, so your feedback is extremely valued. Send us feedback via UserVoice. We also encourage you to visit the Windows Admin Center space on the Microsoft Tech Communities forum to collaborate, share and learn from experts.

All pre-release software made available to you via the Windows Server Insider program are governed by the Insider Terms of Use.

Thanks,
Dona and Brandon