Skip to content

[services] allow multiple v2beta triggers for Lambda to allow use by services#15890

Merged
nsidnev merged 5 commits into
mainfrom
nsidnev/allow-multi-v2beta-triggers-for-services
Apr 13, 2026
Merged

[services] allow multiple v2beta triggers for Lambda to allow use by services#15890
nsidnev merged 5 commits into
mainfrom
nsidnev/allow-multi-v2beta-triggers-for-services

Conversation

@nsidnev

@nsidnev nsidnev commented Apr 9, 2026

Copy link
Copy Markdown
Member

For services, especially in Python, it is quite common to handle multiple topics within the same Lambda function. This will allow us to relax the validation to allow the use of multiple v2beta triggers for our supported use cases for worker services, while keeping the original restriction for function triggers defined in config

@changeset-bot

changeset-bot Bot commented Apr 9, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 1ecfe3a

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

This PR includes changesets to release 16 packages
Name Type
@vercel/build-utils Minor
@vercel/backends Patch
vercel Patch
@vercel/client Patch
@vercel/elysia Patch
@vercel/express Patch
@vercel/fastify Patch
@vercel/fs-detectors Patch
@vercel/gatsby-plugin-vercel-builder Patch
@vercel/h3 Patch
@vercel/hono Patch
@vercel/koa Patch
@vercel/nestjs Patch
@vercel/node Patch
@vercel/static-build Patch
@vercel/cervel 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

github-actions Bot commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

📦 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-qz45simay.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-qz45simay.vercel.sh/tarballs/vercel.tgz"
    }
  }
}

Python Runtime Wheel

A vercel-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-qz45simay.vercel.sh/tarballs/vercel_runtime-0.13.0.dev1776115483+1ecfe3a-py3-none-any.whl"

Python Workers Wheel

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

VERCEL_WORKERS_PYTHON="vercel-workers @ https://vercel-qz45simay.vercel.sh/tarballs/vercel_workers-0.1.0.dev1776115483+1ecfe3a-py3-none-any.whl"

@vercel

vercel Bot commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

Low Risk — Validation relocation — moves v2beta trigger restriction from Lambda constructor to user-config path only.

  • lambda.ts: removed v2beta single-trigger assertion from Lambda constructor
  • lambda.ts: added v2beta single-trigger validation in getLambdaOptionsFromFunction for user config
  • unit.lambda.test.ts: updated tests to allow multiple v2beta triggers for services, reject for user config

Assessed at 1ecfe3a.

@github-actions

github-actions Bot commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

🧪 Unit Test Strategy

Comparing: 8b77cdc1ecfe3a (view diff)

Strategy: Code changed outside of a package - running all unit tests

⚠️ All unit tests will run because global code changes could impact all packages.

Affected packages - 40 (100%)
  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/fs-detectors
  17. @vercel/functions
  18. @vercel/gatsby-plugin-vercel-builder
  19. @vercel/go
  20. @vercel/h3
  21. @vercel/hono
  22. @vercel/hydrogen
  23. @vercel/koa
  24. @vercel/nestjs
  25. @vercel/next
  26. @vercel/node
  27. @vercel/oidc
  28. @vercel/oidc-aws-credentials-provider
  29. @vercel/python
  30. @vercel/python-analysis
  31. @vercel/redwood
  32. @vercel/related-projects
  33. @vercel/remix-builder
  34. @vercel/routing-utils
  35. @vercel/ruby
  36. @vercel/rust
  37. @vercel/static-build
  38. @vercel/static-config
  39. examples
  40. vercel

Results

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

This comment is automatically generated based on the affected testing strategy

@nsidnev nsidnev marked this pull request as ready for review April 9, 2026 18:59
@nsidnev nsidnev requested a review from a team as a code owner April 9, 2026 18:59
@nsidnev nsidnev requested a review from ricardo-agz April 9, 2026 19:08
@nsidnev nsidnev enabled auto-merge (squash) April 13, 2026 21:24
@nsidnev nsidnev merged commit 4e62f6c into main Apr 13, 2026
202 checks passed
@nsidnev nsidnev deleted the nsidnev/allow-multi-v2beta-triggers-for-services branch April 13, 2026 21:54
healeycodes pushed a commit that referenced this pull request Apr 14, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @vercel/build-utils@13.15.0

### Minor Changes

