What's Changed
This release enhances support for advanced reasoning models, including the NVIDIA Nemotron family such as Llama 3.1 Nemotron Ultra 253B V1 and DeepSeek-r1. We have added new protections against certain code-injection security concerns, with an output guardrail based on YARA, a widely-adopted technology in the cybersecurity space for malware detection.
From the community, a new 3rd-party guardrail connects to Clavata’s customized LLM content moderation.
Among other improvements and bug fixes, this release also now supports Python 3.13.
🚀 Features
- Change topic following prompt to allow chitchat (#1097)
- Validate model name configuration (#1084)
- Add support for langchain partner and community chat models (#1085)
- Add fuzzy find provider capability to cli (#1088)
- Add code injection detection to guardrails library (#1091)
- Add clavata community integration (#1027)
- Implement validation to forbid dialog rails with reasoning traces (#1137)
- Load yara lazily to avoid action dispatcher error (#1162)
- Add support for system messages to RunnableRails (#1106)
- Add api_key_env_var to Model, pass in kwargs to langchain initializer (#1142)
- Add inline YARA rules support (#1164)
- [breaking] Add support for preserving and optionally applying guardrails to reasoning traces (#1145)
- Prevent reasoning traces from contaminating LLM prompt history (#1169)
- Add RailException support to injection detection and improve error handling (#1178)
- Add Nemotron model support with message-based prompts (#1199)
🐛 Bug Fixes
- Correct task name for self_check_facts (#1040)
- Error in LLMRails with tracing enabled (#1103)
- Self check output colang 1 flow (#1126)
- Use ValueError in TaskPrompt to resolve TypeError raised by Pydantic (#1132)
- Correct dialog rails activation logic (#1161)
- Allow reasoning traces when embeddings_only is True (#1170)
- Prevent explain_info overwrite during stream_async (#1194)
- Colang 2 issues in community integrations (#1140)
- Ensure proper asyncio task cleanup in test_streaming_handler.py (#1182)
🚜 Refactor
- Reorganize HuggingFace provider structure (#1083)
- Remove support for deprecated nemollm engine (#1076)
- [breaking] Remove deprecated return_context argument (#1147)
- Rename
remove_thinking_traces
field toremove_reasoning_traces
(#1176) - Update deprecated field handling for remove_thinking_traces (#1196)
- Introduce END_OF_STREAM sentinel and update handling (#1185)
📚 Documentation
- Remove markup from code block (#1081)
- Replace img tag with Markdown images (#1087)
- Remove NeMo Service (nemollm) documentation (#1077)
- Update cleanlab integration description (#1080)
- Add providers fuzzy search cli command (#1089)
- Clarify purpose of model parameters field in configuration guide (#1181)
- Output rails are supported with streaming (#1007)
- Add mention of Nemotron (#1200)
- Fix output rail doc (#1159)
- Revise GS example in getting started doc (#1146)
- Possible update to injection detection (#1144)
⚙️ Miscellaneous Tasks
- Dynamically set version using importlib.metadata (#1072)
- Add link to topic control config and prompts (#1098)
- Reorganize GitHub workflows for better test coverage (#1079)
- Add summary jobs for workflow branch protection (#1120)
- Add Adobe Analytics configuration (#1138)
- Fix and revert poetry lock to its stable state (#1133)
- Add Codecov integration to workflows (#1143)
- Add Python 3.12 and 3.13 test jobs to gitlab workflow (#1171)
- Identify OS packages to install in contribution guide(#1136)
- Remove Got It AI from ToC in 3rd party docs(#1213)
New Contributors
- @thisthat made their first contribution in #1103
- @jwmueller made their first contribution in #1080
- @ilias-t made their first contribution in #1027
- @smruthi33 made their first contribution in #1106
- @andompesta made their first contribution in #1194
Full Changelog: v0.13.0...v0.14.0