Overcast is alpha — behaviour and APIs may change between releases. Pin your version and read the changelog before upgrading.

overcast

Lambda runtimes

Which Lambda runtime identifiers Overcast accepts, what each rejection means, how AWS's deprecation dates are observed, and which runtimes have no execution image.

Which runtime identifiers Lambda accepts, and what a rejection means.

Identifiers are AWS’s modelled Runtime enum; the deprecation, block-create and block-update dates are AWS’s published runtime lifecycle dates. Request validation, the runtime-to-image mapping and the console’s create wizard all read the same table.

What each rejection means

SituationResponse
Not a value of the modelled Runtime enum, and not a runtime-version ARN400 InvalidParameterValueException listing every modelled value
Modelled, but past AWS’s deprecation phase for the operation400 InvalidParameterValueException naming the recommended successor
Modelled and accepted by AWS, but Overcast has no execution image for it501 NotImplemented — an emulator gap; nothing is persisted

A missing execution image answers 501 rather than an invented 400: the request was valid and AWS would have accepted it. The check applies to Zip packages; an Image function brings its own.

Deprecation is observed in three steps

AWS retires a runtime in three steps and Overcast observes each against the current date:

DateEffect
Deprecation dateSupport ends; the runtime stays deployable and invokable
Block function createCreateFunction starts refusing it
Block function updateUpdateFunctionConfiguration starts refusing it

So a deprecated runtime is not automatically refused — python3.9 lost support in December 2025 but stays deployable until its block-create date.

Which runtimes have an image

Overcast maps an official base image to every runtime AWS still accepts for CreateFunction, across Node.js, Python, Java (including the Amazon Linux 2023 variants), .NET, Ruby and the provided custom runtimes. Runtimes AWS has already blocked from CreateFunctiongo1.x, java8, python3.7 and older, nodejs14.x and older, the dotnetcore family, ruby2.x and provided — carry no image, so the 400 above is the only response they can produce.

LAMBDA_SEED_RUNTIME_IMAGES=true pre-pulls only the images for runtimes AWS still supports; a deprecated-but-deployable runtime is pulled on demand at its first cold start. GET /_overcast/lambda/runtimes returns the catalogue with each runtime’s supported, deprecated, createBlocked and updateBlocked flags.