September 1, 2026 · v1.5.5
v1.5.5 makes Bedrock honest: knowledge-base ingestion actually reads the bucket, Retrieve actually retrieves, and guardrails actually guard. KMS gains multi-Region keys with ReplicateKey, an RDS cluster endpoint stays valid across container replacements, and a gateway fix stops silent data loss on gzip-compressed SDK requests.
StartIngestionJob reads the S3 data source (honouring inclusionPrefixes) and reports real statistics — scanned, new versus modified, failures with a reason each — and an unreadable source lands FAILED instead of fabricated success. Retrieve searches the ingested documents and returns content, s3Location and a score. Reported by @bradleyhet.ReplicateKey. CreateKey with MultiRegion mints an mrk- key, replicas share the key material so a ciphertext from the primary decrypts against the replica, and deleting a primary with live replicas lands PendingReplicaDeletion. Reported by @cringdahl.ApplyGuardrail evaluated nothing; the deterministic policies now enforce — word policy, sensitive-information regexes, pattern-matchable PII with BLOCK and ANONYMIZE — with the documented assessment anatomy, and Converse/ConverseStream apply the same evaluation (stopReason: guardrail_intervened). InvokeAgent no longer fabricates an orchestration trace. Reported by @bradleyhet.@requestCompression makes SDKs gzip large PutMetricData calls with no client configuration; the handler parsed the compressed bytes, answered 200 and stored nothing. The body is now inflated once the target service is known — S3 excluded, where Content-Encoding is object metadata. Contributed by @Lukasdoe.PreventUserExistenceErrors=ENABLED hides an unknown user. The auth flows answer NotAuthorizedException, ForgotPassword/ResendConfirmationCode answer simulated delivery details with the masked destination (j****@e****), and admin directory operations keep UserNotFoundException. Contributed by @fhfournier.AWSTraceHeader and the FIFO attributes. The trace header and MessageGroupId/MessageDeduplicationId/SequenceNumber now ride each record when set, per the documented event shape. Reported by @future-h-takeda-g3.bytes per chunk; all four now join once, taking a 95 MB PutObject from ~23 s to ~0.3 s. Reported by @vernonhaughton.docker pull ministackorg/ministack:1.5.5 docker run -d -p 4566:4566 ministackorg/ministack:1.5.5
Or pin in compose.yaml:
services:
ministack:
image: ministackorg/ministack:1.5.5
ports:
- "4566:4566"
Issues and PRs welcome on GitHub. Discussion on r/ministack.