Releases: harness/ff-proxy
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.
1.0.1
What's Changed
- FFM-9314 Update gosdk verison by @jcox250 in #176
- This fixes a bug where the cached flag data that's returned for a /feature-configs/ would be up to date but it would be possible for that flag to be out of date in the
/feature-configs
response.
- This fixes a bug where the cached flag data that's returned for a /feature-configs/ would be up to date but it would be possible for that flag to be out of date in the
Full Changelog: 0.17.2...1.0.1
v1.0.0
0.17.2
What's Changed
- FFM-9163 Fix CacheWrapper invalid type flag error by @jcox250 in #175
- Fixes a bug introduced in
0.17.0
where we'd log an error whenever we tried to fetch a single flag/segment from the cache and we were unable to purge single flags/segments from the cache.
- Fixes a bug introduced in
Full Changelog: 0.17.1...0.17.2
0.17.1
What's Changed
- Fixes an issue where if there was an error in the cache our logs would be overly verbose.
- Replaces the
DEBUG
environment variable withLOG_LEVEL
.- The reason for this change is with the
DEBUG
environment variable we could only ever switch the log level between DEBUG and INFO. The newLOG_LEVEL
environment takesINFO
,DEBUG
andERROR
as inputs so we can now switch between these three log levels. - With the old
DEBUG
environment variable we defaulted the log level to INFO. With the newLOG_LEVEL
environment variable the default value is alsoINFO
. This means that if you're happy with the current level of logging, if you upgrade to0.17.1
you'll still get the same level of logging without having to add theLOG_LEVEL
environment variable to your config. However, if you wanted to reduce the log level so only errors are logged then you would upgrade to0.17.1
and add theLOG_LEVEL
environment variable to your config e.g.
- The reason for this change is with the
ACCOUNT_IDENTIFIER=<account>
ORG_IDENTIFIER=<org>
ADMIN_SERVICE_TOKEN=<token>
API_KEYS=<keys>
LOG_LEVEL=ERROR
Full Changelog: 0.17.0...0.17.1
0.17.0-debugging
What's Changed
We log out the incoming metrics requests and log the outgoing metrics requests that the proxy forwards on to Saas. This is to try and help identify if there is an issue in the Proxy corrupting metrics.
Full Changelog: 0.17.0...0.17.0-debugging
0.17.0
What's Changed
-
[FFM-8377] Bump go sdk to quiet error logs by @conormurray95 in #170
-
[FFM-8959]: Updating the version of ubuntu and version of pushpin by @davejohnston in #171
-
[FFM-8999] Prevent potential panic in metrics client by @jcox250 in #172
- Fixes a panic that could occur in the ff-proxy if the following occurred
- A metrics request with no TargetData was sent to the Proxy
- A metrics request for the same environment was sent to the Proxy with TargetData before the Proxy forwarded the metrics from the previous request on to Harness SaaS.
- Fixes a panic that could occur in the ff-proxy if the following occurred
Full Changelog: 0.16.0...0.17.0
0.15.0-debugging
What's Changed
We log out the incoming metrics requests and log the outgoing metrics requests that the proxy forwards on to Saas. This is to try and help identify if there is an issue in the Proxy corrupting metrics.
Full Changelog: 0.15.0...0.15.0-debugging
0.16.0
What's Changed
Docs updates & improvements
- (FFM-8303) Update proxy call flow docs) by @conormurray95 in #159
- (FFM-8305) Document Relay Proxy endpoints by @conormurray95 in #160
- (FFM-8305) Formatting updates by @conormurray95 in #161
Performance improvements
- FFM-8238 Add KeyVal & Memoize cache files by @jcox250 in #164
- FFM-8625 Use Memoize Cache by @jcox250 in #165
We've added a memoize cache to improve performance and reduce the amount of CPU used by the Proxy. The Proxy would spend the majority of its time unmarshaling data from the redis cache just to marshal it again to send the response to clients. Using a memoize cache means we only perform a unmarshal when we read from the cache if the data has changed. If the data hasn't changed then we just return the raw bytes meaning the only unmarshal/marshal step performed is when we write the the response to the client.
From load testing with a dataset of ~800 flags, 45,000 targets and 10 segments this reduced response times by ~38% and reduced CPU usage by ~20%.
Prometheus metrics updates
- Removes the operation label from the following metrics
- ff_proxy_redis_cache_write_count
- ff_proxy_redis_cache_read_count
There used to be multiple read/write operations that could be performed (Set, SetByte, Get, GetByte) and we used the operation label to tell the difference between these. Now we only perform Get & Set operations so there's no need for the operation label.
Full Changelog: 0.15.5...0.16.0