What's Changed
[1.3.1] — 2026-04-18
Added
- Hypercorn ASGI server with HTTP/2 h2c — replaces uvicorn with hypercorn, enabling cleartext HTTP/2 (h2c) support. AWS Java SDK v2 and Kinesis Client Library (KCL) clients that require HTTP/2 now work out of the box. Idle RAM drops from ~21 MB to ~7 MB. Contributed by @AdigaAkhil (#369). Fixes #361, #364
- Lambda log forwarding for Winston/pino — replaces 5 individual
console.*overrides with a singleprocess.stdout.writeintercept. Catches logging libraries like Winston and pino that write directly tostdout.writeinstead ofconsole.log. Contributed by @Baptiste-Garcin (#373) - Test suite — 121 new tests across 11 services: AutoScaling (37 new), ElastiCache (15 new), Glue (19 new), RDS (14 new), CloudWatch Logs (7 new), EMR (5 new), EFS (5 new), Cloud Map (5 new), ACM (3 new), CloudWatch (2 new), EBS (2 new). Total test count: 1,558
Fixed
- Glue
GetPartitionIndexesKeys format — service returned Keys as flat strings (["year"]) instead of KeySchemaElement objects ([{"Name": "year"}]), causing boto3 deserialization failures - RDS
LatestRestorableTimeempty timestamp —DescribeDBInstancesrendered<LatestRestorableTime></LatestRestorableTime>(empty string) which boto3 couldn't parse as a timestamp. Now defaults to current time - EKS graceful fallback when k3s fails — if Docker is unavailable or k3s container fails to start (e.g. privileged containers blocked),
CreateClusternow returns ACTIVE with a mock endpoint and CA certificate instead of FAILED. The EKS API works identically regardless of Docker availability; real k3s is used when possible - EKS state persistence — restored clusters stay ACTIVE instead of being marked FAILED on restart
- EKS Docker tests flaky in parallel — k3s containers interfere with each other under pytest-xdist. Added both EKS Docker tests to
_SERIAL_TESTS - EKS CFN test CI failure — k3s can't start on CI (no Docker), cluster stays in CREATING. Test now polls and accepts CREATING status
Changed
- ASGI server: uvicorn → hypercorn — dependency changed from
uvicorn[standard]+httptoolstohypercorn>=0.18.0 - pytest parallel distribution:
--dist=load→--dist=loadfile— keeps all tests from the same file on the same worker, fixing pre-existing Lambda/IAM ordering failures caused by shared session fixtures