What's Changed
New Contributors
[1.3.19] — 2026-04-29
Added
- S3 virtual-hosted and path-style integration tests —
TestS3VhostGetPutObjectexercises both addressing styles end-to-end (simple and max-length dotted bucket names),TestExtractS3VhostBucketunit-tests the vhost extraction function, andpatch_endpoint_dnslets virtual-hosted requests resolve against localhost in CI.make_clientnow acceptsadditional_config_kwargsfor per-test SDK config overrides. Contributed by @mgius-ae.
Fixed
- S3 requests via custom
MINISTACK_HOSThostname returnedNoSuchBucket—_extract_s3_vhost_bucket(introduced in 1.3.17) treated any dotted hostname as a virtual-hosted S3 URL, extracting the first label as a bucket name. Requests tohttp://aws.private:4566were misrouted as a vhost request for a bucket namedaws. The function now checks the tail againstMINISTACK_HOSTand recognises all 18 documented AWS S3 virtual-hosted patterns (s3,s3-accelerate,s3-fips,s3-accesspoint,s3-accesspoint-fips,s3-website,s3express-*, and their dualstack/regional variants). Bare hostnames, IPv4 addresses, andlocalhostare correctly treated as path-style. Reported by @dsrosario. - Glue
GetDatabasereturnedLocationUri: ""when not set — AWS specifies a minimum length of 1 forLocationUri, so the empty-string default violated the spec. Now returnsnullwhen the field is omitted fromCreateDatabase. Contributed by @dcrn. - Ruff linter not running on pull requests — CI workflow trigger was missing the PR event.