May 30, 2026 · v1.3.54
One unblocking EKS feature, one cross-cutting API Gateway bug fix from a first-time contributor, and two AWS-shape corrections in DynamoDB and EC2. Two reported issues closed.
5 new ops at /clusters/{name}/addons[/{addonName}[/update]]: CreateAddon, DescribeAddon, ListAddons, UpdateAddon, DeleteAddon. Status flips to ACTIVE immediately on create and update — the same shortcut the nodegroup path uses, because Terraform polls until ACTIVE and a slow-roll status would only stall plans. Tags and persistence are wired through the existing patterns. This unblocks aws_eks_addon for the standard cluster bootstrap (vpc-cni, coredns, kube-proxy, aws-ebs-csi-driver), which previously failed at create time with No route for POST /clusters/{name}/addons. Reported by @b-rajesh.
resource "aws_eks_addon" "vpc_cni" {
cluster_name = aws_eks_cluster.this.name
addon_name = "vpc-cni"
}
resource "aws_eks_addon" "coredns" {
cluster_name = aws_eks_cluster.this.name
addon_name = "coredns"
addon_version = "v1.11.4-eksbuild.1"
}
Set-Cookie and multiValueHeaders now reach the clientMulti-value response headers from a Lambda-proxy integration were never reaching the client. HTTP API (v2) dropped the payload-format-2.0 cookies array; REST API (v1) dropped multiValueHeaders; and the underlying _send_response serialised headers through a dict[str, str] so a single header name could carry only one value anyway — making multiple Set-Cookie headers impossible regardless. Any cookie-setting flow (OIDC, BFF sessions, CSRF / consent pairs) silently broke. Real AWS API Gateway honors both fields.
Now:
app.py:_send_response expands a list / tuple header value into one wire line per item (RFC 6265 §3 forbids comma-folding Set-Cookie). Scalar values are unchanged.cookies array to a list-valued Set-Cookie header.multiValueHeaders into the response with multiValueHeaders winning over headers on key collision, matching the AWS contract: "If you specify values for both headers and multiValueHeaders, API Gateway merges them into a single list. If the same key-value pair is specified in both, only the values from multiValueHeaders will appear in the merged list."Set-Cookie in headers plus set-cookie in multiValueHeaders correctly resolves to MVH wins instead of shipping both copies.Contributed by @rmlasseter.
Data-plane ops (PutItem / GetItem / UpdateItem / DeleteItem / Query / Scan) now accept the AWS-documented 1..255 range. The 3-char minimum is a CreateTable-only rule and was incorrectly applied to the data plane. NULL-attribute error message text aligned to "Null attribute value types must have the value of true".
CreateLaunchTemplateVersion returns a single <launchTemplateVersion> struct; DescribeLaunchTemplateVersions wraps the same struct in <launchTemplateVersionSet><item>…</item></launchTemplateVersionSet>. The <item> wrapper now belongs at the list-context boundary, not on the inner struct — matching the AWS Query-protocol response.
docker pull ministackorg/ministack:1.3.54 docker run -d -p 4566:4566 ministackorg/ministack:1.3.54
Or pin in compose.yaml:
services:
ministack:
image: ministackorg/ministack:1.3.54
ports:
- "4566:4566"
Issues and PRs welcome on GitHub. Discussion on r/ministack.