Skip to content

Releases: harness/ff-proxy

1.0.5

17 Sep 16:41
66f80db
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.0.4...1.0.5

2.0.5

16 Sep 15:16
3e43a18
Compare
Choose a tag to compare

What's Changed

  • FFM-11984 Remove stale inventory key after removing stale assets by @jcox250 in #361
  • FFM-12005 Fix PollCacheHealth func by @jcox250 in #363
  • FFM-12009 Extract AppID header and log it out by @jcox250 in #364

Full Changelog: 2.0.4...2.0.5

2.0.4

02 Sep 14:11
1369d66
Compare
Choose a tag to compare

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

Full Changelog: 2.0.3...2.0.4

2.0.3

14 Aug 11:12
b9f86c7
Compare
Choose a tag to compare

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

26 Jul 09:09
f43b555
Compare
Choose a tag to compare

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

19 Jun 13:27
4ba31f7
Compare
Choose a tag to compare

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.
  • (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 to true.
  • 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
$ ./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

New Contributors

Full Changelog: 2.0.0...2.0.1

2.0.0

30 May 08:10
84b82fd
Compare
Choose a tag to compare

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...
Read more

1.0.4

18 Dec 12:43
8b96602
Compare
Choose a tag to compare

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

Full Changelog: 1.0.3...1.0.4

1.0.3

29 Nov 18:10
c51659c
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.0.2...1.0.3

1.0.2

27 Sep 12:01
6ec359c
Compare
Choose a tag to compare

What's Changed

  • Fix Flags key not refreshing when a flag is deleted by @jcox250 in #178

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.