title |
---|
Changelog |
Since v1.17.1, chproxy follows semantic versioning. Don't expect breaking changes between 2 releases if they have the same major version.
- Go 1.22
- add log_comment to allowedParams #432
- add a config pool for redis connections #409
- Fix missing query details in logs #397
- Hide Redis password in info logs when redis username is empty #399
- Notify systemd when chproxy is ready #378
- Support db_index in Redis cache configuration #380
- New max_error_reason_size configuration option to limit the maximum size read for error responses #385
- Ability to use environment variable in config #343
- Fix issue creating an uneven load among clickhouse shards (introduced in 1.20.0) #357
- Better documentation about the docker image #345
- [code quality] strengthen linter rules #330 #355
- [code quality] refactoring to make the code of heartbeat more modular #344
- Support TLS config in Redis cache #328
- Ability to know whether a query was cached or not with a new HTTP header #313
- Fix Redis Cluster Crossslot Issue #320
- Docker images arm64 & arm64v8 are not available for this version.
- Ability to limit throughput for a specific user#299
- New quick start guide in the documentation #286
- Small documentation improvement #289
- Change redis & clickhouse ports in the unit tests to avoid conflicts with an already running clickhouse or redis on the developer's computer #291
- Better documentation about the docker image #302
- Add
curl
in the docker image #307
- Fix an issue in the retry mechanism when chproxy queries clickhouse using HTTP POSTs #296
- Update redis client library, go-redis, to avoid bugs with redis v7 in cluster mode #292
- add ca-certificates into the docker image to fix issues with https #301
- Ability to change the maximum number of idle TCP connections to clickhouse to avoid issues in edge case scenarios #275
- hide redis credentials previously written in the log at startup #282
- [code quality] strengthen linter rules #77
- Until chproxy 1.19.0, the same cache was shared for all the users.
Since 1.20.0, each user has his own cache but you can override this behavior by setting
shared_with_all_users = true
in the config file. - Since 1.20.0, if you're using docker images from contentsquareplatform docker hub, the way to run them was simplified (cf
Improvment
) - For security reason, since 1.20.0, only the clients using at least TLS 1.2 (released in 2008) can use chproxy with https.
- Ability to decide whether the cache is specific per user or shared with all users (specific per user by default) #258
- Ability to retry a failed query up to
retrynumber
times #242 #269 #270
- add contribution guidelines #257
- Since 1.20.0, the BINARY argument is not needed to run docker images from contentsquareplatform docker hub
#new way:
docker run -d -v $(PWD)/testdata:/opt/testdata/ contentsquareplatform/chproxy:v1.20.0-arm64v8 -config /opt/testdata/config.yml
#old way:
docker run -d -v $(PWD)/testdata:/opt/testdata/ -e BINARY=chproxy contentsquareplatform/chproxy:v1.19.0-arm64v8 -config /opt/testdata/config.yml
270 Since 1.20.0, only the clients using at least TLS 1.2 (released in 2008) will be able to connect with chproxy in https #276
- By default the cache was shared with all users, which could led to situations where a user could access data he wasn't allowed to see (according to clickhouse rules). Now the cache is specific for each user #258
- Ability to run chproxy behind a reverse proxy (like cloudflare, nginx ...) #225
- Add changelog to follow the content of new releases #253
- Ability to use the wildcarded user feature using the patterns [some_prefix][*], [*][some_suffix] & [*] instead of just [some_prefix]_[*] #250
- The wildcarded user feature on 1.18.0 had a security issue that was fixed: If 2 different users connected to chproxy at the same time, sometimes the same user/pwd was used to query clickhouse #250
- (Wildcarded users) Ability to by-pass the user authentication of chproxy on rely only on clickhouse user authentication #219
- add docker image for arm64v8 (for mac M1) #247
- When cache is activated and a query fails, the failure is cached just for 500 msec #235
- Move from github.com/DataDog/zstd to github.com/klauspost/compress/zstd to avoid cgo dependencies to ease the use of chproxy on mac M1 #238
- Ability to use a prometheus namespace for the exported metrics #232
- Fixed a few edge cases that could corrpupt the answer fetched from the redis cache #244
- Make the error more explicit (with the associated root cause) when cache is activated and a query fails then the same query is asked and the error is fetched from the cache #229
- Better selection of the errors that need to be cached to avoid the thundering herd problem #193
- Ability to only cache queries on redis that are below a certain threshold #191
- improve documentation #215
- improve processing speed when using cache #212
- improve chproxy.org design #213
- heartbeats to clickhouse now rely on /ping (by default) and longer need a user/pwd #214
- avoid memory issue when redis cache is used #212