Conversation
Move datetime sync function into core-unity module and rename to match the OSDCore naming convention. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…elper Add ConvertTo-TrimmedString utility function and move Initialize-OSDCloudDevice into core-unity, alongside a new Initialize-OSDCoreDevice function. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…elper Add ConvertTo-TrimmedString utility function and move Initialize-OSDCloudDevice into core-unity, alongside a new Initialize-OSDCoreDevice function. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…elper Add ConvertTo-TrimmedString utility function and move Initialize-OSDCloudDevice into core-unity, alongside a new Initialize-OSDCoreDevice function. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…elper Add ConvertTo-TrimmedString utility function and move Initialize-OSDCloudDevice into core-unity, alongside a new Initialize-OSDCoreDevice function. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Rename Get-OSDCoreDriverPacks to Get-ModuleCoreDriverPacks to align with module-level core catalog helper naming. Update Initialize-OSDCloudDeploy to call the renamed helper so driver pack selection continues to work with the new function name.
Initialize OSDCore operating system data during device initialization by enabling OSDCoreOperatingSystems loading and default cloud object selection. Update driver pack retrieval to use Get-ModuleCoreDriverPacks and remove the retired Sync-WinpeInternetDateTime helper.
Move operating system helper functions from private/core into private/core-operatingsystem and align module helper naming. Add Get-OSDCoreOperatingSystems and Set-OSDCoreOperatingSystemCloudObject to support centralized catalog selection and cloud object initialization workflows.
Add Update-RecastOSDCloudUSBCache to support refreshing OSDCloud USB cache content from the core device workflow.
Remove the markdown help page for Get-OSDCloudCache and update OSDCloud-help.xml to keep compiled module help aligned with the current command set.
Update OSDCloud module manifest metadata by incrementing ModuleVersion and refreshing the module description text block.
There was a problem hiding this comment.
Pull request overview
This PR introduces the 26.8.5.1 release entry and, beyond documentation, performs a broad refactor to the “core” device/cache, OS catalog, and driver-pack plumbing (renaming $global:OSDCloudDevice → $global:OSDCoreDevice, replacing Get-OSDCloudCache with Get-OSDCoreCacheContent, and reorganizing driver-pack/OS helpers).
Changes:
- Added the 26.8.5.1 changelog section and updated docs/instructions to reflect renamed core device/cache and Surface catalog tooling.
- Refactored device/global wiring and updated multiple workflows/UX scripts to use
$global:OSDCoreDeviceandGet-OSDCoreCacheContent. - Reorganized operating system + driver pack catalog helpers (new core-* functions, removed legacy helpers).
Reviewed changes
Copilot reviewed 54 out of 54 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates cmdlet/docs references to new cache cmdlet name. |
| OSDCloud/workflow/vNext/ui/MainWindow.xaml | Renames UI elements from OSDCloudDevice* to OSDCoreDevice*. |
| OSDCloud/workflow/vNext/ui/MainWindow.ps1 | Updates device/cache references to new core names and cmdlets. |
| OSDCloud/workflow/vNext-v2/ui/MainWindow.ps1 | Updates device globals to $global:OSDCoreDevice. |
| OSDCloud/workflow/vNext-v1/ui/MainWindow.ps1 | Updates device globals to $global:OSDCoreDevice. |
| OSDCloud/workflow/insiders/ux/MainWindow.ps1 | Updates device globals to $global:OSDCoreDevice. |
| OSDCloud/workflow/dev-device/ux/MainWindow.ps1 | Updates device globals to $global:OSDCoreDevice. |
| OSDCloud/workflow/dev-beta/ux/MainWindow.ps1 | Updates device globals to $global:OSDCoreDevice (incl. commented snippet). |
| OSDCloud/workflow/dev-alpha/ux/MainWindow.ps1 | Updates device globals to $global:OSDCoreDevice (incl. commented snippet). |
| OSDCloud/workflow/default/ux/MainWindow.ps1 | Updates device globals to $global:OSDCoreDevice. |
| OSDCloud/workflow/classic/ux/MainWindow.ps1 | Updates classic UX device/global references to $global:OSDCoreDevice. |
| OSDCloud/public/WinOS/Show-OSDCloudDeviceInfo.ps1 | Updates function to initialize/read $global:OSDCoreDevice. |
| OSDCloud/private/workflow/Invoke-OSDCloudWorkflowTask.ps1 | Updates workflow globals and analytics properties to use $OSDCoreDevice. |
| OSDCloud/private/steps/5-drivers/step-Save-WindowsDriver-MSUpdate.ps1 | Updates device manufacturer check to $global:OSDCoreDevice. |
| OSDCloud/private/steps/5-drivers/step-Save-WindowsDriver-Firmware.ps1 | Updates battery + firmware hardware ID reads to $global:OSDCoreDevice. |
| OSDCloud/private/steps/5-drivers/step-Add-WindowsDriver-OSDFolder.ps1 | Updates manufacturer/model/product reads to $global:OSDCoreDevice. |
| OSDCloud/private/steps/3-preinstall/step-preinstall-enablehighperformance.ps1 | Updates battery detection to $global:OSDCoreDevice. |
| OSDCloud/private/Initialize-OSDCloudDeploy.ps1 | Updates device init and driver pack lookup to new core helpers. |
| OSDCloud/private/disk/disk-osdcloud-v2.ps1 | Updates UEFI detection to $global:OSDCoreDevice. |
| OSDCloud/private/disk/disk-osdcloud-v1.ps1 | Updates UEFI detection to $global:OSDCoreDevice. |
| OSDCloud/private/datetime/Sync-InternetDateTime.ps1 | Removes legacy WinPE internet time sync helper. |
| OSDCloud/private/core/Get-OSDCloudCoreDriverPacks.ps1 | Removes legacy driver pack selector. |
| OSDCloud/private/core/Get-OSDCloudCatalogSurface.ps1 | Removes legacy Surface catalog scraper. |
| OSDCloud/private/core-operatingsystem/Set-OSDCoreOperatingSystemCloudObject.ps1 | Adds new OS selection helper for core OS catalog object. |
| OSDCloud/private/core-operatingsystem/Get-OSDCoreOperatingSystems.ps1 | Adds new parsed core OS catalog function. |
| OSDCloud/private/core-operatingsystem/Get-OSDCloudCoreOperatingSystems.ps1 | Updates help + switches to Get-ModuleCoreOperatingSystems. |
| OSDCloud/private/core-operatingsystem/Get-ModuleCoreOperatingSystems.ps1 | Updates help + normalizes/returns grouped OS catalog records. |
| OSDCloud/private/core-operatingsystem/dev/Get-OSDCloudDefaultOS.ps1 | Updates help text/structure. |
| OSDCloud/private/core-driverpack/Get-OSDCoreDriverPackCatalogSurface.ps1 | Adds new Surface driver pack catalog implementation with caching/live enrichment. |
| OSDCloud/private/core-driverpack/Get-OSDCoreDriverPackCatalogPanasonic.ps1 | Renames + adds LocalOnly/Force/local path parameters. |
| OSDCloud/private/core-driverpack/Get-OSDCoreDriverPackCatalogLenovo.ps1 | Renames + adds LocalOnly/Force/local path parameters. |
| OSDCloud/private/core-driverpack/Get-OSDCoreDriverPackCatalogHP.ps1 | Renames + adds LocalOnly/Force/local path parameters. |
| OSDCloud/private/core-driverpack/Get-OSDCoreDriverPackCatalogDell.ps1 | Renames + adds LocalOnly/Force/local path parameters. |
| OSDCloud/private/core-driverpack/Get-ModuleCoreDriverPacks.ps1 | Adds new driver pack selector using new per-OEM functions. |
| OSDCloud/private/core-device/Update-RecastOSDCloudUSBCache.ps1 | Adds new CLI workflow to validate/download OS + driver packs to USB cache. |
| OSDCloud/private/core-device/Test-OSDCoreCacheUSB.ps1 | Adds helper to detect if any cache drive is USB. |
| OSDCloud/private/core-device/Sync-OSDCoreDateTime.ps1 | Renames Sync-OSDCloudDateTime → Sync-OSDCoreDateTime. |
| OSDCloud/private/core-device/Initialize-OSDCoreDevice.ps1 | Refactors device initialization and adds cache/OS/driver-pack preload behavior. |
| OSDCloud/private/core-device/Get-OSDCoreCacheUSBPath.ps1 | Adds helper to locate eligible USB cache paths with free-space/fs constraints. |
| OSDCloud/private/core-device/Get-OSDCoreCacheDrive.ps1 | Adds helper to list cache drives and USB metadata. |
| OSDCloud/private/core-device/Get-OSDCoreCacheContent.ps1 | Renames Get-OSDCloudCache → Get-OSDCoreCacheContent and adds include/exclude/USB metadata + export. |
| OSDCloud/private/ConvertTo-TrimmedString.ps1 | Adds new shared string-trimming helper. |
| OSDCloud/OSDCloud.psd1 | Bumps version and updates exported function list/description. |
| OSDCloud/en-US/OSDCloud-help.xml | Updates generated help content (removes old cmdlet docs and adjusts Deploy-OSDCloud docs). |
| OSDCloud/docs/Show-OSDCloudDeviceInfo.md | Updates docs to refer to Initialize-OSDCoreDevice. |
| OSDCloud/docs/Get-OSDCloudCache.md | Removes legacy markdown help page for Get-OSDCloudCache. |
| CHANGELOG.md | Adds 26.8.5.1 release notes describing the refactor and removals. |
| .github/skills/add-surface-model/SKILL.md | Updates skill docs to new file paths + new Surface catalog function name. |
| .github/skills/add-surface-model/references/surface-catalog-rules.md | Updates Surface catalog guidance paths + runtime function name. |
| .github/skills/add-surface-model/assets/surface-model-template.json | Updates template wording to new surface.json path. |
| .github/prompts/osdcloud-update-driverpack-catalog.prompt.md | Updates prompt to new instruction file + updated catalog paths. |
| .github/instructions/workflow-tasks.instructions.md | Updates guidance to reference $global:OSDCoreDevice. |
| .github/instructions/osdcloud-catalog-update.instructions.md | Updates catalog-update guidance paths + function names. |
| .github/copilot-instructions.md | Updates documented key globals to $global:OSDCoreDevice. |
Suppressed comments (3)
OSDCloud/private/core-device/Initialize-OSDCoreDevice.ps1:641
- $ProcessorArchitecture is taken directly from $env:PROCESSOR_ARCHITECTURE (e.g., 'AMD64'), but Set-OSDCoreOperatingSystemCloudObject only allows 'amd64'/'arm64'. This call will fail parameter binding on common systems, preventing device initialization from completing. Normalize $ProcessorArchitecture (and use the normalized value for the catalog filter) before calling Set-OSDCoreOperatingSystemCloudObject.
OSDCloud/OSDCloud.psd1:34 - README.md and the changelog advertise new cache cmdlets (e.g., Get-OSDCoreCacheContent), but the module manifest’s FunctionsToExport list does not include them. With an explicit FunctionsToExport array, these functions will not be available to callers after Import-Module, and any external scripts that expect them will fail. Add the new public cmdlets to FunctionsToExport (at least Get-OSDCoreCacheContent; likely the related cache helpers and Update-RecastOSDCloudUSBCache as well).
FunctionsToExport = @(
# WinOS
'Deploy-OSDCloud',
'Get-OSDCloudModulePath',
'Get-OSDCloudModuleVersion',
'Show-OSDCloudDeviceInfo',
'Start-OSDCloudExplorer',
OSDCloud/private/core-device/Get-OSDCoreCacheContent.ps1:13
- Typo in help text: "retur ns" should be "returns".
Comment on lines
+66
to
+69
| [Parameter(Mandatory = $false)] | ||
| [ValidateNotNullOrEmpty()] | ||
| [ValidateSet('amd64','arm64')] | ||
| [string]$OSArchitecture = $env:PROCESSOR_ARCHITECTURE, |
Comment on lines
+40
to
+43
| [System.String]$OSDManufacturer = $global:OSDCoreDevice.OSDManufacturer, | ||
|
|
||
| [System.String]$ProcessorArchitecture = $env:PROCESSOR_ARCHITECTURE | ||
| ) |
Comment on lines
+25
to
+28
| param( | ||
| [Parameter(ValueFromPipeline = $true)] | ||
| $Value | ||
| ) |
Comment on lines
+5
to
+12
| ## 26.8.5.1 - August 5, 2026 | ||
|
|
||
| ### Added | ||
|
|
||
| - Added core device cache helpers: `Get-OSDCoreCacheContent`, `Get-OSDCoreCacheDrive`, `Get-OSDCoreCacheUSBPath`, and `Test-OSDCoreCacheUSB`. | ||
| - Added `Update-RecastOSDCloudUSBCache` for USB cache refresh and maintenance workflows. | ||
| - Added `ConvertTo-TrimmedString` private helper for normalized string handling. | ||
| - Added `Get-ModuleCoreDriverPacks` and `Get-OSDCoreDriverPackCatalogSurface` to the reorganized core driver pack pipeline. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CHANGELOG.mdTesting