- [services] allow multiple v2beta triggers for a single Lambda when
config is coming from services
([#15890](#15890))

### Patch Changes

- Add deserialization utilities
([#15927](#15927))

## @vercel/fs-detectors@5.16.0

### Minor Changes

- Parse python module:variable entrypoint notation in
experimentalServices for all service types.
([#15844](#15844))

### Patch Changes

- Updated dependencies
\[[`4e62f6c2204dd148643f86f140f0ae7995778017`](4e62f6c),
[`42a70e1e6318615bd420933f9cc978bed3a43936`](42a70e1)]:
    -   @vercel/build-utils@13.15.0

## @vercel/python@6.31.0

### Minor Changes

- Parse python module:variable entrypoint notation in
experimentalServices for all service types.
([#15844](#15844))

### Patch Changes

- [python] set the `UV_PROJECT_ENVIRONMENT` and `UV_NO_DEV` env vars so
that custom `installCommand` and `buildCommand` commands can be called
without the `--active` and `--no-dev` flags
([#15715](#15715))

## @vercel/backends@0.0.60

### Patch Changes

- Include the entrypoint path in the build complete log message.
([#15914](#15914))

- Updated dependencies
\[[`4e62f6c2204dd148643f86f140f0ae7995778017`](4e62f6c),
[`42a70e1e6318615bd420933f9cc978bed3a43936`](42a70e1)]:
    -   @vercel/build-utils@13.15.0

## @vercel/cervel@0.0.47

### Patch Changes

- Updated dependencies
\[[`8b77cdcd71ba645df4eed52cdccde9a2cbb913f8`](8b77cdc)]:
    -   @vercel/backends@0.0.60

## vercel@51.2.1

### Patch Changes

- Add `ai-gateway api-keys create` command for creating AI Gateway API
keys with optional quota limits
([#15744](#15744))

- Improve `vercel blob list-stores` with `--json` and `--no-projects`,
exclude non-blob stores when the API returns a `type` field, and show a
richer table for non-TTY output while keeping linked-project filtering,
`--all`, and interactive store selection on TTY.
([#14653](#14653))

- Add a `project rename` command to rename projects from the CLI.
([#15918](#15918))

- Updated dependencies
\[[`8b77cdcd71ba645df4eed52cdccde9a2cbb913f8`](8b77cdc),
[`2d7d14db1c6448f716d1ccc30844b43f47e8e6ee`](2d7d14d),
[`d731f1b69030ddcaa0b7f4f1854f79ea92671b1e`](d731f1b),
[`4e62f6c2204dd148643f86f140f0ae7995778017`](4e62f6c),
[`45c8d4f54cc831695375794964a29145860fa45b`](45c8d4f),
[`42a70e1e6318615bd420933f9cc978bed3a43936`](42a70e1)]:
    -   @vercel/backends@0.0.60
    -   @vercel/python@6.31.0
    -   @vercel/next@4.16.7
    -   @vercel/build-utils@13.15.0
    -   @vercel/elysia@0.1.63
    -   @vercel/express@0.1.73
    -   @vercel/fastify@0.1.66
    -   @vercel/go@3.5.0
    -   @vercel/h3@0.1.72
    -   @vercel/hono@0.2.66
    -   @vercel/hydrogen@1.3.6
    -   @vercel/koa@0.1.46
    -   @vercel/nestjs@0.2.67
    -   @vercel/node@5.7.5
    -   @vercel/redwood@2.4.12
    -   @vercel/remix-builder@5.7.2
    -   @vercel/ruby@2.3.2
    -   @vercel/rust@1.1.0
    -   @vercel/static-build@2.9.13

## @vercel/client@17.3.2

### Patch Changes

- Updated dependencies
\[[`4e62f6c2204dd148643f86f140f0ae7995778017`](4e62f6c),
[`42a70e1e6318615bd420933f9cc978bed3a43936`](42a70e1)]:
    -   @vercel/build-utils@13.15.0

## @vercel/elysia@0.1.63

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.5

## @vercel/express@0.1.73

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/cervel@0.0.47
    -   @vercel/node@5.7.5

## @vercel/fastify@0.1.66

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.5

## @vercel/gatsby-plugin-vercel-builder@2.1.13

### Patch Changes

- Updated dependencies
\[[`4e62f6c2204dd148643f86f140f0ae7995778017`](4e62f6c),
[`42a70e1e6318615bd420933f9cc978bed3a43936`](42a70e1)]:
    -   @vercel/build-utils@13.15.0

## @vercel/h3@0.1.72

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.5

## @vercel/hono@0.2.66

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.5

## @vercel/koa@0.1.46

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.5

## @vercel/nestjs@0.2.67

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/node@5.7.5

## @vercel/next@4.16.7

### Patch Changes

- Update to latest Next.js adapter
([#15456](#15456))

## @vercel/node@5.7.5

### Patch Changes

- Updated dependencies
\[[`4e62f6c2204dd148643f86f140f0ae7995778017`](4e62f6c),
[`42a70e1e6318615bd420933f9cc978bed3a43936`](42a70e1)]:
    -   @vercel/build-utils@13.15.0

## @vercel/static-build@2.9.13

### Patch Changes

-   Updated dependencies \[]:
    -   @vercel/gatsby-plugin-vercel-builder@2.1.13

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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