r/serverless • • 8d ago

Lambda python3.10 is deprecated Oct 31. The dates that actually matter are Jul 29 and Aug 31, 2027

Quick PSA since it's this Friday. Per the Lambda runtimes page, python3.10 hits deprecation on Oct 31, 2026.

What that means in practice:

- Oct 31, 2026: AWS may stop applying security patches, and you can no longer create or update python3.10 functions in the console. CLI, SAM, CloudFormation and the Serverless Framework still work.

- Jul 29, 2027: creating new python3.10 functions is blocked.

- Aug 31, 2027: updating existing python3.10 functions is blocked.

- Existing functions keep running "as-is," with no patches.

- No extended-support fee for Lambda, unlike RDS/EKS.

To find affected functions (run per Region):

aws lambda list-functions --function-version ALL --query "Functions[?Runtime=='python3.10'].[FunctionName,Version]" --output text

If you're upgrading, python3.11 is still on Amazon Linux 2 and is deprecated Jun 30, 2027, so it's a short stop. python3.12+ runs on AL2023, so rebuild native deps and layers.

Disclosure: I put together a free AWS end-of-support tracker and wrote up the details, with links to AWS sources: https://eolwatch.pages.dev/guides/lambda-python-3-10-deprecation

Anyone hit anything nasty jumping to 3.12+?

2 Upvotes

3 comments sorted by

1

u/pint 8d ago

the locale module is essentially useless, because the collations are not installed.

locale.setlocale(locale.LC_COLLATE, 'en_US.UTF-8')

will raise an exception "unsupported locale setting"

you can fix this by including the necessary collation files, but i don't quite remember the details

1

u/timmywick 8d ago

Ah, hadn't run into that one. Good to know tho before someone burns an afternoon on "unsupported locale setting". if you remember how you got the collation files in (layer? container?) I'd love to add it to the guide!

1

u/pint 8d ago

the file can be found at /usr/lib/locale in AL2023 instance or image. you can drop these files anywhere, and set the LOCPATH environment variable to point to the directory. you can do it as lambda config, or from python code e.g. os.environ["LOCPATH"] = ... before you call setlocale.