AWS Lambda Adopts Node.js 24 Runtime and Deprecates Callback Handlers
AWS has officially introduced the Node.js 24 managed runtime and container base image for AWS Lambda, establishing active Long-Term Support (LTS) through April 2028. The release features a newly re-engineered Runtime Interface Client (RIC) written entirely in TypeScript, and it permanently removes support for callback-based function handlers. Additionally, Node.js 24 on Lambda incorporates ECMAScript Explicit Resource Management, an upgraded Undici 7 HTTP client for outgoing network requests, and native ES module support in CloudFormation inline definitions.
This release represents an important modernization threshold for serverless backend architectures. For years, Node.js Lambda functions maintained backward compatibility with legacy callback patterns, often leading to subtle execution bugs involving unresolved promises and event loop freezing. By eliminating callback handlers and halting the practice of waiting on unhandled background promises after the handler resolves, AWS is enforcing modern, deterministic JavaScript concurrency. Functions that rely on unawaited asynchronous calls or fire-and-forget logging can no longer safely execute across warm runtime invocations without explicit lifecycle management.
In the broader cloud and DevOps landscape, cloud providers are aggressively standardizing Function-as-a-Service (FaaS) runtimes around modern language semantics and strict resource lifecycle isolation. As serverless architectures handle heavier workloads—such as streaming payloads, microservice orchestration, and agentic AI integrations—runtime performance and predictability become critical. The inclusion of Undici 7 aligns Lambda with high-throughput HTTP/2 and modern fetch standards, minimizing connection overhead when serverless functions interact with downstream microservices, managed databases, or external foundation model endpoints.
In practice, platform engineering and development teams must approach Node.js 24 upgrades as a breaking code change rather than an automated minor version bump. Teams should run automated static analysis (such as ESLint rules requiring await on all promises) across their serverless repositories to catch unawaited operations before deployment. Legacy codebases using callback signatures must be refactored to standard async/await syntax. Furthermore, teams utilizing Powertools for AWS Lambda (TypeScript) should update their dependencies to leverage native Node.js 24 compatibility and ensure telemetry and tracing pipelines align with the new TypeScript runtime client.
Read original source