0.9.0
🎉 Highlights
This release adds Azure Database for PostgreSQL, Managed Identity with IMDS token endpoint, and Private Endpoint / Private DNS, brings a Blob storage conformance pass, and lands important Docker networking fixes that make Azure SQL and PostgreSQL data planes reachable across shared networks. Welcome to first-time contributor @Ali-Shaikh.
🆕 New: Azure Database for PostgreSQL (Flexible Server)
Azure Database for PostgreSQL (Flexible Server) support lands (#80), backed by a real PostgreSQL engine. Data plane is now reachable on shared Docker networks (#97), so applications running in adjacent containers can connect the way they would in real Azure.
🔐 New: Managed Identity
Managed Identity emulation is now supported (#113), with ARM CRUD for identity lifecycle and the IMDS token endpoint for authenticating workloads. Combined with the Microsoft Entra ID OIDC support from 0.7.0, applications that authenticate via the full Azure identity stack can now complete their flows locally.
🌐 New: Private Endpoint + Private DNS
Private Endpoint and Private DNS support (#112) unblocks the "connect privately" patterns that real Azure deployments use for PaaS services, and IaC that provisions them now works locally.
🪣 Blob storage conformance pass
Two coordinated Blob storage improvements from @electrum:
Continues the Blob conformance work from 0.8.0 (content ranges, delimited-list prefixes, DFS routing).
🐳 Docker network reachability
A cross-service fix pattern lands this cycle: PostgreSQL (#97) and Azure SQL (#99) data planes are now reachable on shared Docker networks. Applications running in Docker Compose or other multi-container setups can connect to floci-az PaaS services from adjacent containers, matching how these workloads actually deploy.
Terraform / azurerm users also get TLS-required guidance made discoverable (#98).
🔄 Global reset
floci-core gains a Resettable self-registration mechanism (#107) so all services can reset via a shared endpoint. Useful for CI suites that need a clean starting state without restarting the container, matching the AWS floci-core pattern from 1.5.29.
🧰 ARM helpers extracted
Shared ARM helpers are now extracted into core/arm (#111), reducing per-service ARM plumbing. Useful groundwork as the service catalog continues to grow.
🧪 Native image CI
Compatibility tests now run against the native image (#95), catching native-image-specific regressions at PR time. Matches the AWS and GCP CI patterns.
✨ New Features
- feat(postgres): add Azure Database for PostgreSQL (Flexible Server) support by @Ali-Shaikh in #80
- feat(managedidentity): add Managed Identity emulation (ARM CRUD + IMDS token endpoint) by @hectorvent in #113
- feat(network): add Private Endpoint and Private DNS support by @hectorvent in #112
🐛 Bug Fixes
Blob storage
- fix(blob): paginate blob listings by @electrum in #86
- fix(blob): reject expired blob SAS by @electrum in #90
Docker networking
- fix(postgres): make PostgreSQL data plane reachable on a shared Docker network (+ compat test) by @Ali-Shaikh in #97
- fix(sql): make Azure SQL data plane reachable on a shared Docker network by @Ali-Shaikh in #99
- fix(docs): make TLS-required guidance discoverable for Terraform /
azurermusers (#94) by @Ali-Shaikh in #98
ACR / Core / Build
- fix(acr): restart the shared registry container if it dies after first start by @hectorvent in #108
- fix(core): reset all services via
Resettableself-registration by @hectorvent in #107 - fix(build): restore
docker/Dockerfile.jvm-packagefor local compat builds by @hectorvent in #105
🧰 Refactors
- chore(core): extract shared ARM helpers into
core/armby @hectorvent in #111 - chore: remove unreachable
ContainerAppService, renameSasTokenParsertoSasTokenVerifierby @hectorvent in #106 - chore(build): single-source compat suite env and deduplicate Makefile targets by @hectorvent in #109
🧪 CI
📚 Documentation
- docs: add
AGENTS.mdwith repository operating rules for coding agents by @hectorvent in #110
📦 Dependencies
- build(deps): bump
graalvm/setup-graalvmfrom 1.5.3 to 1.5.6 by @dependabot in #101 - build(deps): bump
actions/checkoutfrom 4 to 7 by @dependabot in #102
👋 New Contributors
A warm welcome to @Ali-Shaikh, making their first contribution to floci-az:
- @Ali-Shaikh in #80
Full Changelog: 0.8.0...0.9.0