# serverless sf-core@4.41.0 — 4.41.0 - Product: serverless (https://whatsnew.fyi/product/serverless) - Vendor: serverless - Date: 2026-08-10 - Version: sf-core@4.41.0 - Original notes: https://github.com/serverless/serverless/releases/tag/sf-core%404.41.0 - Permalink: https://whatsnew.fyi/product/serverless/releases/sf-core-4.41.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Host MCP servers on AWS Lambda with a new `mcp` section in `serverless.yml` that deploys official MCP TypeScript SDK servers behind API Gateway with response streaming, OAuth protection, and shared REST API, stage, and custom domain with http functions - **fixed** — Per-function artifacts are now included in change detection so deployments that only changed a prebuilt per-function `package.artifact` are no longer silently skipped - **fixed** — Compose `package` and `print` commands no longer wipe deployed service state and clear recorded outputs of already-deployed services - **fixed** — Files named like code modules no longer hijack project detection by restricting SAM/CloudFormation template detection to SAM-supported template extensions - **fixed** — esbuild `outExtension` is honored end-to-end through bundling, packaging, deployment, and `invoke local` with clear validation for unsupported mappings - **fixed** — esbuild config-file `sourcemap` setting now controls source-map support instead of force-enabling `--enable-source-maps` in the function's `NODE_OPTIONS` - **fixed** — Compose services with `packages: external` now resolve root dependencies that are hoisted to the Compose project root - **fixed** — Function URL `invokeMode` accepts any casing and normalizes values like `response_stream` or `Buffered` instead of failing validation - **fixed** — Sandbox dev images build for the Docker daemon's architecture instead of the host architecture - **fixed** — No spinner animations on zero-width terminals to prevent CI providers from being flooded with spinner frames - **changed** — Upgraded AWS SDK group with 150 updates across four bumps - **changed** — Upgraded glob to v13 - **changed** — Upgraded @hono/node-server to v2 - **changed** — Upgraded hono to v4.13 - **changed** — Upgraded @modelcontextprotocol/sdk - **changed** — Upgraded fs-extra to v11.4 - **changed** — Upgraded js-yaml to v4.3.1 - **changed** — Replaced lodash.uniqby with lodash's uniqBy - **changed** — Replaced sha256-file with node:crypto - **security** — Upgraded brace-expansion to resolve CVE-2026-14257 and CVE-2026-69152 #### 4.41.0 ##### Features - **Host MCP servers on AWS Lambda.** A new `mcp` section in `serverless.yml` deploys [official MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk) servers behind API Gateway with response streaming. You write one SDK module; the Framework owns the endpoint, streaming, packaging, and the OAuth protected-resource discovery document. Servers can be protected with your own [API Gateway authorizers](https://github.com/serverless/examples/tree/v4/mcp/oauth-authorizer) or with the [MCP SDK's built-in in-server token verification](https://github.com/serverless/examples/tree/v4/mcp/oauth-in-module), and each server behaves as an ordinary function — `logs`, `invoke`, `metrics`, `rollback`, and `deploy function` work unchanged. MCP servers share one REST API, stage, and custom domain with each other and with `http` functions. Optional sealed request state lets tools round-trip data across elicitation retries without server-side storage. (#13778, #13784) Read more in the [MCP servers guide](https://www.serverless.com/framework/docs/providers/aws/guide/mcp) and explore the [MCP examples](https://github.com/serverless/examples/tree/v4/mcp). A bundled [`serverless-mcp` Agent Skill](https://github.com/serverless/serverless/tree/main/skills/serverless-mcp) teaches AI coding agents (Claude Code, Codex, Cursor) how to build and operate MCP servers with the Framework — install it into your service with the [`agent skills install` command](https://www.serverless.com/framework/docs/providers/aws/cli-reference/agent-skills-install): ```bash serverless agent skills install ``` ```yaml mcp: servers: crm: server: src/server.mjs authorizer: name: verifyToken oauthDiscovery: issuer: https://example.us.auth0.com functions: verifyToken: handler: src/authorizer.handler ``` ##### Bug Fixes - **Per-function artifacts are now included in change detection.** Deployments that only changed a prebuilt per-function `package.artifact` were silently skipped, so new code never shipped; the artifact content now participates in the change hash. (#13771) - **Compose `package` and `print` no longer wipe deployed service state.** Running a read-only command in a Compose project cleared the recorded outputs of already-deployed services, breaking later cross-service references and removals. Thanks @tmatilai for the detailed report. (#13437, #13792) - **Files named like code modules no longer hijack project detection.** A `template.mjs` in the project root made the CLI treat the directory as a SAM/CloudFormation project and hide normal commands; detection is now restricted to SAM-supported template extensions. Thanks @tomchiverton for the report. (#13738, #13739) - **esbuild `outExtension` is honored end-to-end.** Custom output extensions (e.g. `.js` → `.mjs`) now flow through bundling, packaging, deployment, and `invoke local`, with clear validation for unsupported mappings. (#13740) - **esbuild config-file `sourcemap` setting controls source-map support.** With `sourcemap: false` in an esbuild config file, the Framework no longer force-enables `--enable-source-maps` in the function's `NODE_OPTIONS`. Thanks @maximepichou for the report. (#12997, #13741) - **Compose services with `packages: external` resolve root dependencies.** Dependencies hoisted to the Compose project root are now traced and packaged when a service's esbuild config marks packages external. Thanks @joe-price-jt for the report. (#12957, #13742) - **Function URL `invokeMode` accepts any casing.** Values like `response_stream` or `Buffered` are now normalized instead of failing validation. (#13756) - **Sandbox dev images build for the Docker daemon's architecture.** Dev images previously targeted the host architecture, producing emulated (slow or failing) containers when the daemon reported a different one. (#13787) - **No spinner animations on zero-width terminals.** CI _[Truncated at 4000 characters — full notes: https://github.com/serverless/serverless/releases/tag/sf-core%404.41.0]_