v0.54.3

keephq/keepv0.54.3Sep 9, 2026by github-actions[bot]

AI Summary

This release focuses on database configuration flexibility, enhancing provider integrations (LiteLLM, Grafana, OpenAI, Grok), and fixing various alert and workflow handling bugs. It also introduces new environment variables for better control over connections.

Key Highlights

  • Exposed SQLAlchemy pool settings and Redis database selection via environment variables.
  • Enhanced LiteLLM integration with token usage and cost tracking capabilities.
  • Added support for querying any Grafana datasource via a new API endpoint.
  • Fixed provider defaults to use served models and improved deduplication logic.

New Features

  • Expose SQLAlchemy pool_recycle and pool_timeout as environment variables.
  • Expose REDIS_DB environment variable for Redis database selection.
  • Grafana /api/ds/query endpoint for querying datasources.
  • LiteLLM returns token usage and cost with the response.

Full Release Notes

## What's Changed
* feat(db): expose SQLAlchemy pool_recycle and pool_timeout as env vars by @ajuijas in https://github.com/keephq/keep/pull/6637
* fix(db): refresh user after role update to avoid DetachedInstanceError by @mvanhorn in https://github.com/keephq/keep/pull/6638
* ci: pin ruff version to make lint deterministic (#6648) by @shahargl in https://github.com/keephq/keep/pull/6651
* feat: expose REDIS_DB environment variable for Redis database selection (#6643) by @aries1980 in https://github.com/keephq/keep/pull/6644
* fix: avoid double-encoding alert URLs by @aditya-786 in https://github.com/keephq/keep/pull/6653
* ci: read the PR description from env instead of interpolating it into the shell by @kobihikri in https://github.com/keephq/keep/pull/6654
* fix: widen alert table column resize hit target by @ausias-armesto in https://github.com/keephq/keep/pull/6661
* fix(victorialogs): return empty headers for NoAuth instead of None by @artemrootman in https://github.com/keephq/keep/pull/6668
* feat(grafana): query any datasource via /api/ds/query by @artemrootman in https://github.com/keephq/keep/pull/6673
* fix(litellm): fail loudly on null content and accept fenced JSON by @artemrootman in https://github.com/keephq/keep/pull/6671
* feat(litellm): return token usage and cost with the response by @artemrootman in https://github.com/keephq/keep/pull/6678
* fix: correctly parse PUSHER_USE_SSL environment variable (#6582) by @ChickenisLegit in https://github.com/keephq/keep/pull/6680
* fix(gemini): default to a model Google still serves by @chiruu12 in https://github.com/keephq/keep/pull/6697
* fix(presets): don't rewrite search text when translating CEL contains by @dngr2 in https://github.com/keephq/keep/pull/6698
* fix(providers): don't crash on an empty choices list by @chiruu12 in https://github.com/keephq/keep/pull/6705
* fix(providers): default openai to a model that supports json_schema by @chiruu12 in https://github.com/keephq/keep/pull/6713
* fix(providers): default grok to a served model by @chiruu12 in https://github.com/keephq/keep/pull/6711
* fix(providers): don't crash on empty choices in grok by @chiruu12 in https://github.com/keephq/keep/pull/6710
* fix: prevent duplicate workflow runs on rapid manual run clicks by @kate1128 in https://github.com/keephq/keep/pull/6691
* fix(keep-provider): don't mutate the shared fingerprint_fields list by @Prabal864 in https://github.com/keephq/keep/pull/6720
* fix(servicenow): forward sysparm_offset in pagination and fix undefined error in _notify_update by @Veydop in https://github.com/keephq/keep/pull/6725
* fix(topologies): skip deleted incidents when looking up application incidents by @Georgefifth in https://github.com/keephq/keep/pull/6733
* fix(tests): wait for the workflow detail header before asserting on it by @chiruu12 in https://github.com/keephq/keep/pull/6730
* fix: Enable Zabbix ID deduplication by @mvanhorn in https://github.com/keephq/keep/pull/6745
* fix: skip alias rendering when a step's if condition is false by @ausias-armesto in https://github.com/keephq/keep/pull/6744
* fix(functions): read an offsetless timestamp as UTC by @chiruu12 in https://github.com/keephq/keep/pull/6777
* fix: refactored apply custom deduplication rules so that deduplicatio… by @Veydop in https://github.com/keephq/keep/pull/6794
* fix: ingest array payloads posted to provider endpoints by @Veydop in https://github.com/keephq/keep/pull/6798
* chore: Bump version from 0.54.2 to 0.54.3 by @shahargl in https://github.com/keephq/keep/pull/6800

## New Contributors
* @ajuijas made their first contribution in https://github.com/keephq/keep/pull/6637
* @mvanhorn made their first contribution in https://github.com/keephq/keep/pull/6638
* @aries1980 made their first contribution in https://github.com/keephq/keep/pull/6644
* @kobihikri made their first contribution in https://github.com/keephq/keep/pull/6654
* @artemrootman made their first contribution in https://github.com/keephq/keep/pull/6668
* @ChickenisLegit made their first contribution in https://github.com/keephq/keep/pull/6680
* @chiruu12 made their first contribution in https://github.com/keephq/keep/pull/6697
* @dngr2 made their first contribution in https://github.com/keephq/keep/pull/6698
* @kate1128 made their first contribution in https://github.com/keephq/keep/pull/6691
* @Prabal864 made their first contribution in https://github.com/keephq/keep/pull/6720
* @Veydop made their first contribution in https://github.com/keephq/keep/pull/6725
* @Georgefifth made their first contribution in https://github.com/keephq/keep/pull/6733

**Full Changelog**: https://github.com/keephq/keep/compare/v0.54.2...v0.54.3