[Enhancement] Remove deprecated /api/CSharpCodeRunner alias route (follow-up to #285) #286

Closed
opened 2026-06-28 21:37:30 +00:00 by spikerj · 1 comment
Owner

Summary

Follow-up cleanup for #285. When the code-runner controller was renamed (CSharpCodeRunnerControllerCodeRunnerController, canonical route api/CodeRunner), the old api/CSharpCodeRunner route was retained as a deprecated alias for one release (Option A) so already-deployed SPA builds kept working during rollout.

Once every shipped/used SPA build targets api/CodeRunner, remove the alias so the controller exposes a single canonical route.

Preconditions (do NOT remove until all are true)

  • Backend rename merged + deployed (spikersoft-backend #34).
  • Frontend repoint merged + deployed (spikersoft-angular #83).
  • No clients still calling api/CSharpCodeRunner/* — confirm via access logs / metrics for the deprecation window (at least one full release cycle).

Scope (spikersoft-backend)

  • In SpikerSoft.Api/Domain/CodeExecution/CodeRunnerController.cs, drop the second [Route("api/CSharpCodeRunner")] attribute (and its explanatory comment), leaving only [Route("api/CodeRunner")].
  • Update the controller summary that mentions the alias.
  • In SpikerSoft.Tests.Unit/Controllers/CodeRunnerControllerTests.cs, remove the api/CSharpCodeRunner case from Controller_ExposesCanonicalAndDeprecatedAliasRoutes (or convert it to assert the alias is gone).
  • Audit docs that still mention the alias as “retained”: backend README.md and SpikerSoft.EventHandlers.CodeExecution/README.md — update wording to reflect removal.
  • Regenerate / verify the MCP SpikerSoft-Api-Client.cs still points at api/CodeRunner (already updated in #285).

Acceptance criteria

  • api/CSharpCodeRunner/{run,lesson,signalr-info} returns 404; api/CodeRunner/* unchanged.
  • No remaining references to CSharpCodeRunner anywhere except historical changelog/PR notes.
  • C#, Python, and JavaScript playgrounds verified working on api/CodeRunner (run + lesson).

Severity

Low (tech-debt cleanup; time-gated on the deprecation window).

## Summary Follow-up cleanup for #285. When the code-runner controller was renamed (`CSharpCodeRunnerController` → `CodeRunnerController`, canonical route `api/CodeRunner`), the old `api/CSharpCodeRunner` route was retained as a **deprecated alias for one release** (Option A) so already-deployed SPA builds kept working during rollout. Once every shipped/used SPA build targets `api/CodeRunner`, remove the alias so the controller exposes a single canonical route. ## Preconditions (do NOT remove until all are true) - [ ] Backend rename merged + deployed (spikersoft-backend #34). - [ ] Frontend repoint merged + deployed (spikersoft-angular #83). - [ ] No clients still calling `api/CSharpCodeRunner/*` — confirm via access logs / metrics for the deprecation window (at least one full release cycle). ## Scope (`spikersoft-backend`) - In `SpikerSoft.Api/Domain/CodeExecution/CodeRunnerController.cs`, drop the second `[Route("api/CSharpCodeRunner")]` attribute (and its explanatory comment), leaving only `[Route("api/CodeRunner")]`. - Update the controller summary that mentions the alias. - In `SpikerSoft.Tests.Unit/Controllers/CodeRunnerControllerTests.cs`, remove the `api/CSharpCodeRunner` case from `Controller_ExposesCanonicalAndDeprecatedAliasRoutes` (or convert it to assert the alias is **gone**). - Audit docs that still mention the alias as “retained”: backend `README.md` and `SpikerSoft.EventHandlers.CodeExecution/README.md` — update wording to reflect removal. - Regenerate / verify the MCP `SpikerSoft-Api-Client.cs` still points at `api/CodeRunner` (already updated in #285). ## Acceptance criteria - [ ] `api/CSharpCodeRunner/{run,lesson,signalr-info}` returns 404; `api/CodeRunner/*` unchanged. - [ ] No remaining references to `CSharpCodeRunner` anywhere except historical changelog/PR notes. - [ ] C#, Python, and JavaScript playgrounds verified working on `api/CodeRunner` (run + lesson). ## Severity Low (tech-debt cleanup; time-gated on the deprecation window).
spikerj added the enhancement label 2026-06-28 21:37:30 +00:00
Author
Owner

Resolved in spikersoft-backend PR #92 (merged to master — commit 3854caf). The deprecated api/CSharpCodeRunner alias route was removed (single canonical api/CodeRunner); routing test now asserts the alias 404s; backend + CodeExecution READMEs updated. Frontend was already fully repointed to api/CodeRunner. Closing.

Resolved in spikersoft-backend PR #92 (merged to `master` — commit `3854caf`). The deprecated `api/CSharpCodeRunner` alias route was removed (single canonical `api/CodeRunner`); routing test now asserts the alias 404s; backend + CodeExecution READMEs updated. Frontend was already fully repointed to `api/CodeRunner`. Closing.
Sign in to join this conversation.