Skip to content

Releases: trickstercache/trickster

Release v2.0.4 / 2026-07-03

Choose a tag to compare

@github-actions github-actions released this 03 Jul 03:10
91f5474

    

Welcome to Trickster 2.0.4! 🎉

In this release, we:

  • Fixed a defect in Time Series Merge ALBs where proxy-only data would cause the merge to fail and return a 502 response to the caller.
  • Improved OTLP tracing integration by passing through more span data from downstream callers and incorporating additional span tags data describing how Trickster handled the request
  • Improved error handling when multiple backends/shards are called and have a mix of successes and failures
  • Updated dependencies
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.4

# 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.4
Run via kubernetes/helm
helm install trickster oci://ghcr.io/trickstercache/charts/trickster --version '^2' --set image.tag="2.0.4"

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:

What's Changed

Full Changelog: v2.0.3...v2.0.4

Release v2.0.3 / 2026-06-29

Choose a tag to compare

@github-actions github-actions released this 29 Jun 15:20
06e343e

    

Welcome to Trickster 2.0.3! 🎉

In this release, we:

  • improved ALB compatibility, including adding Time Series Merge support for topk and bottomk PromQL aggregators
  • fixed a defect in Tracing configurations that would prevent some configs from being effective
  • added additional test coverage
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.3

# 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.3
Run via kubernetes/helm
helm install trickster oci://ghcr.io/trickstercache/charts/trickster --version '^2' --set image.tag="2.0.3"

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:

What's Changed

New Contributors

Full Changelog: v2.0.2...v2.0.3

Release v2.0.2 / 2026-06-24

Choose a tag to compare

@github-actions github-actions released this 24 Jun 04:07
7ef9bf4

    

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.2
Run 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:

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 nc instead 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 i...
Read more

Release v2.0.1 / 2026-02-21

Choose a tag to compare

@github-actions github-actions released this 21 Feb 16:25
c0d723c

    

Welcome to Trickster 2.0.1! 🎉

In this release, we:

  • updated to Go 1.26, which provides better garbage collection and reduced memory usage
  • improved speed and performance of the Memory Cache
  • squashed several ALB bugs that could cause 502 Bad Gateway responses
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.1

# 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.1
Run via kubernetes/helm
helm install trickster oci://ghcr.io/trickstercache/charts/trickster --version '^2' --set image.tag="2.0.1"

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:

What's Changed

  • chore: Bump Go version to 1.26 by @crandles in #913
  • ci: cancel in progress workflows (to same PR/branch) by @crandles in #914
  • fix: [alb] allow alb merging to occur by @crandles in #916
  • feat: [cache/memory] use ristretto as memory backend by @crandles in #917
  • feat: [alb] add concurrency limit options by @crandles in #918
  • retain pre-existing hc target status on config reload by @jranson in #919

Full Changelog: v2.0.0...v2.0.1

Release v2.0.0 / 2026-02-10

Choose a tag to compare

@github-actions github-actions released this 10 Feb 20:27
873566c

    

Welcome to Trickster 2.0! 🎉

We've published an all-inclusive list of everything that is new and changed from Trickster 1.x. Thanks to all 28 contributors who helped get this over the finish line. 🙏

Happy Accelerating!

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.0

# 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.0
Run via kubernetes/helm
helm install trickster oci://ghcr.io/trickstercache/charts/trickster --version '^2' --set image.tag="2.0.0"

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:

Release v2.0.0-rc2 / 2025-12-18

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Dec 19:49
803fb57

    

Welcome to Trickster 2.0.0-rc2! 🎉

What's Changed

  • feat: we've added back the caller field in log output, which provides the exact file and line of code in the codebase that called the log event.
  • feat: the /trickster/config http endpoint no longer shows irrelevant cache sections (e.g., the default redis configs if it's a memory cache)
  • perf: faster startup when many health checks are configured
  • bugfix: pprof http endpoint was not actually routing
  • perf: health check agent is faster w/ increased test coverage
  • sec: concurrency limits in caching layer and in backend
    • new MaxConcurrentConns backend configuration (see example usage)
  • perf: leaner Time Series cropping algorithm
  • perf: leaner ALB mechanism handlers fgr, fr, nlm, and tsm

Full Changelog: v2.0.0-rc1...v2.0.0-rc2

Release v2.0.0-rc1 / 2025-12-09

Pre-release

Choose a tag to compare

@jranson jranson released this 09 Dec 15:06
45d47e8

Welcome to Trickster v2.0 Release Candidate 1! 🎉

In This Release

Fixes

  • fixed several panics with Rules
    • NOTE: Rules configuration has changed to use a yaml sequence instead of a map for rule cases
  • fixed custom Path configs not working
    • NOTE: Backend Paths configuration has changed to use a yaml sequence instead of a map for custom paths
  • fixed config reload API/Hup not effectual
  • improved ALB performance and reliability
  • improved Health Checking reliability + more robust status page

Features

See Everything new in Trickster 2.0 here.

New Contributors

  • @Elia-Renzoni made their first contribution in #865. Welcome to the project! ⭐️ 🚀

Full Changelog: v2.0.0-beta3...v2.0.0-rc1

Release v2.0.0-beta3 / 2025-05-27

Pre-release

Choose a tag to compare

@jranson jranson released this 27 May 23:51
e4c06e3

And we are back. At long last, welcome to Trickster 2.0 Beta 3! Finally! 🎉

Trickster is now better than ever and even faster. 🚀

This release is the result of a massive, monthslong overhaul, upgrade and modernization of the entire Trickster project. We've eliminated over 70 data race conditions, a bunch of panics and a few deadlocks; sped up literally everything through refactors; and improved compatibility with InfluxDB and ClickHouse - all while adding dozens of new features. The What's New in Trickster 2.0 page has an exhaustive list of all the stuff we've crammed into Beta 3. We also have refreshed the roadmap, so you can see where things are headed over the course of the year.

We'd love for you to please check out the docs, try out Beta3 and report any issues you find. On that note, welcome to new contributors @trumant and @tonychoe.

Finally, a very special shoutout to maintainer @crandles for dedicating countless nights and weekends to get this release across the finish line. 🙏

Release v1.1.5 / 2021-02-04

Choose a tag to compare

@github-actions github-actions released this 04 Feb 18:05
4595bd6

This patch fixes a memory leak (#531) when performing health checks against Prometheus, ClickHouse, IronDB and the base Reverse Proxy Cache backend types. Special thanks to first-time Trickster contributor @tminor for identifying and providing the patch (#532) for this issue.

Release v1.1.4 / 2021-02-01

Choose a tag to compare

@github-actions github-actions released this 01 Feb 14:37

This release provides various performance enhancements and bug fixes:

  • caching performance and hit rate improvements for InfluxDB backends (#522)

  • more verbose debug logging on upstream requests (#525)

  • ensure formatted times (e.g., outputting headers and in testing) use a UTC-localized time object (#528)

  • performance enhancement to locks package and tests to improve performance under heady load (#517, #526)

  • typographical errors in docker-compose demo (#530)

  • update dependency versions:

    • golang/snappy -> v0.0.2
    • influxdata/influxdb -> 1.8.4
    • promethues/client_golang -> 1.9.0
    • prometheus/common -> 0.15.0
    • tinylinb/msgp -> 1.1.5
    • go.opentelemetry.io/* -> 0.16.0

We wish to thank and recognize these first-time contributors for assisting with this release: @samuelgmartinez and @ntk148v