Welcome to Trickster 2.0.2! 🎉
In this release, we:
- Added numerous performance and stability enhancements and bugfixes (see changelog below)
- Significantly increased test coverage
- Restored per-data point LRU cache eviction capability
- Improved Time Series Merge compatibility
- Added a new sanitized config endpoint for posting to issues/support
Run via docker
# via ghcr.io
docker run --name trickster -d -v /path/to/trickster.yaml:/etc/trickster/trickster.yaml -p 0.0.0.0:8480:8480 ghcr.io/trickstercache/trickster:2.0.2
# via docker.io
docker run --name trickster -d -v /path/to/trickster.yaml:/etc/trickster/trickster.yaml -p 0.0.0.0:8480:8480 docker.io/trickstercache/trickster:2.0.2Run via kubernetes/helm
helm install trickster oci://ghcr.io/trickstercache/charts/trickster --version '^2' --set image.tag="2.0.2"Note:
- The trickster chart version is managed separately from the Trickster version.
- The latest major version is 2.x, and supports a minimum Trickster version of 2.0.0 (beta3 or later).
For more information, see:
- Trying Out Trickster
- trickster's helm chart.
What's Changed
- chore(deps): bump github.com/redis/go-redis/v9 from 9.17.3 to 9.18.0 by @dependabot[bot] in #921
- chore(deps): bump github.com/alicebob/miniredis/v2 from 2.35.0 to 2.36.1 by @dependabot[bot] in #922
- fix: [lint] address new linter warnings by @crandles in #920
- chore: run go fix ./... by @crandles in #923
- chore: enable new linters & fix flaky test by @crandles in #924
- chore: extend developer dashboard; add k6 load test by @crandles in #926
- chore(deps): bump github.com/alicebob/miniredis/v2 from 2.36.1 to 2.37.0 by @dependabot[bot] in #931
- chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 by @dependabot[bot] in #932
- perf: [proxy/engines] add singleflight to delta and object proxy caches by @crandles in #930
- fix: report singleflight de-duplicated calls as proxy-hit by @crandles in #933
- feat: widen DPC singleflight to include fast-forward and marshal by @crandles in #934
- chore: [proxy] remove named locker by @crandles in #935
- fix: [tls] handle CA-only and client-cert-only TLS configurations in Validate by @EduardoCusihuaman in #940
- fix: [proxy/engines] refactor and fix singleflight optimization by @crandles in #939
- test: [proxy/engines] increase coverage by @crandles in #941
- test: [backends/prometheus] increase coverage by @crandles in #943
- test: [timeseries] increase coverage by @crandles in #942
- fix: [proxy/engines] fix PCF deadlock edge case by @crandles in #944
- perf: [alb] optimize fanout mechanisms + fix race and edge cases by @crandles in #945
- ci: limit workflow cancellation to PRs, skip for main by @crandles in #946
- refactor: drop context.Context from alb pool & proxy listener structs by @crandles in #947
- fix: [proxy/engines] correct off-by-one byte ranges and handle ignored io.ReadAll errors by @crandles in #948
- chore(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.3 by @dependabot[bot] in #951
- chore: improve error-level logging by @Elia-Renzoni in #952
- fix+perf: concurrency limiting, size cropper, and hot-path optimizations by @crandles in #953
- perf: hot-path optimizations for DPC, wire marshal, and dataset operations by @crandles in #954
- fix+perf: reaper capacity bug, encoder pooling, and cache-path optimizations by @crandles in #955
- feat: [alb/tsm] per-query merge strategy for ALB time-series merge by @crandles in #956
- test: [proxy/engines] validate kmiss occurrs when backend does not provide headers by @crandles in #962
- add AI guardrails and PR template by @jranson in #963
- docs: update maintainer term dates by @jranson in #964
- test: add simple integration test by @crandles in #857
- fix: include match[] in label endpoint cache keys by @crandles in #965
- refactor: [proxy/engines] proxyRequest field refactor + comments by @crandles in #966
- fix: [backends/clickhouse] support multi line queries by @crandles in #967
- test/fix: extend test wait to account for prometheus first scrape by @crandles in #968
- test/fix: expand integration test; ensure proxy supports POST RawQuery by @crandles in #969
- fix: [backends/prometheus] propagate captured headers in ALB transform path by @crandles in #970
- chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.42.0 to 1.43.0 by @dependabot[bot] in #971
- chore(deps): bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 by @dependabot[bot] in #972
- fix: tsm vector unmarshaling error by @jranson in #938
- test/fix: expand integration tests + misc defects by @crandles in #975
- fix: surface upstream read errors in DPC + add high-fanout ALB+TSM integration suite by @crandles in #978
- ci+fix: integration coverage, quality infrastructure, bug fixes across prometheus/clickhouse/merge layers by @crandles in #979
- docs: update clickhouse docs for Go SDK support by @crandles in #980
- fix: [proxy/engines] reset cacheStatus on DPC empty-body recovery; pin chunk test clock by @crandles in #986
- refactor: replace compression libraries by @Elia-Renzoni in #987
- feat: [prometheus] 3.x support by @crandles in #983
- fix: fortify health check status emits and reduce chatty logging by @jranson in #994
- fix: [alb/tsm] prom avg outer aggregation with POST by @jranson in #998
- fix: [alb/healthcheck/proxy] route only to live targets + ALB hardening sweep by @crandles in #997
- fix: [alb/healthcheck] nested alb pools report
ncinstead of available by @crandles in #1000 - chore: [docker] bump prometheus to 3.11.3 by @crandles in #995
- fix+refactor: [alb] hardening sweep + shared fanout primitive by @crandles in #1001
- fix: [integration] nonce histogram fidelity query to avoid cache hit by @crandles in #1002
- add sanitized config endpoint by @jranson in #1003
- [feat] Update config sanitizer (tracing & cache endpoints) by @jranson in #1004
- fix+refactor+test: [alb/cache/proxy] continued hardening sweep by @crandles in #1006
- fix+test: [alb] surface healthy_floor misconfigurations and degraded dispatch by @crandles in #1012
- test: expand unit test coverage by @jranson in #1026
- test: extend unit test coverage by @jranson in #1027
- fix: [engines] set Request.GetBody to support HTTP/2 GOAWAY retries by @thinker0 in #1020
- feat+perf: [alb/fanout,proxy/capture] loser-drain histogram + capture body presize by @crandles in #1014
- fix: [listener] correct active-connections gauge under connections_limit by @thinker0 in #1019
- fix+test: [timeseries] panic on ExtentList.Splice when shard count exceeds len(el)*4 hint by @thinker0 in #1016
- docs: update maintainers by @jranson in #1030
- linter fixes by @jranson in #1032
New Contributors
- @EduardoCusihuaman made their first contribution in #940
- @thinker0 made their first contribution in #1020
Full Changelog: v2.0.1...v2.0.2