Skip to content

cleanup: rename wsla -> wslc#14502

Draft
benhillis wants to merge 1 commit intofeature/wsl-for-appsfrom
user/benhill/wsla_wslc_rename
Draft

cleanup: rename wsla -> wslc#14502
benhillis wants to merge 1 commit intofeature/wsl-for-appsfrom
user/benhill/wsla_wslc_rename

Conversation

@benhillis
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings March 21, 2026 21:50
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR performs a repo-wide cleanup to rename the “WSLA” (Apps) surface area to “WSLC” (Containers), updating tests, COM interfaces, schemas, build/packaging, telemetry, and supporting infrastructure so the new naming is consistent across Windows and Linux components.

Changes:

  • Renames WSLA-prefixed COM/session/process/container types, macros, headers, and test categories to WSLC throughout the codebase.
  • Updates build/packaging artifacts (CMake, MSI/WiX, NuGet metadata, pipelines, CloudTest) to reference the renamed binaries/IDL outputs.
  • Adjusts related docs/resources/telemetry identifiers and applies some formatting-only refactors in touched code.

Reviewed changes

Copilot reviewed 141 out of 143 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/windows/wslc/e2e/WSLCE2EImageInspectTests.cpp Switches schema include/namespace and test class macro to WSLC.
test/windows/wslc/e2e/WSLCE2EImageDeleteTests.cpp Updates WSLC test macro and WSLC error code constant in expected output.
test/windows/wslc/e2e/WSLCE2EImageBuildTests.cpp Updates WSLC test macro; minor formatting refactor.
test/windows/wslc/e2e/WSLCE2EHelpers.h Switches schema include and helper return types to wslc_schema.
test/windows/wslc/e2e/WSLCE2EHelpers.cpp Switches helper implementations to wslc_schema types.
test/windows/wslc/e2e/WSLCE2EGlobalTests.cpp Updates test macro to WSLC.
test/windows/wslc/e2e/WSLCE2EContainerTests.cpp Updates test macro to WSLC.
test/windows/wslc/e2e/WSLCE2EContainerCreateTests.cpp Updates WSLC error codes and applies formatting-only refactors.
test/windows/wslc/WSLCCLIParserUnitTests.cpp Updates test macro to WSLC.
test/windows/wslc/WSLCCLIExecutionUnitTests.cpp Updates test macro and COM interface type to IWSLCSession.
test/windows/wslc/WSLCCLICommandUnitTests.cpp Updates test macro to WSLC.
test/windows/wslc/WSLCCLIArgumentUnitTests.cpp Updates includes and signal-validation APIs/enums from WSLA to WSLC.
test/windows/WslcSdkTests.cpp Updates test macro and expected WSLC error codes; formatting refactors.
test/windows/UnitTests.cpp Formatting-only refactors (indent/wrapping).
test/windows/Plan9Tests.cpp Formatting-only refactors (wrapping).
test/windows/NetworkTests.cpp Formatting-only refactors (wrapping).
test/windows/InstallerTests.cpp Updates WSLC naming in TODO/test names and formatting refactors.
test/windows/Common.h Renames WSLA_TEST_CLASS -> WSLC_TEST_CLASS, updates category and binary property name.
test/windows/Common.cpp Updates WER reports list to wslcsession.exe.
test/windows/CMakeLists.txt Switches test source file from WSLATests.cpp to WSLCTests.cpp.
src/windows/wslrelay/main.cpp Renames relay mode branch to WSLCPortRelay and updates callsite.
src/windows/wslrelay/localhost.h Renames RunWSLAPortRelay -> RunWSLCPortRelay.
src/windows/wslrelay/localhost.cpp Updates message types/structs and exported function name to WSLC.
src/windows/wslhost/main.cpp Formatting-only refactors (wrapping).
src/windows/wslcsession/resource.h Updates resource header comment to wslcsession.exe.
src/windows/wslcsession/main.rc Updates version strings/description for wslcsession.exe.
src/windows/wslcsession/main.cpp Renames factory class/types and telemetry provider usage to WSLC.
src/windows/wslcsession/application.manifest Adds manifest enabling long path awareness.
src/windows/wslcsession/WSLCVirtualMachine.h Renames VM/session/process/container references from WSLA to WSLC.
src/windows/wslcsession/WSLCSessionReference.h Renames session reference implementation types/interfaces to WSLC.
src/windows/wslcsession/WSLCSessionReference.cpp Updates implementation to WSLC interfaces/enums.
src/windows/wslcsession/WSLCSessionFactory.h Renames factory types/interfaces to WSLC.
src/windows/wslcsession/WSLCSessionFactory.cpp Updates implementation and log event name to WSLC.
src/windows/wslcsession/WSLCSession.h Renames session COM class and all API types to WSLC.
src/windows/wslcsession/WSLCProcessIO.h Renames process IO base type to WSLC and updates namespace/includes.
src/windows/wslcsession/WSLCProcessIO.cpp Updates includes/namespaces and WSLC fd constant usage.
src/windows/wslcsession/WSLCProcessControl.h Renames process control types and dependencies to WSLC.
src/windows/wslcsession/WSLCProcessControl.cpp Updates enums/messages/signals to WSLC.
src/windows/wslcsession/WSLCProcess.h Adds WSLC process COM wrapper type (renamed from WSLA).
src/windows/wslcsession/WSLCProcess.cpp Updates implementation naming and COM method signatures to WSLC.
src/windows/wslcsession/WSLCContainerMetadata.h Adds WSLC container metadata schema (renamed from WSLA).
src/windows/wslcsession/ServiceProcessLauncher.h Adds WSLC service process launcher wrapper (renamed from WSLA).
src/windows/wslcsession/ServiceProcessLauncher.cpp Updates launcher implementation to WSLC types/namespaces.
src/windows/wslcsession/PortRelayHandle.h Switches namespace from wsla -> wslc.
src/windows/wslcsession/PortRelayHandle.cpp Switches namespace usage to wslc.
src/windows/wslcsession/IORelay.h Switches namespace from wsla -> wslc.
src/windows/wslcsession/IORelay.cpp Switches namespace usage to wslc.
src/windows/wslcsession/DockerHTTPClient.h Switches namespace and updates WSLC signal/log flag types; formatting refactor.
src/windows/wslcsession/DockerHTTPClient.cpp Updates message types/macros to WSLC and debug macro name.
src/windows/wslcsession/ContainerEventTracker.h Switches namespace/types to WSLC.
src/windows/wslcsession/ContainerEventTracker.cpp Switches includes/usings to WSLC.
src/windows/wslcsession/CMakeLists.txt Renames target/files from wslasession to wslcsession and IDL dep to wslcidl.
src/windows/wslc/tasks/SessionTasks.cpp Updates localization header keys from Wsla -> Wslc.
src/windows/wslc/tasks/ImageTasks.cpp Switches schema namespace from wsla_schema to wslc_schema.
src/windows/wslc/tasks/ContainerTasks.cpp Switches schema include/types and signal/container state handling to WSLC.
src/windows/wslc/services/SessionService.h Updates include from wslaservice.h to wslc.h.
src/windows/wslc/services/SessionService.cpp Switches COM interfaces, process launcher, flags, and localization keys to WSLC.
src/windows/wslc/services/SessionModel.h Renames default session name and COM pointer types to WSLC.
src/windows/wslc/services/SessionModel.cpp Updates default storage path and networking mode enum to WSLC.
src/windows/wslc/services/ImageService.h Switches schema include/return type to wslc_schema.
src/windows/wslc/services/ImageService.cpp Updates runtime option/result struct types from WSLA to WSLC.
src/windows/wslc/services/ContainerService.h Updates state/signal types and inspect return type to WSLC.
src/windows/wslc/services/ContainerService.cpp Renames container/process launcher usage and all flags/types to WSLC.
src/windows/wslc/services/ContainerModel.h Switches include and state/signal fields to WSLC.
src/windows/wslc/services/ConsoleService.h Switches includes and process wrapper types to WSLC.
src/windows/wslc/services/ConsoleService.cpp Switches WSLC process launcher, flags, and fd constants.
src/windows/wslc/core/Main.cpp Switches telemetry provider initialization to WSLC provider.
src/windows/wslc/arguments/ArgumentValidation.h Renames signal validation functions to WSLC and includes wslc.h.
src/windows/wslc/arguments/ArgumentValidation.cpp Updates signal map and validation to WSLC types; formatting refactors.
src/windows/wslasession/WSLAProcess.h Removes WSLA process header (renamed to WSLC equivalent).
src/windows/wslasession/WSLAContainerMetadata.h Removes WSLA metadata header (renamed to WSLC equivalent).
src/windows/wslasession/ServiceProcessLauncher.h Removes WSLA launcher header (renamed to WSLC equivalent).
src/windows/service/stub/CMakeLists.txt Switches proxy/stub sources and deps from wslaservice_* to wslc_*.
src/windows/service/inc/CMakeLists.txt Renames IDL target from wslaserviceidl to wslcidl.
src/windows/service/exe/WslMirroredNetworking.cpp Formatting-only refactor.
src/windows/service/exe/WslCoreVm.cpp Formatting-only refactors.
src/windows/service/exe/WSLCSessionManagerFactory.h Adds WSLC session manager factory declarations.
src/windows/service/exe/WSLCSessionManagerFactory.cpp Renames session manager factory implementation to WSLC.
src/windows/service/exe/WSLCSessionManager.h Renames session manager COM interfaces/types and internal fields to WSLC.
src/windows/service/exe/WSLASessionManagerFactory.h Removes WSLA factory header (renamed to WSLC).
src/windows/service/exe/ServiceMain.cpp Switches includes/class registration and teardown call to WSLC.
src/windows/service/exe/LxssUserSession.cpp Formatting-only refactors.
src/windows/service/exe/LxssInstance.cpp Formatting-only refactor.
src/windows/service/exe/HcsVirtualMachine.h Renames VM COM interface and settings/flags types to WSLC.
src/windows/service/exe/HcsVirtualMachine.cpp Updates env var, flags, logs, crash folder, and enums to WSLC.
src/windows/service/exe/CMakeLists.txt Switches sources/headers/deps/link flags from WSLA session manager to WSLC.
src/windows/libwsl/WslCoreConfigInterface.cpp Formatting-only refactor.
src/windows/inc/wslrelay.h Renames relay mode enum value to WSLCPortRelay.
src/windows/inc/wslc_schema.h Renames schema header/namespace/comments from WSLA to WSLC.
src/windows/common/wslutil.h Switches include to wslc.h and updates prune result type.
src/windows/common/wslutil.cpp Updates common error mappings from WSLA_* to WSLC_* and include to wslc.h.
src/windows/common/relay.cpp Renames debug macro gate from WSLA_HTTP_DEBUG to WSLC_HTTP_DEBUG.
src/windows/common/notifications.cpp Formatting-only refactors.
src/windows/common/filesystem.cpp Formatting-only refactors.
src/windows/common/WslTelemetry.h Renames declared provider from WslaTelemetryProvider to WslcTelemetryProvider.
src/windows/common/WslTelemetry.cpp Renames provider symbol/name to WSLC.
src/windows/common/WslSecurity.cpp Formatting-only refactors.
src/windows/common/WslCoreConfig.cpp Formatting-only refactor.
src/windows/common/WslClient.cpp Renames includes/types/entrypoint for --wslc debugging tool and WSLC COM usage.
src/windows/common/WSLCProcessLauncher.h Renames process launcher wrapper types from WSLA to WSLC.
src/windows/common/WSLCProcessLauncher.cpp Updates implementation to WSLC types/enums and fd constants.
src/windows/common/WSLCContainerLauncher.h Renames container launcher/wrapper types and schema to WSLC.
src/windows/common/SubProcess.cpp Formatting-only refactor.
src/windows/common/NatNetworking.cpp Formatting-only refactors.
src/windows/common/Dmesg.cpp Formatting-only refactor.
src/windows/common/COMImplClass.h Switches namespace from wsla -> wslc.
src/windows/common/CMakeLists.txt Switches common sources/headers/deps from WSLA* to WSLC* equivalents.
src/windows/WslcSDK/wslcsdk.h Adjusts container ID signature size expression (but currently breaks self-contained build).
src/windows/WslcSDK/WslcsdkPrivate.h Switches runtime includes/types from WSLA to WSLC.
src/windows/WslcSDK/TerminationCallback.h Switches termination reason enum type to WSLC.
src/windows/WslcSDK/TerminationCallback.cpp Switches termination reason handling to WSLC.
src/windows/WslcSDK/ProgressCallback.h Switches include to wslc.h.
src/windows/WslcSDK/ProgressCallback.cpp Comment rename WSLA -> WSLC.
src/windows/WslcSDK/CMakeLists.txt Updates IDL dependency to wslcidl.
src/linux/netlinkutil/Address.cpp Formatting-only refactor.
src/linux/init/main.cpp Renames WSLA entrypoint/env var usage to WSLC.
src/linux/init/GnsEngine.cpp Formatting-only refactors.
src/linux/init/CMakeLists.txt Renames init source from WSLAInit.cpp to WSLCInit.cpp.
nuget/Microsoft.WSL.Containers/docs/README.MD Updates header name reference (currently inconsistent).
msipackage/package.wix.in Renames WSLA COM registration and per-user server exe to WSLC equivalents.
msipackage/CMakeLists.txt Updates MSI binary list and dependencies to include wslcsession.exe.
localization/strings/en-US/Resources.resw Renames WSLA localization keys/strings to WSLC variants.
doc/docs/technical-documentation/index.md Updates architecture diagram references for renamed components.
diagnostics/wsl.wprp Renames provider IDs from wsla/wslapi to wslc/wslcpi.
cloudtest/TestGroup.xml.in Updates CloudTest filter to exclude WSLC category by default.
cloudtest/TestGroup-wslc.xml.in Updates CloudTest selection filter to run WSLC tests.
cloudtest/CMakeLists.txt Renames helper function and output folder from wsla -> wslc.
CMakeLists.txt Switches subdirectory from wslasession to wslcsession.
.pipelines/test-stage.yml Updates pipeline parameter default from wsla -> wslc.
.pipelines/build-stage.yml Updates build targets/patterns from wslasession to wslcsession.
.github/CODEOWNERS Updates team ownership entry from wsla-team to wslc-team.

