What's Changed
New Contributors
[1.3.50] — 2026-05-26
Added
- S3 Tables (
s3tables) — new service emulator for the AWS S3 Tables API: table buckets, namespaces, and Iceberg-format tables. Control plane coversCreateTableBucket,ListTableBuckets,GetTableBucket,DeleteTableBucket,CreateNamespace,ListNamespaces,GetNamespace,DeleteNamespace,CreateTable,ListTables,GetTable,DeleteTable,GetTableMetadataLocation,UpdateTableMetadataLocation. Ships with an embedded Iceberg REST catalog at/icebergso Spark jobs configured withspark.sql.catalog.*.type=restandspark.sql.catalog.*.uri=http://<ministack>/icebergcan create, load, and commit Iceberg tables without an external catalog server. Data files land in MiniStack's S3 service; table metadata (schemas, snapshots, manifests) lives in memory. - Glue Spark jobs run on the official
amazon/aws-glue-libsPySpark image —GlueVersion: 4.0and3.0map to their canonical AWS Glue images (glue_libs_4.0.0_image_01/glue_libs_3.0.0_image_01); override the image viaGLUE_DOCKER_IMAGE. Job containers run on MiniStack's Docker network so they reach S3, RDS, and other ministack services by container hostname. - IAM
UpdateAccessKey— enables toggling an access key betweenActiveandInactive, matching the two statuses the real AWS API accepts. OptionalUserNameis validated when provided. Contributed by @lahmish. - IAM
GetAccessKeyLastUsed— returns the AWS "never used" shape (Region/ServiceName=N/A, noLastUsedDate) since MiniStack does not track per-key usage history. Contributed by @lahmish.
Fixed
- Lambda invocation log includes user output alongside the traceback on error — when a handler raised after printing, the response log dropped the user output and only returned the traceback. Both are now returned, newline-separated, matching real Lambda CloudWatch Logs output. Contributed by @Baptiste-Garcin.
- EC2
CreateVpcEndpointandCreateFlowLogsnow persistTagSpecifications— tags passed at creation time were silently dropped. Tags are now stored, returned byDescribeFlowLogs, and cleaned up onDeleteFlowLogs. Thefl-prefix is also registered in the resource-type guesser so flow-log IDs are correctly resolved by the Resource Groups Tagging API. Contributed by @lahmish.