What's Changed
New Contributors
- @whittin3 made their first contribution in #467
- @hiddengearz made their first contribution in #480
[1.3.15] — 2026-04-26
Added
- AWS Backup service — 21 operations across vaults, plans, selections, jobs, and tagging. Multi-tenant via
AccountScopedDict, persisted, and integrated with the Resource Groups Tagging API. Jobs returnCOMPLETEDimmediately — sufficient for Terraformaws_backup_*IaC validation, no real backup is performed. Contributed by @AdigaAkhil. - EventBridge archive event storage and replay dispatch —
PutEventswrites matching events to active archives (incrementingEventCount), andStartReplayre-dispatches the snapshot to the destination bus in a background thread so the destination's current rules and targets fire. Archives persist; replays surviving a restart are flipped toFAILED. Closes the long-standing "stored but not dispatched" gap. Contributed by @AdigaAkhil. - Transfer Family — real SFTP server —
asyncssh-backed listener on:2222(override withSFTP_PORT), backed by ministack's S3 state. Public-key auth resolves the user, server, and account in one shot — nousername$serveriddecoration.SFTP_PORT_PER_SERVER=1allocates one port per server fromSFTP_BASE_PORT(default 2300).HomeDirectoryType=PATHandLOGICALboth honored. Host key persists whenPERSIST_STATE=1. AddsStartServer/StopServer(OFFLINEservers refuse auth).asyncsshlives under the[full]extra; the base install serves the control plane and skips the listener. - CloudFormation
AWS::ApiGatewayV2::IntegrationandAWS::ApiGatewayV2::Routeprovisioners — completes the API Gateway v2 CFN surface, enabling full CDK HTTP API deployments (HttpApi.addRoutes()) against ministack. Both supportFn::GetAtt(IntegrationId,RouteId) and idempotent delete. Contributed by @hiddengearz. - Step Functions alias API —
Create/Update/Delete/Describe/ListStateMachineAliasesplus alias ARN resolution onDescribeStateMachine. Validation matches AWS (name regex, weights summing to 100, referenced versions must exist).DeleteStateMachineVersionnow refuses to drop a version an alias still routes to. Unblocksterraform planonaws_sfn_state_machineunder provider v6, which unconditionally callsListStateMachineAliaseson every refresh. Contributed by @mattwang44. - Step Functions versioning API —
Publish/Delete/ListStateMachineVersionsplus qualified-ARN resolution onDescribeStateMachine.CreateStateMachineacceptspublish=True. Optimistic concurrency viarevisionId; version numbers are monotonic and never reused after delete. Same terraform-provider-aws v6 motivation as the alias API. Contributed by @mattwang44. - CloudWatch Logs Delivery API — 12 actions across
DeliverySource/DeliveryDestination/Delivery(the 2023-era replacement for subscription filters that vended-logs producers like Bedrock and AppSync use to ship to S3 / CWL / Firehose). Server-derivedserviceanddeliveryDestinationType,outputFormatvalidated against the AWS enum, one-Delivery-per-pair enforced withConflictException. Contributed by @mattwang44.
Fixed
- RDS Postgres 18+ container refused to start —
postgres:18+images moved to a major-version-specific data layout (docker-library/postgres#1259) and refused to start with the pre-18 mount path. Mount path is now chosen per major:/var/lib/postgresql/datafor < 18 (unchanged),/var/lib/postgresqlfor ≥ 18. MySQL / MariaDB / Aurora MySQL unaffected. Also addspostgres 18.3,17.5,16.4toDescribeDBEngineVersions. Reported and contributed by @whittin3.
Changed
- RDS containers mount only the engine-appropriate data path — previously both
/var/lib/postgresql/dataand/var/lib/mysqlwere mounted on every container regardless of engine. Harmless but wasteful and opaque when debugging.