Upcoming changes to driver metadata and publishing validations in Windows Hardware Dev Center



 Microsoft Hardware Dev Center:

We're making improvements to how the Windows Hardware Dev Center (HDC) handles driver OS compatibility. These changes will help reduce driver installation failures caused by drivers being offered to Windows versions outside their supported range.

This post explains what's changing, what you need to know, and what — if any — action you may need to take.

What's changing

New field in HardwareDriverMetadata: CeilingOSCode


We are adding a new nullable string property, CeilingOSCode, to the per-PnP entries in the HardwareDriverMetadata asset (documented at Driver package metadata ). This field represents the maximum OS version that a given hardware ID (PnP) supports, as determined by the INF file's OS version decorators.

Note: The CeilingOsCode field will only be populated for packages submitted after the feature rollout date. Packages submitted before this date will not have this field in their metadata — it will not be backfilled for existing submissions.

If you use the Hardware Dev Center API to retrieve driver metadata — via Get a submission  (the driverMetadata link) or Create Publisher Metadata  — the OSPnPInfoMap entries in the response will now include this additional property.

Example — before:

Code:
Response excerpt:
"OSPnPInfoMap": {
"WINDOWS_v100_RS3_FULL": {
"pci\\ven_test&dev_abcd": {
"Manufacturer": "RAID",
"DeviceDescription": "Virtual Raid Adapter",
"FeatureScore": null
}
 }
}

Example — after:

Code:
Response excerpt:
"OSPnPInfoMap": {
"WINDOWS_v100_RS3_FULL": {
"pci\\ven_test&dev_abcd": {
"Manufacturer": "RAID",
"DeviceDescription": "Virtual Raid Adapter",
"FeatureScore": null,
"CeilingOsCode": "WINDOWS_v100_X64_20H1_FULL"
 }
}
 }

Do I need to take action?
  • In most cases, no. This is an additive change. The new property is nullable — it will be null when no OS ceiling is detected for a hardware ID. Standard JSON parsers (including Newtonsoft.Json and System.Text.Json) handle new, unknown properties gracefully by ignoring them.
  • If your tooling uses strict JSON validation that rejects unknown properties, you may need to update your deserialization logic to allow the new CeilingOSCode field.
⚠️ Important: Avoid strict JSON parsing

The Hardware Dev Center API may add new properties to responses at any time as part of non-breaking, additive changes. Your client must not use strict JSON deserialization that rejects unknown properties.
  • System.Text.Json — Do not set JsonSerializerOptions.UnmappedMemberHandling = JsonUnmappedMemberHandling.Disallow. The default behavior (ignoring unknown properties) is correct.
  • Newtonsoft.Json — Do not set MissingMemberHandling = MissingMemberHandling.Error. The default behavior is correct.
  • General — If you use schema validation or strict contracts, ensure they allow additional properties.
This applies to all Hardware Dev Center API responses, not just this change.

What CeilingOSCode means

When your INF file contains multiple OS-decorated [Manufacturer] sections, each hardware ID is only applicable within a specific OS range. The CeilingOSCode reflects the upper bound of that range — the first OS version where the hardware ID is no longer listed in the INF.

CeilingOsCode value​
Meaning​
"WINDOWS_v100_X64_20H1_FULL"This hardware ID is supported up to but not including Windows 10 20H1 (build 19041) for x64
nullNo upper bound detected — the hardware ID is supported on all OS versions from its floor onward
(field absent)The package was submitted before the feature rollout and metadata has not been regenerated

Example

Consider an INF with two OS-decorated manufacturer sections:

Code:
[Manufacturer]
%MfgName% = Models, NTamd64.10.0...17763, NTamd64.10.0...25952
 
[Models.NTamd64.10.0...17763]
%DevDesc% = Install, PCI\VEN_8086&DEV_1234 ; present from build 17763
 
[Models.NTamd64.10.0...25952]
; PCI\VEN_8086&DEV_1234 is NOT listed here ; absent from build 25952 onward

In this case, PCI\VEN_8086&DEV_1234 is only applicable for OS builds in the range [17763, 25952). The CeilingOsCode for this hardware ID would reflect the upper bound of that range.

Rollout plan​

Starting May 8, 2026, the HardwareDriverMetadata response will include the new CeilingOsCode field on each PnP entry in OSPnPInfoMap for packages submitted on or after that date. This field will not be backfilled — metadata for packages submitted before this date will remain unchanged and will not include CeilingOsCode.

Note: We plan to use this ceiling data to improve driver targeting accuracy on Windows Update. We will communicate those changes separately as they approach rollout.

What you should do now
  1. Review your JSON parsing logic. If you consume HardwareDriverMetadata via the Hardware Dev Center API (as described in Driver package metadata ) and use strict schema validation, update your parser to accept the new CeilingOSCode property in OSPnPInfoMap entries.
  2. No changes are required to your driver packages, INF files, or shipping labels at this time.
  3. No resubmission is required, but if you want your existing packages to take advantage of the improved OS ceiling targeting, you should resubmit them after the rollout date. The CeilingOsCode field will only be populated for packages submitted on or after that date — metadata for previously submitted packages will not change unless resubmitted.
Questions or feedback?

If you have questions about these changes or encounter issues, please reach out through the support channel Support for Partner Center Dashboard - Windows drivers | Microsoft Learn.


 Source:

 
Microsoft have been working on these significant changes to drivers in Windows for a while now tightening the Windows driver stack.