Copilot AI review requested due to automatic review settings March 22, 2026 13:49
@benhillis benhillis force-pushed the user/benhill/wsla_wslc_rename branch from eb74eed to 5c52dcd Compare March 22, 2026 13:49
Copy link
Member Author

@benhillis benhillis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Undo Wslapi rename.

# Reviewers for all files in the repository
* @microsoft/wsl-maintainers
* @microsoft/wsla-team No newline at end of file
* @microsoft/wslc-team No newline at end of file
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to rename the team

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Going to approve it assuming wslc-team will be provisioned in microsoft org soon, otherwise the review enforcement will be broken

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 141 out of 143 changed files in this pull request and generated 2 comments.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 140 out of 142 changed files in this pull request and generated 1 comment.

Comment on lines +1911 to 1914
<data name="MessageWslcSessionNotFound" xml:space="preserve">
<value>Session not found: '{}'</value>
<comment>{FixedPlaceholder="{}"}Command line arguments, file names and string inserts should not be translated</comment>
</data>
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The renamed resource keys (e.g., MessageWslcSessionNotFound) currently exist only in en-US; other locales still have the old MessageWsla* keys. This will cause non-en-US languages to fall back to en-US for these strings, effectively regressing localization for the renamed messages. Consider adding the new MessageWslc* keys to each localized Resources.resw (copying existing translations) and optionally keeping the old keys temporarily if needed for compatibility.

