Pomerium v0.10.0 Release Notes
Release Date: 2020-08-07 // over 3 years ago-
v0.10.0
๐ Please be sure to review the upgrade guide! This release include many bug fixes and improvements, but also several breaking changes.
๐ Changes
- โ Add storage backend interface @cuonglm GH-1072
- โก๏ธ all: update outdated comments about OptionsUpdater interface @cuonglm GH-1207
- ๐ Allow specify go executable in Makefile @cuonglm GH-1008
- audit: add protobuf definitions @calebdoxsey GH-1047
- authenticate: hide impersonation form from non-admin users @cuonglm GH-979
- ๐ authenticate: move impersonate from proxy to authenticate @calebdoxsey GH-965
- ๐ authenticate: remove useless/duplicated code block @cuonglm GH-962
- authenticate: revoke current session oauth token before sign out @cuonglm GH-964
- authorize,proxy: allow traefik forward auth without uri query @cuonglm GH-1103
- authorize: add evaluator store @calebdoxsey GH-1105
- โ authorize: add test for denied response @cuonglm GH-1197
- ๐ authorize: avoid serializing databroker data map to improve performance @calebdoxsey GH-995
- authorize: clear session state if session was deleted in databroker @cuonglm GH-1053
- authorize: derive check response message from reply message @cuonglm GH-1193
- authorize: include "kid" in JWT header @cuonglm GH-1049
- authorize: store policy evaluator on success only @cuonglm GH-1206
- โ authorize/evaluator: add more test cases @cuonglm GH-1198
- authorize/evaluator: fix wrong custom policies decision @cuonglm GH-1199
- authorize/evaluator/opa: use route policy object instead of array index @cuonglm GH-1001
- cache: add client telemetry @travisgroth GH-975
- โ cache: add test for runMemberList @cuonglm GH-1007
- cache: attempt to join memberlist cluster for sanity check @travisgroth GH-1004
- cache: fix missing parameter @travisgroth GH-1005
- cache: only run memberlist for in-memory databroker @travisgroth GH-1224
- ๐ ci: Add cloudrun build @travisgroth GH-1097
- ๐ ci: support rc releases @travisgroth GH-1011
- cmd/pomerium-cli: do not require terminal with cached creds @travisgroth GH-1196
- config: add check to assert service account is required for policies with allowed_groups @desimone GH-997
- ๐ config: add support for policies stored in the databroker @calebdoxsey GH-1099
- ๐ config: additional kubernetes token source support @travisgroth GH-1200
- ๐ config: allow setting directory sync interval and timeout @cuonglm GH-1098
- 0๏ธโฃ config: default to google idp credentials for serverless @travisgroth GH-1170
- config: fix loading storage client cert from wrong location @travisgroth GH-1212
- config: Set loopback address by ipv4 IP @travisgroth GH-1116
- ๐ cryptutil: move to pkg dir, add token generator @calebdoxsey GH-1029
- ๐ deployment: fix brew creation for pomerium-cli @travisgroth GH-1192
- directory.Group entry for groups @calebdoxsey GH-1118
- ๐ docs/docs: update upgrading to mention redis storage backend @cuonglm GH-1172
- envoy: disable idle timeouts to controlplane @travisgroth GH-1000
- grpc: rename internal/grpc to pkg/grpc @calebdoxsey GH-1010
- grpc: use relative paths in codegen @desimone GH-1106
- ๐ grpcutil: add functions for JWTs in gRPC metadata @calebdoxsey GH-1165
- Increasing authorize coverage @cuonglm GH-1221
- integration: add dummy value for idp_service_account @cuonglm GH-1009
- internal/controlplane: set envoy prefix rewrite if present @cuonglm GH-1034
- internal/controlplane: using envoy strip host port matching @cuonglm GH-1126
- internal/databroker: handle new db error @cuonglm GH-1129
- internal/databroker: store server version @cuonglm GH-1121
- internal/directory: improve google user groups list @cuonglm GH-1092
- internal/directory: use both id and name for group @cuonglm GH-1086
- internal/directory/google: return both group e-mail and id @travisgroth GH-1083
- ๐ฑ internal/frontend/assets/html: make timestamp human readable @cuonglm GH-1107
- internal/sessions: handle claims "ver" field generally @cuonglm GH-990
- โ internal/urlutil: add tests for GetDomainsForURL @cuonglm GH-1183
- memberlist: use bufio reader instead of scanner @calebdoxsey GH-1002
- ๐จ config: options refactor @calebdoxsey GH-1088
- ๐ฆ pkg: add grpcutil package @calebdoxsey GH-1032
- ๐ฆ pkg/storage: add package docs @cuonglm GH-1078
- pkg/storage: change backend interface to return error @cuonglm GH-1131
- pkg/storage: introduce storage.Backend Watch method @cuonglm GH-1135
- pkg/storage: make Watch returns receive only channel @cuonglm GH-1211
- ๐ฆ pkg/storage/redis: do not use timeout to signal redis conn to stop @cuonglm GH-1155
- pkg/storage/redis: fix multiple data race @cuonglm GH-1210
- โก๏ธ pkg/storage/redis: metrics updates @travisgroth GH-1195
- ๐ pkg/storage/redis: move last version to redis @cuonglm GH-1134
- โฌ๏ธ proxy: add support for spdy upgrades @travisgroth GH-1203
- proxy: avoid second policy validation @travisgroth GH-1204
- ๐จ proxy: refactor handler setup code @travisgroth GH-1205
- set session state expiry @calebdoxsey GH-1215
- โ Sleep longer before running integration tests @cuonglm GH-968
- telemetry: add tracing spans to cache and databroker @travisgroth GH-987
๐ New
- authenticate: allow hot reloaded admin users config @cuonglm [GH-984]
- ๐ authenticate: support hot reloaded config @cuonglm GH-984
- authorize: custom rego policies @calebdoxsey GH-1123
- authorize: include "kid" in JWT headers @cuonglm [GH-1046]
- azure: use OID for user id in session @calebdoxsey GH-985
- config: add pass_identity_headers @cuonglm [GH-903]
- config: add remove_request_headers @cuonglm [GH-822]
- config: both base64 and file reference can be used for "certificates" @dmitrif [GH-1055]
- ๐ config: change config key parsing to attempt Base64 decoding first. @dmitrif GH-1055
- 0๏ธโฃ config: change default log level to INFO @cuonglm [GH-902]
- custom rego in databroker @calebdoxsey GH-1124
- databroker server backend config @cuonglm GH-1127
- databroker: add encryption for records @calebdoxsey GH-1168
- ๐ deploy: Add homebrew tap publishing @travisgroth GH-1179
- ๐ deployment: cut separate archive for cli @desimone GH-1177
- ๐ directory: add service account struct and parsing method @calebdoxsey GH-971
- envoy: enable strip host port matching @cuonglm [GH-1126]
- github: implement github directory provider @calebdoxsey GH-963
- google: store directory information by user id @calebdoxsey GH-988
- ๐ identity: support custom code flow request params @desimone GH-998
- implement google cloud serverless authentication @calebdoxsey GH-1080
- internal/directory/okta: store directory information by user id @cuonglm GH-991
- internal/directory/onelogin: store directory information by user id @cuonglm GH-992
- kubernetes apiserver integration @calebdoxsey GH-1063
- ๐ pkg/storage/redis: add authentication support @cuonglm GH-1159
- ๐ pkg/storage/redis: add redis TLS support @cuonglm GH-1163
- pomerium-cli k8s exec-credential @calebdoxsey GH-1073
- redis storage backend @cuonglm GH-1082
- telmetry: add databroker storage metrics and tracing @travisgroth GH-1161
- ๐ use custom binary for arm64 linux release @calebdoxsey GH-1065
๐ Fixed
- authenticate: fix wrong condition checking in VerifySession @cuonglm GH-1146
- authenticate: fix wrong SignIn telemetry name @cuonglm GH-1038
- authorize: Force redirect scheme to https @travisgroth GH-1075
- authorize: strip port from host header if necessary @cuonglm GH-1175
- authorize/evaluator/opa: set client tls cert usage explicitly @travisgroth GH-1026
- authorize/evaluator/opa/policy: fix allow rules with impersonate @cuonglm GH-1094
- cache: fix data race in NotifyJoin @cuonglm GH-1028
- ๐ ci: fix arm docker image releases @travisgroth GH-1178
- ci: Prevent dirty git state @travisgroth GH-1117
- ๐ ci: release fixes @travisgroth GH-1181
- config: fix deep copy of config @calebdoxsey GH-1089
- controlplane: add robots route @desimone GH-966
- ๐ deploy: ensure pomerium-cli is built correctly @travisgroth GH-1180
- ๐ deployment: fix pomerium-cli release @desimone GH-1104
- envoy: Set ExtAuthz Cluster name to URL Host @travisgroth GH-1132
- ๐ fix databroker restart versioning, handle missing sessions @calebdoxsey GH-1145
- ๐ fix lint errors @travisgroth GH-1171
- ๐ fix redirect loop, remove user/session services, remove duplicate deleted_at fields @calebdoxsey GH-1162
- ๐ handle example.com and example.com:443 @calebdoxsey GH-1153
- internal/controlplane: enable envoy use remote address @cuonglm GH-1023
- internal/databroker: fix wrong server version init @cuonglm GH-1125
- pkg/grpc: fix wrong audit protoc gen file @cuonglm GH-1048
- pkg/storage/redis: handling connection to redis backend failure @cuonglm GH-1174
- pomerium-cli: fix kubernetes token caching @calebdoxsey GH-1169
- ๐ pomerium-cli: kubernetes fixes @calebdoxsey GH-1176
- 0๏ธโฃ proxy: do not set X-Pomerium-Jwt-Assertion/X-Pomerium-Claim-* headers by default @cuonglm [GH-903]
- proxy: fix invalid session after logout in forward auth mode @cuonglm GH-1062
- proxy: fix redirect url with traefik forward auth @cuonglm GH-1037
- proxy: fix wrong forward auth request @cuonglm GH-1030
๐ Documentation
- ๐ docs: Update synology.md @roulesse GH-1219
- ๐ docs: add installation section @travisgroth GH-1223
- ๐ docs: add kubectl config commands @travisgroth GH-1152
- ๐ docs: add kubernetes docs @calebdoxsey GH-1087
- ๐ docs: add recipe for TiddlyWiki on Node.js @favadi GH-1143
- ๐ docs: add required in cookie_secret @mig4ng GH-1142
- ๐ docs: add warnings cones around requiring IdP Service Accounts @travisgroth GH-999
- ๐ docs: cloud Run / GCP Serverless @travisgroth GH-1101
- docs: document preserve_host_header with policy routes to static ip @cuonglm GH-1024
- ๐ docs: fix incorrect example middleware @travisgroth GH-1128
- ๐ docs: fix links, clarify upgrade guide for v0.10 @desimone GH-1220
- ๐ docs: fix minor errors @travisgroth GH-1214
- ๐ docs: Kubernetes topic @travisgroth GH-1222
- ๐ docs: Move examples repo into main repo @travisgroth GH-1102
- ๐ docs: Redis and stateful storage docs @travisgroth GH-1173
- ๐ docs: refactor sections, consolidate examples @desimone GH-1164
- ๐ docs: rename docs/reference to docs/topics @desimone GH-1182
- ๐ docs: service account instructions for azure @calebdoxsey GH-969
- ๐ docs: service account instructions for gitlab @calebdoxsey GH-970
- ๐ docs: update architecture diagrams + descriptions @travisgroth GH-1218
- ๐ docs: update GitHub documentation for service account @calebdoxsey GH-967
- ๐ docs: Update Istio VirtualService example @jeffhubLR GH-1006
- ๐ docs: update okta service account docs to match new format @calebdoxsey GH-972
- ๐ Docs: Update README stating specific requirements for SIGNING_KEY @bradjones1 GH-1217
- ๐ docs: update reference docs @desimone GH-1208
- ๐ docs: update service account instructions for OneLogin @calebdoxsey GH-973
- ๐ docs: update upgrading document for breaking changes @calebdoxsey GH-974
- ๐ docs/.vuepress: fix missing local-oidc recipes section @cuonglm GH-1147
- ๐ docs/configuration: add doc for trailing slash limitation in "To" field @cuonglm GH-1040
- ๐ docs/docs: add changelog for #1055 @cuonglm GH-1084
- ๐ docs/docs/identity-providers: document gitlab default scopes changed @cuonglm GH-980
- ๐ docs/recipes: add local oidc example @cuonglm GH-1045
Dependency
- chore(deps): bump envoy to 1.15.0 @desimone GH-1119
- chore(deps): google.golang.org/genproto commit hash to da3ae01 @renovate GH-1138
- chore(deps): module google/go-cmp to v0.5.1 @renovate GH-1139
- โก๏ธ chore(deps): update envoy to 1.14.4 @desimone GH-1076
- โก๏ธ chore(deps): update github.com/skratchdot/open-golang commit hash to eef8423 @renovate GH-1108
- โก๏ธ chore(deps): update golang.org/x/crypto commit hash to 123391f @renovate GH-1184
- โก๏ธ chore(deps): update golang.org/x/crypto commit hash to 948cd5f @renovate GH-1056
- โก๏ธ chore(deps): update golang.org/x/net commit hash to 4c52546 @renovate GH-1017
- โก๏ธ chore(deps): update golang.org/x/net commit hash to ab34263 @renovate GH-1057
- โก๏ธ chore(deps): update golang.org/x/sync commit hash to 6e8e738 @renovate GH-1018
- โก๏ธ chore(deps): update google.golang.org/genproto commit hash to 11fb19a @renovate GH-1109
- โก๏ธ chore(deps): update google.golang.org/genproto commit hash to 8145dea @renovate GH-1185
- โก๏ธ chore(deps): update google.golang.org/genproto commit hash to 8698661 @renovate GH-1058
- โก๏ธ chore(deps): update google.golang.org/genproto commit hash to 8e8330b @renovate GH-1039
- โก๏ธ chore(deps): update google.golang.org/genproto commit hash to ee7919e @renovate GH-1019
- โก๏ธ chore(deps): update google.golang.org/genproto commit hash to fbb79ea @renovate GH-945
- โก๏ธ chore(deps): update module cenkalti/backoff/v4 to v4.0.2 @renovate GH-946
- โก๏ธ chore(deps): update module contrib.go.opencensus.io/exporter/jaeger to v0.2.1 @renovate GH-1186
- โก๏ธ chore(deps): update module contrib.go.opencensus.io/exporter/zipkin to v0.1.2 @renovate GH-1187
- โก๏ธ chore(deps): update module envoyproxy/go-control-plane to v0.9.6 @renovate GH-1059
- โก๏ธ chore(deps): update module go.opencensus.io to v0.22.4 @renovate GH-948
- โก๏ธ chore(deps): update module golang/mock to v1.4.4 @renovate GH-1188
- โก๏ธ chore(deps): update module google.golang.org/api to v0.28.0 @renovate GH-949
- โก๏ธ chore(deps): update module google.golang.org/api to v0.29.0 @renovate GH-1060
- โก๏ธ chore(deps): update module google.golang.org/grpc to v1.30.0 @renovate GH-1020
- โก๏ธ chore(deps): update module google.golang.org/grpc to v1.31.0 @renovate GH-1189
- โก๏ธ chore(deps): update module google.golang.org/protobuf to v1.25.0 @renovate GH-1021
- โก๏ธ chore(deps): update module google/go-cmp to v0.5.0 @renovate GH-950
- โก๏ธ chore(deps): update module hashicorp/memberlist to v0.2.2 @renovate GH-951
- โก๏ธ chore(deps): update module open-policy-agent/opa to v0.21.0 @renovate GH-952
- โก๏ธ chore(deps): update module open-policy-agent/opa to v0.21.1 @renovate GH-1061
- โก๏ธ chore(deps): update module open-policy-agent/opa to v0.22.0 @renovate GH-1110
- โก๏ธ chore(deps): update module prometheus/client_golang to v1.7.0 @renovate GH-953
- โก๏ธ chore(deps): update module prometheus/client_golang to v1.7.1 @renovate GH-1022
- โก๏ธ chore(deps): update module spf13/cobra to v1 @renovate GH-1111
- โก๏ธ chore(deps): update module spf13/viper to v1.7.1 @renovate GH-1190
- chore(deps):s bump opa v0.21.0 @desimone GH-993