v0.54.3

NVIDIA/NeMo-Retrieverv0.54.3Sep 9, 2026by github-actions[bot]

Upgrading?

AI Summary

This release enhances database configuration by exposing environment variables for SQLAlchemy and Redis, and improves Grafana integration to support querying any datasource. It also adds LiteLLM support for token usage and cost reporting, alongside various bug fixes for providers like Gemini, Grok, and OpenAI.

Key Highlights

  • Exposed SQLAlchemy pool_recycle and pool_timeout as environment variables
  • Exposed REDIS_DB environment variable for database selection
  • Grafana can now query any datasource via the API
  • LiteLLM returns token usage and cost in responses
  • Fixed provider crashes on empty choices and updated default models

New Features

  • SQLAlchemy pool configuration via environment variables
  • Redis database selection via environment variables
  • Grafana datasource query API
  • LiteLLM token usage and cost reporting
  • Alert URL double-encoding fix

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

Related Repositories