What's Changed
This release adds support for reasoning-capable content safety models like Nemotron-Content-Safety-Reasoning-4B (with configurable /think mode for explainable moderation), GLiNER for open-source PII detection, and multilingual refusal messages in content safety rails, along with a major documentation restructuring. Streaming configuration has been simplified (note: the streaming field has been removed from the config).
🚀 Features
- (llm) Propagate model and base URL in LLMCallException; improve error handling (#1502)
- (content_safety) Add support to auto select multilingual refusal bot messages (#1530)
- (library) Adding GLiNER for PII detection (open alternative to PrivateAI) (#1545)
- (benchmark) Implement Mock LLM streaming (#1564)
- (library) Add reasoning guardrail connector (#1565)
🐛 Bug Fixes
- (models) Surface relevant exception when initializing langchain model (#1516)
- (llm) Filter temperature parameter for OpenAI reasoning models (#1526)
- (bot-thinking) Tackle bug with reasoning trace leak across llm calls (#1582)
- (providers) Handle langchain 1.2.1 dict type for _SUPPORTED_PROVIDERS (#1589)
🚜 Refactor
- (streaming) [breaking] Drop streaming field from config (#1538)
⚙️ Miscellaneous Tasks
- (test) Reduce default pytest log level from DEBUG to WARNING (#1523)
- (docker) Upgrade to Python 3.12-slim base image (#1522)
- Run pre-commits to update license date for 2026 (#1562)
- Move Benchmark code to top-level (#1559)
- Update repo to https://github.com/NVIDIA-NeMo/Guardrails (#1594)
New Contributors
- @alexahaushalter made their first contribution in #1543
- @andreatgretel made their first contribution in #1545
Full Changelog: v0.19.0...v0.20.0