What's Changed
New Contributors
- @ZiningYin made their first contribution in #945
[1.3.66] — 2026-06-22
Added
- ElastiCache — broad parity improvements — built-in
default.*parameter groups for the Redis, Memcached, and Valkey families (including.cluster.onvariants) with AWS-style engine-version→family mapping; seeded defaults are immutable (create/modify/delete/reset rejected with AWS-shaped errors); replication-group creation materializes member cache clusters with metadata, tags, and member IDs and removes them on deletion; create/modify validate user groups withUserGroupNotFound; tag updates fan out to member cluster ARNs; and ElastiCache is now covered by the Resource Groups Tagging API. User and user-group error codes now use AWS's wire forms (UserNotFound,UserGroupNotFound, …). Contributed by @ZiningYin. - IAM — additional AWS-managed policies seeded —
AWSXRayDaemonWriteAccess,AWSXrayReadOnlyAccess, andAWSLambdaRoleare now pre-seeded with their canonical documents, so Terraform's tracing lookup (data "aws_iam_policy" { arn = ".../AWSXRayDaemonWriteAccess" }, used by everyattach_tracing_policy = truemodule) resolves. Contributed by @mattwang44.
Changed
- CI — test suite now runs as balanced parallel shards — the workflow plans shards from a per-file test-count map and runs them across separate runners, with a dedicated serial phase for global-state tests, cutting CI wall-clock time. Contributed by @jgrumboe.
- Build — bumped
github.com/containerd/containerd1.7.32 → 1.7.33 in the Go Testcontainers helper module.
Fixed
- CloudFormation —
aws cloudformation deploywithout--parameter-overridesnow updates resources — a change set created withUsePreviousValue=true(whatdeploysends for existing parameters when no overrides are given) resolved the parameter to an empty value instead of its stored value, so a parameter-driven resource name (e.g.!Sub ${StackName}-handler) resolved wrong and the stack update silently missed the real resource — its code/properties never changed.UsePreviousValueis now resolved against the stack's stored parameters on both the change-set andUpdateStackpaths. Reported by @ankitaabad. - Step Functions —
.waitForTaskTokennow invokes non-Lambda service integrations —arn:aws:states:::sqs:sendMessage.waitForTaskToken(andsns:publish,dynamodb:*,aws-sdk:*, …) scheduled the task but never performed the integration, so the payload carrying the task token was never sent and the execution hung. The callback path now dispatches the integration before blocking, and an objectMessageBodyis JSON-serialized for SQS. Reported by @taylor1791. - RDS Data API — PostgreSQL correctness fixes — psycopg2 connections now autocommit (matching the MySQL path), so a non-transactional
ExecuteStatementis no longer rolled back on connection close; named parameters are substituted longest-first so:1no longer corrupts:10/:18; andjsonbvalues are returned as their stored JSON text instead of an invalid single-quoted Python repr. Reported by @awilson9. - Cognito — token/session invalidation now takes effect —
RevokeToken,GlobalSignOut, andAdminUserGlobalSignOutwere no-ops, so a revoked refresh token still minted new access tokens. They now invalidate the affected refresh tokens, and theREFRESH_TOKEN_AUTHflow honours the revocation. - RDS —
CreateDBInstance/CreateDBClustervalidate parameter-group existence — referencing a non-existent custom parameter group now returnsDBParameterGroupNotFound/DBClusterParameterGroupNotFoundinstead of silently succeeding. - Athena —
GetTableMetadata/ListTableMetadatareturn real columns and partition keys — the responses were empty stubs; they now surface the backing Glue table's columns and partition keys. - SNS —
Publishnow accepts non-stringMessagevalues — Step Functions'arn:aws:states:::sns:publishintegration can passMessageas structured data rather than a plain string; it is now JSON-serialized before delivery instead of failing. Contributed by @noynoy83.