July 8, 2026 · v1.4.0 “Areson”
v1.4.0 is MiniStack's biggest release yet: multi-region support — resource state isolated per account and region, exactly like real AWS — plus four new Amazon Bedrock services covering the control plane, runtime, agents, and agent runtime, and Amazon MSK.
region_name your SDK is configured with, on both header-signed and presigned requests — so two clients pointed at different regions see fully independent resources. Region-isolated in this release: AppConfig, Bedrock (all four services), CloudWatch, CloudWatch Logs, DynamoDB (tables, metadata, and Streams), Lambda (functions, event source mappings, durable executions), MSK, RDS, S3 Tables, Secrets Manager, SQS, SSM Parameter Store, and Step Functions. Cross-resource references resolve in the referenced ARN's own account and region (SNS → SQS fanout, EventBridge targets, event source mappings), background workers re-scope to each resource's tenant, and cross-region references that real AWS rejects now return the same errors AWS returns. Persisted state moves to an on-disk format v2 with a version stamp — a newer-format file is refused instead of mis-parsed on downgrade — and legacy account-scoped state files load and migrate automatically, recovering each record's region from its stored ARNs. Services not listed keep sharing state across regions within an account, exactly as in 1.3.x; region isolation for them lands in subsequent releases. Contributed by @Areson, who built the entire multi-region migration.bedrock-2023-04-20: a foundation-model catalog with real model IDs, inference profiles (system and application-managed), guardrails with versioning, custom and imported models, provisioned model throughput, and the model customization / import / copy / batch-invocation job families.Converse, ConverseStream, InvokeModel, and InvokeModelWithResponseStream with the real eventstream wire format, plus ApplyGuardrail and async invokes. Responses are deterministic, family-aware mocks selected by model ID prefix — Anthropic, Titan, Nova, Llama, Mistral, Cohere, and AI21 shapes — so SDK parsing and streaming code paths run unchanged. Set MINISTACK_BEDROCK_PROXY_URL to any OpenAI-compatible endpoint (Ollama, llama.cpp, vLLM) and Converse / InvokeModel return real completions through the Bedrock API, falling back to the mock on connection error.InvokeAgent, Retrieve / RetrieveAndGenerate, reranking, the full session and invocation-step API, flow executions, and prompt optimization.Led by @dcabib.
CreateCluster, ListClusters, DescribeCluster, DeleteCluster, ListNodes), configurations with revisions, SCRAM secret association, and tagging. GetBootstrapBrokers honors MINISTACK_MSK_BOOTSTRAP (with _TLS / _SASL_SCRAM / _SASL_IAM variants) — point it at a real broker you bring (Redpanda, Kafka, KRaft) and clients route straight to it while the control plane stays emulated. The Kafka wire protocol itself is not emulated.docker pull ministackorg/ministack:1.4.0 docker run -d -p 4566:4566 ministackorg/ministack:1.4.0
Or pin in compose.yaml:
services:
ministack:
image: ministackorg/ministack:1.4.0
ports:
- "4566:4566"
Upgrading with PERSIST_STATE=1: existing state files load and migrate automatically. Legacy records that carry no ARN migrate to the default region (MINISTACK_REGION) — if your clients used a different region than MINISTACK_REGION on a non-ARN service, re-create those resources once under the new region scoping.
Issues and PRs welcome on GitHub. Discussion on r/ministack.