Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
d1e5558
docs: clarify purpose of model parameters field in configuration guid…
mikemckiernan May 9, 2025
002a520
docs: output rails are supported with streaming (#1007)
mikemckiernan May 9, 2025
7e60dda
feat: add RailException support and improve error handling (#1178)
Pouyanpi May 13, 2025
f400e6f
chore(deps): bump h11 from 0.14.0 to 0.16.0 (#1195)
Pouyanpi May 14, 2025
343b759
fix: Prevent explain_info overwrite during stream_async (#1194)
andompesta May 14, 2025
74ff456
refactor(config): update deprecated field handling for remove_thinki…
Pouyanpi May 14, 2025
36d625e
fix: colang 2 issues in community integrations (#1140)
Pouyanpi May 14, 2025
fabd5f4
fix(tests): ensure proper asyncio task cleanup in test_streaming_hand…
Pouyanpi May 14, 2025
ca02cb6
test(streaming): add extensive tests for StreamingHandler to enhance …
Pouyanpi May 14, 2025
85400a5
refactor(streaming): introduce END_OF_STREAM sentinel and update hand…
Pouyanpi May 14, 2025
07422c1
feat: add Nemotron model support with message-based prompts (#1199)
Pouyanpi May 17, 2025
95525ad
chore(deps): bump tornado from 6.4.2 to 6.5.1 (#1206)
Pouyanpi May 28, 2025
0787125
chore: Identify OS packages to install in contribution guide(#1136)
mikemckiernan May 28, 2025
6e8a5d7
docs: Add mention of Nemotron (#1200)
mikemckiernan May 28, 2025
dc6fde1
docs: fix output rail doc (#1159)
andompesta May 28, 2025
5c5261c
docs: Revise GS example in getting started doc (#1146)
mikemckiernan May 28, 2025
4bcedf5
docs: Possible update to injection detection (#1144)
mikemckiernan May 28, 2025
0570f88
chore: Remove Got It AI from 3rd party (#1213)
mikemckiernan May 29, 2025
febf585
fix(deps): restrict pytest-asyncio to <1.0.0 (#1215)
Pouyanpi May 30, 2025
a9003d2
chore: release v0.14.0 (#1211)
Pouyanpi May 30, 2025
79f017e
docs: Add release notes (#1141)
mikemckiernan May 30, 2025
78e2069
docs: Update docs version (#1219)
mikemckiernan Jun 3, 2025
5a4733f
fix a wrong title (#1225)
miyoungc Jun 12, 2025
5f9974a
fix: More heading levels so RNs resolve links (#1228)
mikemckiernan Jun 19, 2025
05ef8e9
fix: lazy load jailbreak detection dependencies (#1223)
jeffreyscarpenter Jun 25, 2025
01cd760
Support NIM API key for NemoGuard JailbreakDetect (#1214)
erickgalinkin Jun 25, 2025
6d3ee5d
fix: constructor LLM should not skip loading other config models (#1221)
jeffreyscarpenter Jun 26, 2025
8d27470
fix(content_safety): replace try-except with iterable unpacking for p…
gcr Jun 26, 2025
bf186ba
test: fix async test failures in cache embeddings and buffer strategy…
Pouyanpi Jun 26, 2025
b8b7813
chore: update pre-commit-hooks to v5.0.0 (#1238)
Pouyanpi Jun 26, 2025
c9cfa7e
test(content_safety): add tests for content safety actions (#1240)
Pouyanpi Jun 26, 2025
acc62c8
fix(jailbreak): pin numpy==1.23.5 for scikit-learn compatibility (#1249)
Pouyanpi Jun 27, 2025
4be0ce0
fix(output_parsers): iterable unpacking compatibility in content safe…
Pouyanpi Jun 27, 2025
c5c7dd9
fix: register main LLM as action parameter when initialized from conf…
Pouyanpi Jun 27, 2025
56bf4f6
fix: use API key environment variables during model initialization (#…
Pouyanpi Jun 30, 2025
2c99ff7
docs: fix jailbreak detection build instructions (#1248)
Pouyanpi Jun 30, 2025
426d704
address issue and some rephrases (#1251)
miyoungc Jun 30, 2025
9cdad05
fix(streaming): streaming support detection for main LLM initializati…
Pouyanpi Jul 1, 2025
6f58062
feat(jailbreak): Add direct API key configuration support (#1260)
tgasser-nv Jul 3, 2025
34a4e4d
docs: change ABC bot link at docs (#1261)
bwook00 Jul 7, 2025
0acee85
bump: release v0.14.1 (#1254)
Pouyanpi Jul 7, 2025
cda4308
docs: release notes 0.14.1 (#1272)
miyoungc Jul 8, 2025
ba4c321
Update docs to use `nim_base_url` per new configuration. (#1274)
erickgalinkin Jul 8, 2025
03c2395
ci(dependabot): remove dependabot configuration (#1281)
Pouyanpi Jul 9, 2025
8c663c8
fix page-not-appearing issue (#1276)
miyoungc Jul 9, 2025
0d3ddfc
fix(streaming): resolve word concatenation in streaming output rails …
Pouyanpi Jul 10, 2025
ef97795
fix: enable token usage tracking for streaming LLM calls (#1264)
Pouyanpi Jul 10, 2025
8575b88
feat(tracing)!: update tracing to use otel api (#1269)
Pouyanpi Jul 11, 2025
0d6fa42
docs: update guardrails-library.md to include Clavata as a third part…
ashwini Jul 18, 2025
bfe81f1
feat: implement parallel streaming output rails execution (#1263)
Pouyanpi Jul 21, 2025
c79eb39
fix: remove stream_usage from text completion (#1285)
Pouyanpi Jul 21, 2025
9b0a6cd
fix(tracing): prevent mutation of user options when tracing is enable…
Pouyanpi Jul 22, 2025
cd14a07
feat(streaming): support external async token generators (#1286)
Pouyanpi Jul 22, 2025
8fdb27d
feat: support parallel rails execution (#1234)
schuellc-nvidia Jul 25, 2025
7f0f46e
docs(streaming): add section on token usage tracking (#1282)
Pouyanpi Jul 29, 2025
b574cec
docs: add parallel rail section and split config page (#1295)
miyoungc Jul 29, 2025
a5a0518
docs: show complete prompts.yml content in getting started tutorial (…
miyoungc Jul 29, 2025
bee719b
docs(tracing): update and streamline tracing guide (#1307)
Pouyanpi Jul 29, 2025
b0f6389
fix(rails): prevent LLM parameter contamination in rails (#1306)
Pouyanpi Jul 31, 2025
593d206
chore(deps): bump vllm to 0.9.0 in library requirements (#1312)
Pouyanpi Jul 31, 2025
e97514f
chore(deps): upgrade protobuf to >=5.29.5 and setuptools for security…
Pouyanpi Jul 31, 2025
ff5dfdd
ci: add release workflow (#1309)
Pouyanpi Jul 31, 2025
dd1ce5f
ci(release): install git-cliff manually for workflow (#1318)
Pouyanpi Jul 31, 2025
3b934cc
fix(runtime): stop execution after internal error (#1323)
Pouyanpi Aug 5, 2025
44d7cda
fix(streaming): handle internal errors in SSE streaming for parallel …
Pouyanpi Aug 5, 2025
2339b1c
test: skip test cases in absense of openai api key
Pouyanpi Aug 5, 2025
ef2c78d
docs: rm old doc page no longer applicable (#1321)
miyoungc Aug 6, 2025
36641d3
docs: release notes for 0.15 and more doc fixes (#1315)
miyoungc Aug 6, 2025
6ba7832
chore: prepare for release v0.15.0 (#1319)
github-actions[bot] Aug 8, 2025
6da8010
fix(tracing): respect the user-provided log options regardless of tra…
RobGeada Aug 14, 2025
6430085
fix(config): ensure adding RailsConfig objects handles None values (#…
JashG Aug 14, 2025
3018024
docs: add kv cache reuse documentation (#1330)
miyoungc Aug 15, 2025
52ac7ed
fix(config): add handling for config directory with `.yml`/`.yaml` ex…
winstonallo Aug 15, 2025
949e422
feat(llmrails): support method chaining by returning self from LLMRai…
winstonallo Aug 15, 2025
00a9610
fix(colang): apply guardrails transformations to LLM inputs and bot o…
lapinek Aug 18, 2025
5d33e2b
docs(examples): add Colang 2.0 example for sensitive data detection (…
lapinek Aug 18, 2025
32beaab
fix(topic_safety): handle InternalEvent objects in topic safety actio…
Pouyanpi Aug 19, 2025
533ef13
fix(prompts): prevent IndexError when LLM provided via constructor wi…
Pouyanpi Aug 19, 2025
626fb6c
feat: add Pangea AI Guard community integration (#1300)
kenany Aug 19, 2025
57a3abc
refactor(llm): move get_action_details_from_flow_id from llmrails.py …
Pouyanpi Aug 19, 2025
94688a8
fix(llmrails): handle LLM models without model_kwargs field in isolat…
Pouyanpi Aug 21, 2025
a5e8b4c
feat(llmrails): isolate LLMs only for configured actions (#1342)
Pouyanpi Aug 21, 2025
80ba17f
feat: enhance tracing system with OpenTelemetry semantic conventions …
Pouyanpi Aug 22, 2025
d1b35c8
chore(deps): bump vllm in /nemoguardrails/library/patronusai (#1344)
dependabot[bot] Aug 22, 2025
3fdd65d
fix(llmrails): move LLM isolation setup to after KB initialization (#…
Pouyanpi Aug 22, 2025
2732d3b
chore(docs): rename test_csl.py to csl.py (#1347)
Pouyanpi Aug 25, 2025
baca9ec
docs: add extra slash to jailbreak detect nim_base_url(#1345)
miyoungc Aug 26, 2025
6ff15c0
test(jailbreak): add missing pytest.mark.asyncio decorators (#1352)
Pouyanpi Aug 26, 2025
161c8a3
docs: add tracing notebook (#1337)
tgasser-nv Aug 26, 2025
9a1d178
docs: Jaeger tracing notebook (#1353)
tgasser-nv Aug 26, 2025
927a307
feat: add GuardrailsAI community integration (#1298)
Pouyanpi Aug 27, 2025
78b2982
docs(examples): add NeMoGuard rails config for colang 2 (#1289)
Pouyanpi Aug 28, 2025
2d0af79
docs(tracing): add OpenTelemetry span format guide (#1350)
Pouyanpi Aug 28, 2025
7d6d264
docs: add GuardrailsAI integration user guide and example (#1357)
Pouyanpi Aug 28, 2025
960e0b8
chore(deps): bump vllm in /nemoguardrails/library/llama_guard (#1363)
dependabot[bot] Aug 29, 2025
03d2bfb
fix: resolve content safety model resolution issue
jeffreyscarpenter Sep 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions .github/dependabot.yml

This file was deleted.

51 changes: 51 additions & 0 deletions .github/workflows/create-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Create Release Tag

on:
pull_request:
types: [closed]
branches: [develop]

jobs:
create-tag:
if: github.event.pull_request.merged == true && startsWith(github.event.pull_request.head.ref, 'chore/release-')
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: develop
fetch-depth: 0

- name: Extract version from pyproject.toml
id: version
run: |
VERSION=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/')
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "tag=v${VERSION}" >> $GITHUB_OUTPUT

- name: Check if tag already exists
id: check-tag
run: |
if git tag -l "${{ steps.version.outputs.tag }}" | grep -q "${{ steps.version.outputs.tag }}"; then
echo "exists=true" >> $GITHUB_OUTPUT
echo "Tag ${{ steps.version.outputs.tag }} already exists"
else
echo "exists=false" >> $GITHUB_OUTPUT
echo "Tag ${{ steps.version.outputs.tag }} does not exist"
fi

- name: Create and push tag
if: steps.check-tag.outputs.exists == 'false'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag -a ${{ steps.version.outputs.tag }} -m "Release ${{ steps.version.outputs.tag }}"
git push origin ${{ steps.version.outputs.tag }}

- name: Tag already exists
if: steps.check-tag.outputs.exists == 'true'
run: |
echo "::warning::Tag ${{ steps.version.outputs.tag }} already exists, skipping tag creation"
142 changes: 142 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
name: Prepare Release

on:
workflow_dispatch:
inputs:
version:
description: "New version (e.g. 0.15.1)"
required: true
type: string
bump_type:
description: "Version bump type (only used if version is not provided)"
required: false
type: choice
options:
- patch
- minor
- major
default: patch

jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Bootstrap poetry
run: |
curl -sSL https://install.python-poetry.org | POETRY_VERSION=1.8.2 python -

- name: Update PATH
run: echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Configure poetry
run: poetry config virtualenvs.in-project true

- name: Install git-cliff
# not allowed by NVIDIA
# uses: kenji-miyake/setup-git-cliff@v2
run: |
# download and install git-cliff binary directly
CLIFF_VERSION="2.7.0"
wget -q https://github.com/orhun/git-cliff/releases/download/v${CLIFF_VERSION}/git-cliff-${CLIFF_VERSION}-x86_64-unknown-linux-gnu.tar.gz
tar -xzf git-cliff-${CLIFF_VERSION}-x86_64-unknown-linux-gnu.tar.gz
sudo mv git-cliff-${CLIFF_VERSION}/git-cliff /usr/local/bin/
rm -rf git-cliff-${CLIFF_VERSION}*
# verify installation
git cliff --version

- name: Determine version
id: version
run: |
if [ -n "${{ github.event.inputs.version }}" ]; then
VERSION="${{ github.event.inputs.version }}"
else
# Use git-cliff to determine the next version based on commits
VERSION=$(git cliff --bumped-version)
fi

# Remove 'v' prefix if present
VERSION=${VERSION#v}
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "tag=v${VERSION}" >> $GITHUB_OUTPUT

- name: Generate changelog block
run: |
git cliff \
--unreleased \
--tag v${{ steps.version.outputs.version }} \
--strip all \
> CHANGELOG.new.md

- name: Inject release block just above the previous entry
run: |
awk '
BEGIN { done = 0 }
# On the *first* version header, insert the new block
/^## \[/ && done == 0 {
system("cat CHANGELOG.new.md")
print "" # blank line between blocks
done = 1
}
{ print }
' CHANGELOG.md > CHANGELOG.tmp \
&& mv CHANGELOG.tmp CHANGELOG.md \
&& rm CHANGELOG.new.md

- name: Update version with Poetry
run: |
# Use Poetry to update the version
poetry version ${{ steps.version.outputs.version }}

- name: Update version in README.md
run: |
# Update the version reference in README.md
sed -i "s/\[0\.[0-9]*\.[0-9]*\](https:\/\/github\.com\/NVIDIA\/NeMo-Guardrails\/tree\/v0\.[0-9]*\.[0-9]*)/[${{ steps.version.outputs.version }}](https:\/\/github.com\/NVIDIA\/NeMo-Guardrails\/tree\/v${{ steps.version.outputs.version }})/g" README.md
sed -i "s/version: \[0\.[0-9]*\.[0-9]*\]/version: [${{ steps.version.outputs.version }}]/g" README.md

- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: chore/release-${{ steps.version.outputs.version }}
base: develop
title: "chore: prepare for release v${{ steps.version.outputs.version }}"
body: |
## πŸš€ Release v${{ steps.version.outputs.version }}

This PR was automatically created by the release workflow.

### Changes included:
- βœ… Updated version to v${{ steps.version.outputs.version }}
- βœ… Updated CHANGELOG.md with latest changes
- βœ… Updated version references in README.md

---

After merging this PR, a tag will be created and a GitHub release will be published.
labels: |
release
automated
add-paths: |
CHANGELOG.md
pyproject.toml
poetry.lock
README.md
commit-message: "chore(release): prepare for v${{ steps.version.outputs.version }}"

- name: Clean up
run: rm -f RELEASE_NOTES.md
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v5.0.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG-Colang.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ All notable changes to the Colang language and runtime will be documented in thi

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.0-beta.7] - 2025-07-16

### Fixed

* Use processed user and bot messages after input/output rails transformations to prevent leakage of unfiltered data ([#1297](https://github.com/NVIDIA/NeMo-Guardrails/pull/1297)) by @lapinek

## [2.0-beta.6] - 2025-01-16

### Added
Expand Down
128 changes: 128 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,134 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
>
> The changes related to the Colang language and runtime have moved to [CHANGELOG-Colang](./CHANGELOG-Colang.md) file.

## [0.15.0] - 2025-08-08

### πŸš€ Features

- *(tracing)* [**breaking**] Update tracing to use otel api ([#1269](https://github.com/NVIDIA/NeMo-Guardrails/issues/1269))
- *(streaming)* Implement parallel streaming output rails execution ([#1263](https://github.com/NVIDIA/NeMo-Guardrails/issues/1263), [#1324](https://github.com/NVIDIA/NeMo-Guardrails/pull/1324))
- *(streaming)* Support external async token generators ([#1286](https://github.com/NVIDIA/NeMo-Guardrails/issues/1286))
- Support parallel rails execution ([#1234](https://github.com/NVIDIA/NeMo-Guardrails/issues/1234), [#1323](https://github.com/NVIDIA/NeMo-Guardrails/pull/1323))

### πŸ› Bug Fixes

- *(streaming)* Resolve word concatenation in streaming output rails ([#1259](https://github.com/NVIDIA/NeMo-Guardrails/issues/1259))
- *(streaming)* Enable token usage tracking for streaming LLM calls ([#1264](https://github.com/NVIDIA/NeMo-Guardrails/issues/1264), [#1285](https://github.com/NVIDIA/NeMo-Guardrails/issues/1285))
- *(tracing)* Prevent mutation of user options when tracing is enabled ([#1273](https://github.com/NVIDIA/NeMo-Guardrails/issues/1273))
- *(rails)* Prevent LLM parameter contamination in rails ([#1306](https://github.com/NVIDIA/NeMo-Guardrails/issues/1306))

### πŸ“š Documentation

- Release notes 0.14.1 ([#1272](https://github.com/NVIDIA/NeMo-Guardrails/issues/1272))
- Update guardrails-library.md to include Clavata as a third party API ([#1294](https://github.com/NVIDIA/NeMo-Guardrails/issues/1294))
- *(streaming)* Add section on token usage tracking ([#1282](https://github.com/NVIDIA/NeMo-Guardrails/issues/1282))
- Add parallel rail section and split config page ([#1295](https://github.com/NVIDIA/NeMo-Guardrails/issues/1295))
- Show complete prompts.yml content in getting started tutorial ([#1311](https://github.com/NVIDIA/NeMo-Guardrails/issues/1311))
- *(tracing)* Update and streamline tracing guide ([#1307](https://github.com/NVIDIA/NeMo-Guardrails/issues/1307))

### βš™οΈ Miscellaneous Tasks

- *(dependabot)* Remove dependabot configuration ([#1281](https://github.com/NVIDIA/NeMo-Guardrails/issues/1281))
- *(CI)* Add release workflow ([#1309](https://github.com/NVIDIA/NeMo-Guardrails/issues/1309), [#1318](https://github.com/NVIDIA/NeMo-Guardrails/issues/1318))

## [0.14.1] - 2025-07-02

### πŸš€ Features

- *(jailbreak)* Add direct API key configuration support ([#1260](https://github.com/NVIDIA/NeMo-Guardrails/issues/1260))

### πŸ› Bug Fixes

- *(jailbreak)* Lazy load jailbreak detection dependencies ([#1223](https://github.com/NVIDIA/NeMo-Guardrails/issues/1223),)
- *(llmrails)* Constructor LLM should not skip loading other config models ([#1221](https://github.com/NVIDIA/NeMo-Guardrails/issues/1221), [#1247](https://github.com/NVIDIA/NeMo-Guardrails/issues/1247), [#1250](https://github.com/NVIDIA/NeMo-Guardrails/issues/1250), [#1258](https://github.com/NVIDIA/NeMo-Guardrails/issues/1258))
- *(content_safety)* Replace try-except with iterable unpacking for policy violations ([#1207](https://github.com/NVIDIA/NeMo-Guardrails/issues/1207))
- *(jailbreak)* Pin numpy==1.23.5 for scikit-learn compatibility ([#1249](https://github.com/NVIDIA/NeMo-Guardrails/issues/1249))
- *(output_parsers)* Iterable unpacking compatibility in content safety parsers ([#1242](https://github.com/NVIDIA/NeMo-Guardrails/issues/1242))

### πŸ“š Documentation

- More heading levels so RNs resolve links ([#1228](https://github.com/NVIDIA/NeMo-Guardrails/issues/1228))
- Update docs version ([#1219](https://github.com/NVIDIA/NeMo-Guardrails/issues/1219))
- Fix jailbreak detection build instructions ([#1248](https://github.com/NVIDIA/NeMo-Guardrails/issues/1248))
- Change ABC bot link at docs ([#1261]([#1248](https://github.com/NVIDIA/NeMo-Guardrails/issues/1261)))

### πŸ§ͺ Testing

- Fix async test failures in cache embeddings and buffer strategy tests ([#1237](https://github.com/NVIDIA/NeMo-Guardrails/issues/1237))
- *(content_safety)* Add tests for content safety actions ([#1240](https://github.com/NVIDIA/NeMo-Guardrails/issues/1240))

### βš™οΈ Miscellaneous Tasks

- Update pre-commit-hooks to v5.0.0 ([#1238](https://github.com/NVIDIA/NeMo-Guardrails/issues/1238))

## [0.14.0] - 2025-05-28

### πŸš€ Features

- Change topic following prompt to allow chitchat ([#1097](https://github.com/NVIDIA/NeMo-Guardrails/issues/1097))
- Validate model name configuration ([#1084](https://github.com/NVIDIA/NeMo-Guardrails/issues/1084))
- Add support for langchain partner and community chat models ([#1085](https://github.com/NVIDIA/NeMo-Guardrails/issues/1085))
- Add fuzzy find provider capability to cli ([#1088](https://github.com/NVIDIA/NeMo-Guardrails/issues/1088))
- Add code injection detection to guardrails library ([#1091](https://github.com/NVIDIA/NeMo-Guardrails/issues/1091))
- Add clavata community integration ([#1027](https://github.com/NVIDIA/NeMo-Guardrails/issues/1027))
- Implement validation to forbid dialog rails with reasoning traces ([#1137](https://github.com/NVIDIA/NeMo-Guardrails/issues/1137))
- Load yara lazily to avoid action dispatcher error ([#1162](https://github.com/NVIDIA/NeMo-Guardrails/issues/1162))
- Add support for system messages to RunnableRails ([#1106](https://github.com/NVIDIA/NeMo-Guardrails/issues/1106))
- Add api_key_env_var to Model, pass in kwargs to langchain initializer ([#1142](https://github.com/NVIDIA/NeMo-Guardrails/issues/1142))
- Add inline YARA rules support ([#1164](https://github.com/NVIDIA/NeMo-Guardrails/issues/1164))
- [**breaking**] Add support for preserving and optionally applying guardrails to reasoning traces ([#1145](https://github.com/NVIDIA/NeMo-Guardrails/issues/1145))
- Prevent reasoning traces from contaminating LLM prompt history ([#1169](https://github.com/NVIDIA/NeMo-Guardrails/issues/1169))
- Add RailException support to injection detection and improve error handling ([#1178](https://github.com/NVIDIA/NeMo-Guardrails/issues/1178))
- Add Nemotron model support with message-based prompts ([#1199](https://github.com/NVIDIA/NeMo-Guardrails/issues/1199))

### πŸ› Bug Fixes

- Correct task name for self_check_facts ([#1040](https://github.com/NVIDIA/NeMo-Guardrails/issues/1040))
- Error in LLMRails with tracing enabled ([#1103](https://github.com/NVIDIA/NeMo-Guardrails/issues/1103))
- Self check output colang 1 flow ([#1126](https://github.com/NVIDIA/NeMo-Guardrails/issues/1126))
- Use ValueError in TaskPrompt to resolve TypeError raised by Pydantic ([#1132](https://github.com/NVIDIA/NeMo-Guardrails/issues/1132))
- Correct dialog rails activation logic ([#1161](https://github.com/NVIDIA/NeMo-Guardrails/issues/1161))
- Allow reasoning traces when embeddings_only is True ([#1170](https://github.com/NVIDIA/NeMo-Guardrails/issues/1170))
- Prevent explain_info overwrite during stream_async ([#1194](https://github.com/NVIDIA/NeMo-Guardrails/issues/1194))
- Colang 2 issues in community integrations ([#1140](https://github.com/NVIDIA/NeMo-Guardrails/issues/1140))
- Ensure proper asyncio task cleanup in test_streaming_handler.py ([#1182](https://github.com/NVIDIA/NeMo-Guardrails/issues/1182))

### 🚜 Refactor

- Reorganize HuggingFace provider structure ([#1083](https://github.com/NVIDIA/NeMo-Guardrails/issues/1083))
- Remove support for deprecated nemollm engine ([#1076](https://github.com/NVIDIA/NeMo-Guardrails/issues/1076))
- [**breaking**] Remove deprecated return_context argument ([#1147](https://github.com/NVIDIA/NeMo-Guardrails/issues/1147))
- Rename `remove_thinking_traces` field to `remove_reasoning_traces` ([#1176](https://github.com/NVIDIA/NeMo-Guardrails/issues/1176))
- Update deprecated field handling for remove_thinking_traces ([#1196](https://github.com/NVIDIA/NeMo-Guardrails/issues/1196))
- Introduce END_OF_STREAM sentinel and update handling ([#1185](https://github.com/NVIDIA/NeMo-Guardrails/issues/1185))

### πŸ“š Documentation

- Remove markup from code block ([#1081](https://github.com/NVIDIA/NeMo-Guardrails/issues/1081))
- Replace img tag with Markdown images ([#1087](https://github.com/NVIDIA/NeMo-Guardrails/issues/1087))
- Remove NeMo Service (nemollm) documentation ([#1077](https://github.com/NVIDIA/NeMo-Guardrails/issues/1077))
- Update cleanlab integration description ([#1080](https://github.com/NVIDIA/NeMo-Guardrails/issues/1080))
- Add providers fuzzy search cli command ([#1089](https://github.com/NVIDIA/NeMo-Guardrails/issues/1089))
- Clarify purpose of model parameters field in configuration guide ([#1181](https://github.com/NVIDIA/NeMo-Guardrails/issues/1181))
- Output rails are supported with streaming ([#1007](https://github.com/NVIDIA/NeMo-Guardrails/issues/1007))
- Add mention of Nemotron ([#1200](https://github.com/NVIDIA/NeMo-Guardrails/issues/1200))
- Fix output rail doc ([#1159](https://github.com/NVIDIA/NeMo-Guardrails/issues/1159))
- Revise GS example in getting started doc ([#1146](https://github.com/NVIDIA/NeMo-Guardrails/issues/1146))
- Possible update to injection detection ([#1144](https://github.com/NVIDIA/NeMo-Guardrails/issues/1144))

### βš™οΈ Miscellaneous Tasks

- Dynamically set version using importlib.metadata ([#1072](https://github.com/NVIDIA/NeMo-Guardrails/issues/1072))
- Add link to topic control config and prompts ([#1098](https://github.com/NVIDIA/NeMo-Guardrails/issues/1098))
- Reorganize GitHub workflows for better test coverage ([#1079](https://github.com/NVIDIA/NeMo-Guardrails/issues/1079))
- Add summary jobs for workflow branch protection ([#1120](https://github.com/NVIDIA/NeMo-Guardrails/issues/1120))
- Add Adobe Analytics configuration ([#1138](https://github.com/NVIDIA/NeMo-Guardrails/issues/1138))
- Fix and revert poetry lock to its stable state ([#1133](https://github.com/NVIDIA/NeMo-Guardrails/issues/1133))
- Add Codecov integration to workflows ([#1143](https://github.com/NVIDIA/NeMo-Guardrails/issues/1143))
- Add Python 3.12 and 3.13 test jobs to gitlab workflow ([#1171](https://github.com/NVIDIA/NeMo-Guardrails/issues/1171))
- Identify OS packages to install in contribution guide([#1136](https://github.com/NVIDIA/NeMo-Guardrails/issues/1136))
- Remove Got It AI from ToC in 3rd party docs([#1213](https://github.com/NVIDIA/NeMo-Guardrails/issues/1213))

## [0.13.0] - 2025-03-25

### πŸš€ Features
Expand Down
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,9 @@ To get started quickly, follow the steps below.
python3 --version
```

> Note: we suggest you use `pyenv` to manage your Python versions. You can find the installation instructions [here](https://github.com/pyenv/pyenv?tab=readme-ov-file#installation).
> Note: we suggest you use `pyenv` to manage your Python versions. You can find the installation instructions [here](https://github.com/pyenv/pyenv?tab=readme-ov-file#installation).

Also install `g++` and `python3-dev` packages as dependencies to Annoy.

2. Clone the project repository:

Expand Down
Loading
Loading