Copilot uses AI. Check for mistakes.
Copilot AI review requested due to automatic review settings March 23, 2026 15:46
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 122 out of 124 changed files in this pull request and generated no new comments.

@benhillis benhillis force-pushed the user/benhill/wsla_wslc_rename branch from 91062a1 to 5cb46a5 Compare March 23, 2026 16:24
Copilot AI review requested due to automatic review settings March 23, 2026 17:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 122 out of 124 changed files in this pull request and generated 1 comment.

// GENERAL CONTAINER MANAGEMENT

#define WSLC_CONTAINER_ID_LENGTH 65 // 64 chars + null
#define WSLC_CONTAINER_ID_BUFFER_SIZE 65 // 64 hex chars + null terminator
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WSLC_CONTAINER_ID_LENGTH was renamed to WSLC_CONTAINER_ID_BUFFER_SIZE, but there are still in-repo call sites using the old macro name (e.g., test/windows/WSLCTests.cpp). This will break compilation for consumers/tests that haven’t been updated. Either update all remaining uses in the repo, or keep a compatibility alias (e.g., define WSLC_CONTAINER_ID_LENGTH to WSLC_CONTAINER_ID_BUFFER_SIZE) to avoid a breaking change.

Suggested change
#define WSLC_CONTAINER_ID_BUFFER_SIZE 65 // 64 hex chars + null terminator
#define WSLC_CONTAINER_ID_BUFFER_SIZE 65 // 64 hex chars + null terminator
#define WSLC_CONTAINER_ID_LENGTH WSLC_CONTAINER_ID_BUFFER_SIZE

Copilot uses AI. Check for mistakes.
@dkbennett
Copy link
Member

if renaming wsla -> wslc, we should also rename wslc -> wslccli to avoid confusion/collisions. Not the wslc.exe, but the lib, the folder maybe, other references. It looks like wslasession -> wslc is going to be confusing or have collisions with the cli.

@benhillis
Copy link
Member Author

if renaming wsla -> wslc, we should also rename wslc -> wslccli to avoid confusion/collisions. Not the wslc.exe, but the lib, the folder maybe, other references. It looks like wslasession -> wslc is going to be confusing or have collisions with the cli.

I'm not sure I follow, wslasession is being renamed wslcsession.

@benhillis benhillis force-pushed the user/benhill/wsla_wslc_rename branch from ded2e10 to f181132 Compare March 23, 2026 20:16
@benhillis benhillis force-pushed the user/benhill/wsla_wslc_rename branch from f181132 to b1d3022 Compare March 23, 2026 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants