What's Changed
New Contributors
[1.3.9] — 2026-04-22
Fixed
- S3 bucket logging / accelerate / request-payment config never persisted —
s3.get_state()ands3.restore_state()only enumerated 11 of the 14 module-level_bucket_*dicts, so_bucket_logging_config,_bucket_accelerate_config, and_bucket_request_payment_configsilently evaporated on warm boot.GetBucketLogging/GetBucketAccelerateConfiguration/GetBucketRequestPaymentreturned empty responses on restart even though the config was set pre-shutdown. Fixed by replacing the hand-maintained enumeration with a_PERSISTED_BUCKET_DICTSregistry (one entry per global, driven by a single iteration in both functions), closing the entire class of "forgot to add the new dict to get_state/restore_state" bug. Reported by @whittin3. - EC2
tag:*/tag-key/tag-valuefilters ignored on mostDescribe*calls — instance tag filters landed in 1.3.8 (contributed by @costi) but the same gap existed on security groups, route tables, NAT gateways, network ACLs, flow logs, VPC peering connections, prefix lists, VPN gateways, and launch templates — each did its own inline filter logic and silently accepted every resource regardless oftag:*. Factored tag filter handling into a shared_resource_matches_tag_filtershelper and wired it into everyDescribe*call that already parses filters. Also addedtag-value(match by value across any key) and AWS-compatible wildcard support (*/?) to every tag filter. Contributed by @costi. - EC2
DescribeImagesmissingRootDeviceName+BlockDeviceMappings— built-in stub AMIs returnedRootDeviceType: ebsbut omitted the root device name and block device mapping entirely, so Terraform's AWS provider errored withfinding Root Device Name for AMIbefore ever reachingRunInstances. CLIrun-instanceswas unaffected (doesn't consult these fields). Stubs now expose/dev/xvdafor Linux AMIs and/dev/sda1for the Windows Server stub, with an 8 GBgp2EBS block device mapping; the Windows stub also now reportsPlatform=windows, matching AWS. Reported by @fatmoon.