Skip to content

[services] strip services route prefix in Go runtime#15120

Merged
ricardo-agz merged 7 commits intomainfrom
ricardo/be-440-remove-go-route-prefix
Feb 23, 2026
Merged

[services] strip services route prefix in Go runtime#15120
ricardo-agz merged 7 commits intomainfrom
ricardo/be-440-remove-go-route-prefix

Conversation

@ricardo-agz
Copy link
Copy Markdown
Contributor

@ricardo-agz ricardo-agz commented Feb 18, 2026

Adds support for automatically mounting user's Go server when running in zero config multi-service projects so that the app receives just /ping instead of /_/backend/ping

Does so by stripping the service route prefix in the reverse proxy before forwarding the request to the user app

Also introduces vc-init-dev.go a dev server for the standalone server mode (as opposed to the legacy go-bridge handler mode) which does the same route prefix stripping.

Adds vc-utils.go for shared utilities between vc-init.go and vc-init-dev.go

Note

Low Risk Change

This PR adds e2e test fixtures and Go runtime infrastructure for stripping service route prefixes, containing no security-sensitive changes like auth, permissions, or data handling.

  • Adds new e2e test fixture with Go backend and Next.js frontend
  • Introduces vc-init-dev.go dev wrapper and vc-utils.go shared utilities for route prefix stripping
  • Refactors standalone-server.ts to use new dev wrapper with improved startup error handling

Risk assessment for commit f8a54d2.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Feb 18, 2026

🦋 Changeset detected

Latest commit: f8a54d2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@vercel/go Patch
@vercel/fs-detectors Patch
vercel Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 18, 2026

📦 CLI Tarball Ready

The Vercel CLI tarball for this PR is now available!

Quick Test

You can test this PR's CLI directly by running:

npx https://vercel-g8y127hrv.vercel.sh/tarballs/vercel.tgz --help

Use in vercel.json

To use this CLI version in your project builds, add to your vercel.json:

{
  "build": {
    "env": {
      "VERCEL_CLI_VERSION": "vercel@https://vercel-g8y127hrv.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

Python Runtime Wheel

A Python runtime wheel was also built for this PR.
To use in your Python project builds, also set this environment variable:

VERCEL_RUNTIME_PYTHON="vercel-runtime @ https://vercel-g8y127hrv.vercel.sh/tarballs/vercel_runtime-0.6.0.dev1771880922+f8a54d2-py3-none-any.whl"

@ricardo-agz ricardo-agz changed the base branch from ricardo/be-438-remove-python-route-prefix to ricardo/be-439-remove-ruby-route-prefix February 18, 2026 22:18
@ricardo-agz ricardo-agz changed the base branch from ricardo/be-439-remove-ruby-route-prefix to ricardo/be-438-remove-python-route-prefix February 18, 2026 22:18
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 18, 2026

🧪 Unit Test Strategy

Comparing: 3969d91f8a54d2 (view diff)

Strategy: Affected packages only

✅ Only testing packages that have been modified or depend on modified packages.

Affected packages - 4 (10%)
  1. @vercel/fs-detectors
  2. @vercel/go
  3. @vercel/static-build
  4. vercel
Unaffected packages - 36 (90%)
  1. @vercel-internals/get-package-json
  2. @vercel/backends
  3. @vercel/build-utils
  4. @vercel/cervel
  5. @vercel/cli-auth
  6. @vercel/client
  7. @vercel/config
  8. @vercel/detect-agent
  9. @vercel/edge
  10. @vercel/elysia
  11. @vercel/error-utils
  12. @vercel/express
  13. @vercel/fastify
  14. @vercel/firewall
  15. @vercel/frameworks
  16. @vercel/functions
  17. @vercel/gatsby-plugin-vercel-builder
  18. @vercel/h3
  19. @vercel/hono
  20. @vercel/hydrogen
  21. @vercel/koa
  22. @vercel/nestjs
  23. @vercel/next
  24. @vercel/node
  25. @vercel/oidc
  26. @vercel/oidc-aws-credentials-provider
  27. @vercel/python
  28. @vercel/python-analysis
  29. @vercel/redwood
  30. @vercel/related-projects
  31. @vercel/remix-builder
  32. @vercel/routing-utils
  33. @vercel/ruby
  34. @vercel/rust
  35. @vercel/static-config
  36. examples

Results

  • Unit tests: Only affected packages will run unit tests
  • E2E tests: Running in parallel via E2E Tests workflow
  • Type checks: Only affected packages will run type checks

This comment is automatically generated based on the affected testing strategy

Base automatically changed from ricardo/be-438-remove-python-route-prefix to main February 19, 2026 19:28
@ricardo-agz ricardo-agz enabled auto-merge (squash) February 23, 2026 20:37
@ricardo-agz ricardo-agz merged commit 7d2603c into main Feb 23, 2026
220 of 226 checks passed
@ricardo-agz ricardo-agz deleted the ricardo/be-440-remove-go-route-prefix branch February 23, 2026 21:36
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.

3 participants