Skip to content

0.9.0

Choose a tag to compare

@hectorvent hectorvent released this 09 Jul 06:17
· 92 commits to main since this release
0aea504

🎉 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:

  • Paginated blob listings (#86)
  • Expired blob SAS rejected (#90)

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

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 / azurerm users (#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 Resettable self-registration by @hectorvent in #107
  • fix(build): restore docker/Dockerfile.jvm-package for local compat builds by @hectorvent in #105

🧰 Refactors

  • chore(core): extract shared ARM helpers into core/arm by @hectorvent in #111
  • chore: remove unreachable ContainerAppService, rename SasTokenParser to SasTokenVerifier by @hectorvent in #106
  • chore(build): single-source compat suite env and deduplicate Makefile targets by @hectorvent in #109

🧪 CI

  • ci: run compatibility tests against native image by @electrum in #95

📚 Documentation

  • docs: add AGENTS.md with repository operating rules for coding agents by @hectorvent in #110

📦 Dependencies

  • build(deps): bump graalvm/setup-graalvm from 1.5.3 to 1.5.6 by @dependabot in #101
  • build(deps): bump actions/checkout from 4 to 7 by @dependabot in #102

👋 New Contributors

A warm welcome to @Ali-Shaikh, making their first contribution to floci-az:

Full Changelog: 0.8.0...0.9.0