Releases: harness/ff-proxy
1.0.5
2.0.5
2.0.4
What's Changed
- Add feature flag proxy configurations with external secret support by @arya-harness in #358
- PL-56357 - Fix regex used to generate notifications by @jcox250 in #359
New Contributors
- @arya-harness made their first contribution in #358
Full Changelog: 2.0.3...2.0.4
2.0.3
What's Changed
- Update docker-compose.yaml by @jcox250 in #348
- FFM-11809 Don't log context cancellations as errors in /stream request by @jcox250 in #349
- FFM-11815 - Don't log context canceled as an error when fetching targets by @jcox250 in #350
- feat: [FFM-11827]: And rule docs by @conormurray95 in #351
- FFM-11834 - Cleanup old key config by @jcox250 in #352
- FFM-11841 Don't log error when someone tries to auth with an invalid key by @jcox250 in #354
- FFM-11839 When SDK keys don't exist don't log an error by @jcox250 in #353
- FFM-11867 Cleanup error logs by @jcox250 in #355
- FFM-11873 Lock for entirety of safeMetricsRequestMap.get() by @jcox250 in #356
- cleanup log by @jcox250 in #357
Full Changelog: 2.0.2...2.0.3
2.0.2
What's Changed
- FFM-11692 Add Connection: close header to metrics requests by @jcox250 in #322
- FFM-11697 Add support for Harness-Target header by @jcox250 in #323
- FFM-11707 Make REDIS_ADDR required by @jcox250 in #326
- FFM-11691 Don't log context cancelled in DeltaAdd func by @jcox250 in #329
- FFM-11730 Don't log errors in Evaluation code path if the client cancels the request by @jcox250 in #330
- FFM-11733 Bump Go SDK version by @jcox250 in #332
- FFM-11733 Don't swallow error in StreamForwarder by @jcox250 in #333
- FFM-11738 Fix flakey test by @jcox250 in #334
- FFM-11714 Optimising memory allocations by @jcox250 in #339
- FFM-11714 - More memory optimisations for response encoding by @jcox250 in #340
- chore: rebase chart by @rssnyder in #317
- FFM-11714 Reduce number of labels used in prometheus by @jcox250 in #341
- Update README.md by @jcox250 in #343
- FFM-11474 Env validation by @jcox250 in #342
- FFM-11799 Don't apply EnvValidation middleware to health endpoint by @jcox250 in #344
- FFM-11686 Don't encode error if the response has been committed by @jcox250 in #345
- FFM-11807 Fix redis user/password auth by @jcox250 in #347
Full Changelog: 2.0.1...2.0.2
2.0.1
What's Changed
-
FFM-14473 Reset context timeout in connect/disconnect handlers by @jcox250 in #313
- This fixes an issue where the context could time out and prevent connect/disconnect stream events from being published to redis.
-
FFM-11605 Close Pushpin streams in ReadReplicaMessageHandler by @jcox250 in #314
- This fixes an issue introduced in
2.0.0
that caused read replicas to not close streams with SDKs properly.
- This fixes an issue introduced in
-
(FFM-11532) Add beta AND rule support by @conormurray95 in #312
- Beta feature to add support for AND rules in Harness Saas into the Proxy. To opt in to this feature you need to configure your Proxy to set the
AND_RULES
environment variable totrue
.
- Beta feature to add support for AND rules in Harness Saas into the Proxy. To opt in to this feature you need to configure your Proxy to set the
-
Fix redis address handling by @subosito in #315
- There was an issue with how the Proxy handled redis URLs prefixed with
redis://
. This fixes that issue so that all of the below options work for configuring the redis URL
- There was an issue with how the Proxy handled redis URLs prefixed with
$ ./ff-proxy --proxy-key <proxy-key> --redis-address localhost:6379
$ ./ff-proxy --proxy-key <proxy-key> --redis-address redis://localhost:6379
$ ./ff-proxy --proxy-key <proxy-key> --redis-address rediss://localhost:6379
-
FFM-11600 Use featureName in metrics aggregation if featureIdentifier is empty by @jcox250 in #319
- This fixes a bug where the Proxy metric aggregation wouldn't work properly with certain SDKs (Java, .NET)
-
FFM-11542 Add validation to Targets on auth path by @jcox250 in #321
- Adds the same validation that Harness Saas uses on Targets in the
/client/auth
path. This prevents the Proxy from accepting invalid targets from SDKs and logging out an error when it tries to forward them to Saas
- Adds the same validation that Harness Saas uses on Targets in the
New Contributors
Full Changelog: 2.0.0...2.0.1
2.0.0
What's Changed
- FFM-9461 remove old code by @jcox250 in #177
- FFM-9465 Use ProxyKey to Authenticate with SaaS on Startup by @jcox250 in #179
- FFM-9466 Fetch config from SaaS on startup by @jcox250 in #180
- FFM-9479 Load config from SaaS into redis by @jcox250 in #181
- FFM-9480 Make local config implement Config interface by @jcox250 in #182
- FFM-9501 Get tests passing and disable e2e tests by @jcox250 in #183
- FFM-9501 update proxyconfig tests by @jcox250 in #184
- FFM-9523 Add READ_REPLICA env var by @jcox250 in #186
- FFM-9186 Push metrics onto redis when operating as a ReadReplica by @jcox250 in #187
- FFM-9187 Forward metrics from redis stream to SaaS by @jcox250 in #188
- FFM-9536 Refactor by @jcox250 in #189
- FFM-9190 Add SSE Client by @jcox250 in #190
- FFM-9552 Create MessageHandler for refreshing cache by @jcox250 in #191
- FFM-9191 Forward SSE events on to SDKs by @jcox250 in #192
- FFM-9192 Forward SSE events onto redis by @jcox250 in #193
- FFM-9130 Read replica forwards SSE events to SDKs by @jcox250 in #194
- FFM-9620 Poll SaaS for changes when the stream disconnects by @jcox250 in #195
- FFM-9630 Kill Proxy -> SDK streams on SaaS -> Proxy stream disconnect by @jcox250 in #196
- FFM-9631 - Disconnect SDK streams in Read Replica by @jcox250 in #197
- [FFM-9612]: Add a new environment - fetch proxyConfig for the environment by @akiraqb in #198
- [FFM:9636]: Add a new environment to the store by @akiraqb in #199
- [FFM-9613] : Remove all entries associated with environment. by @akiraqb in #200
- [FFM-9611]: Refresh API Keys by @akiraqb in #201
- [FFM-9611]: Refresh API Keys - bug fix. by @akiraqb in #202
- [FFM-9609] : Refresh Features by @akiraqb in #204
- [FFM:9610] : Refresh Segments by @akiraqb in #205
- [FFM-9787]: Cache cleanup on startup by @akiraqb in #206
- [FFM-9780]: Update key inventory on event, APIKeys/Features/Segments by @akiraqb in #207
- [FFM-9815]: Update key inventory on event - env add/remove by @akiraqb in #208
- [FFM-9816]: Update key inventory on event, deletedProxyKey by @akiraqb in #209
- [FFM-9826]: Update event string for deleteProxyKey by @akiraqb in #210
- FFM-9522 Create projects in two orgs for e2e tests by @jcox250 in #211
- FFM-9889 Fix config fetching on stream disconnect by @jcox250 in #213
- [FFM-9961]: Re-enable /feature-config test cases by @akiraqb in #212
- FFM-9893 Refresh Token before fetching new env config by @jcox250 in #215
- FFM-9888 Update Health response by @jcox250 in #214
- [FFM-9892]: Proxy Prometheus Label panic by @akiraqb in #216
- HA Mode example by @jcox250 in #219
- FFM-9930 Fix 403 when posting metrics for new env by @jcox250 in #220
- Maint ha mode example by @jcox250 in #221
- FFM-9795 Add prometheus metrics for streams by @jcox250 in #217
- FFM-9931 Cleanup logging by @jcox250 in #222
- [FFM-9918]: Proxy disconnect SDK stream when environment or APIkey is deleted by @akiraqb in #218
- FFM-9957 Add cluster identifier to client service requests by @jcox250 in #224
- [FFM-9662]: e2e tests failing when run against prod1 by @akiraqb in #223
- update examples to use rc4 by @jcox250 in #225
- FFM-10052 Add CreateSDKKey E2E tests by @jcox250 in #228
- FFM-10054 Add tests for when an SDK key is deleted by @jcox250 in #229
- FFM-10053 Add tests for env creation by @jcox250 in #231
- FFM-10055 Add tests for deleting an env in Saas by @jcox250 in #232
- FFM-10055 patch proxy key tests by @jcox250 in #237
- FFM-9943 Add prometheus metric to track subscription requests by @jcox250 in #240
- FFM-9943 Add prometheus metrics to client service requests by @jcox250 in #239
- MAINT - Update HA example by @jcox250 in #242
- FFM-10168 - bump deps for cves by @jcox250 in #243
- MAINT bump deps by @jcox250 in #249
- FFM-10268 fix gcp profiler label by @jcox250 in #244
- FFM-10389 Set max length for redis streams by @jcox250 in #251
- [FFM-10374]: Benchmark tests for parsing ProxyConfig by @akiraqb in #250
- [FFM-10406] : Improve performance of the populate() by @akiraqb in #252
- FFM-10389 - Add prometheus metrics to track metric data being sent from replica to primary by @jcox250 in #253
- [FFM-10439]: Segment entries tracked properly in asset inventory by @akiraqb in #254
- FFM-5474 Flush metrics to Saas based on timer or size in MB by @jcox250 in #255
- [FFM-10412]: Manufacture events and notify SKDs if diff in config after standup. by @akiraqb in #256
- [FFM-10484]: Optimise cleanup on proxy startup by @akiraqb in #257
- [FFM-10498]: Don't allow Proxy to fail to start if key is misconfigured by @akiraqb in #258
- FFM-10506 - Track SDK usage via prometheus metric by @jcox250 in #259
- [FFM-10518]: ReadReplica shows invalid status by @akiraqb in #260
- FFM-10471 Add unit tests for new metrics code by @jcox250 in #261
- FFM-10697 Fix stuck in INITIALIZING stream STATE by @jcox250 in #263
- FFM-10697 Fix attribtue evaluation bug by @jcox250 in #264
- FFM-10731 Fix bug where bad stream state could be recored with redis connection issues by @jcox250 in #265
- update docker tag to latest version in ha example by @jcox250 in #266
- helm chart for proxy v2 by @rssnyder in #268
- [FFM-10769] : Aggregate Metics data for client SKDs by @akiraqb in #269
- FFM-10776 Fix stream status on redis context canceled/deadline exceeded by @jcox250 in #270
- [FFM-10800]: Store hash for each FlagConfig in redis by @akiraqb in #272
- FFM-10860 Tests by @jcox250 in #274
- FFM-10855 Make Healthcheck use in-memory stream status by @jcox250 in #275
- FFM-10858 Preload segments for Evaluations Requests by @jcox250 in #278
- [FFM-10859]: Create 'HashedRepo' for fetching Features & Segments by @akiraqb in #276
- FFM-10889 Fix bad assignement by @jcox250 in #279
- FFM-10859 bugfix by @jcox250 in #280
- Ffm 10859 bug by @jcox250 in #281
- FFM-10906 Use singleflight in HashCache by @jcox250 in #283
- FFM-10925 Add config to enable/disbale forwarding targets to Saas as part of the auth flow by @jcox250 in #285
- [FFM-10775]: Separate queues for TargetMetics and EvaluationMetics. Post them independently. by @akiraqb in #282
- FFM-10913 - Add HarnessXHeaders by @jcox250 in #287
- FFM-10913 Add Build arg and Env to dockerfile by @jcox250 in #288
- MAINT - bump ha example image version by @jcox250 in #289
- FFM-10979 Use harness-community/sse/v3 by @jcox250...
1.0.4
If the Proxy can't reach redis it now returns a 500
status code for requests to its auth endpoint instead of a 401
. This fixes an issue that could occur where the redis cache may be temporarily unavailable when a new SDK tries to connect to the Proxy. The Proxy would then return a 401
and in this scenario some SDKs wouldn't attempt to re-authenticate again. All SDKs attempt to re-authenticate if they get a 5xx response so if this scenario occurs again the SDKs should attempt to re-authenticate rather than staying in a stuck state where they can't connect to the Proxy.
What's Changed
- (MAINT) Update test cert expiry by @conormurray95 in #247
- FFM-10278 Return a 500 from the auth endpoint if we're unable to hit by @jcox250 in #245
Full Changelog: 1.0.3...1.0.4
1.0.3
What's Changed
- [FFM-10133]: Upgrade version of go SDK by @davejohnston in #241
Full Changelog: 1.0.2...1.0.3
1.0.2
What's Changed
Full Changelog: 1.0.1...1.0.2
Contains a fix for a bug introduced in 0.17.0
where it was possible for the features and segments to not be refreshed properly in the cache when a Flag or TargetGroup was deleted from SaaS. This meant that if you hit /feature-configs
on SaaS you wouldn't get the flag back but if you hit /feature-configs/
on the Proxy you would get the flag back.