All notable changes to this project are documented here.
v0.4.0
Regenerated from the latest googleapis definitions and modernized the
toolchain. Minor breaking change: consumers must move to grpc ~> 1.0.
Dependencies & tooling
protobuf~> 0.15→~> 0.17grpc~> 0.11.5→~> 1.0ex_doc~> 0.39→~> 0.40- Minimum Elixir raised to
~> 1.15
Shared types now inherited from dependencies (no longer generated here)
This fixes duplicate-module collisions in apps that also depend on these packages:
Google.Protobuf.*— provided by:protobufGoogle.Api.*,Google.Rpc.*,Google.Type.*,Google.Longrunning.*,Google.Bytestream.*,Google.Geo.*— provided by:googleapis(pulled in transitively bygrpc)- Exception: the
google.apimonitoring types:googleapisomits (MetricDescriptor,MonitoredResource,Distribution,LabelDescriptor) are still generated locally.
Module names are unchanged, so application code referencing Google.Rpc.Status,
Google.Type.*, etc. keeps working — those types just resolve to the dependency.
Added
- Google IAM v1 (
google.iam.v1) — policy /SetIamPolicy/GetIamPolicytypes - Long-Running Operations (
google.longrunning) - Cloud Logging v2 (
google.logging) - Confirmed BigQuery Storage v1 coverage
Internal
update-protos.sh: prefer systemprotoc(pinned download fallback viaPROTOC_VERSION), resolveprotoc-gen-elixirpast asdf/rtx shims, and flatten the duplicated package directories emitted byprotobuf >= 0.16..formatter.exs: import:protobufformatter rules so generated*.pb.exfiles passmix format --check-formatted.- Added smoke tests guarding against collision and coverage regressions.