It seems that by adding a “CeilingOSCode” to every new driver submission, Windows will now enforce the maximum OS version a driver supports. That means older or loosely‑maintained drivers won’t be offered anymore unless vendors resubmit them under the new rules.

Nothing breaks today, but the direction is clear: Windows is probably moving toward a locked‑down, fully validated driver ecosystem where only WHCP‑approved, metadata‑clean drivers get through. Legacy hardware and modded drivers may feel these changes first.
 
Last edited:

My Computers

System One System Two

  • OS
    Windows 11 Pro 25H2
    Computer type
    PC/Desktop
    Manufacturer/Model
    Homebuilt
    CPU
    Intel Core i9 13900K
    Motherboard
    Asus ProArt Z790 Creator WiFi - Bios 3107
    Memory
    Corsair Dominator Platinum 64gb 5600MT/s DDR5 Dual Channel
    Graphics Card(s)
    Sapphire NITRO+ AMD Radeon RX 7900 XTX Vapor-X 24GB
    Sound Card
    External DAC: Cambridge Audio DACMagic200M - Headphone Amp: Topping L50
    Monitor(s) Displays
    Panasonic MX950 Mini LED 55" TV 120hz
    Screen Resolution
    3840 x 2160 120hz
    Hard Drives
    Samsung 980 Pro 2TB (OS)
    Samsung 980 Pro 1TB (Files)
    Lexar NZ790 4TB
    LaCie d2 Professional 6TB external - USB 3.1
    Seagate Expansion 16TB external - USB 3.2
    Seagate One Touch 18TB external HD - USB 3.0
    PSU
    Corsair RM1200x Shift
    Case
    Corsair RGB Smart Case 5000x (white)
    Cooling
    Corsair iCue H150i Elite Capellix XT
    Keyboard
    Incase Ergonomic USB (Microsoft clone)
    Mouse
    Logitech MX Master 3S
    Internet Speed
    Fibre 900/500 Mbps
    Browser
    Microsoft Edge Chromium
    Antivirus
    Bitdefender Total Security
    Other Info
    AMD Radeon Software & Drivers 26.1.1
    Hasleo Backup Suite
    Dashlane password manager
    Kensington Verimark fingerprint reader
    Logitech Brio 4K webcam
    Orico 10-port powered USB 3.0 hub
  • Operating System
    Windows 11 Pro 25H2
    Computer type
    Laptop
    Manufacturer/Model
    Asus Vivobook X1605VA
    CPU
    Intel® Core™ i9-13900H
    Motherboard
    Asus X1605VA bios 309
    Memory
    32GB DDR4-3200 Dual channel
    Graphics card(s)
    *Intel Iris Xᵉ Graphics G7
    Sound Card
    Realtek | Intel SST Bluetooth & USB
    Monitor(s) Displays
    16.0-inch, WUXGA 16:10 aspect ratio, IPS-level Panel
    Screen Resolution
    1920 x 1200 60hz
    Hard Drives
    512GB M.2 NVMe™ PCIe® 3.0 SSD
    Mouse
    Logitech MX Ergo Trackball
    Antivirus
    Bitdefender Total Security
    Other Info
    720p Webcam
    WiFi & USB to ethernet

My Computers

System One System Two

  • OS
    Windows 11 Pro for Workstations
    Computer type
    PC/Desktop
    Manufacturer/Model
    Custom self build
    CPU
    Intel i7-8700K 5 GHz
    Motherboard
    ASUS ROG Maximus XI Formula Z390
    Memory
    64 GB (4x16GB) G.SKILL TridentZ RGB DDR4 3600 MHz (F4-3600C18D-32GTZR)
    Graphics Card(s)
    ASUS ROG-STRIX-GTX1080TI-O11G-GAMING (11GB GDDR5X)
    Sound Card
    Integrated Digital Audio (S/PDIF)
    Monitor(s) Displays
    2 x Samsung Odyssey G75 27"
    Screen Resolution
    2560x1440
    Hard Drives
    1TB Samsung 990 PRO M.2,
    4TB Samsung 990 PRO M.2,
    TerraMaster F8 SSD Plus NAS
    PSU
    Seasonic Prime Titanium 850W
    Case
    Thermaltake Core P3 wall mounted
    Cooling
    Corsair Hydro H115i
    Keyboard
    Amazon Basics Wired Full Keyboard MD005
    Mouse
    Logitech MX Master 4
    Internet Speed
    2 Gbps Download and 100 Mbps Upload
    Browser
    Chrome and Edge
    Antivirus
    Microsoft Defender
    Other Info
    Logitech Z625 speaker system,
    Logitech BRIO 4K Pro webcam,
    HP Color LaserJet Pro MFP M477fdn,
    CyberPower CP1500PFCLCD
    Galaxy S23 Plus phone
  • Operating System
    Windows 11 Pro
    Computer type
    Laptop
    Manufacturer/Model
    Surface Laptop 7 Copilot+ PC
    CPU
    Snapdragon X Elite (12 core) 3.42 GHz
    Memory
    16 GB LPDDR5x-7467 MHz
    Monitor(s) Displays
    15" HDR
    Screen Resolution
    2496 x 1664
    Hard Drives
    1 TB SSD
    Internet Speed
    Wi-Fi 7 and Bluetooth 5.4
    Browser
    Chrome and Edge
    Antivirus
    Microsoft Defender

Latest Support Threads

Back
Top Bottom