Note
v0.40.0 isn't on PyPI yet. We're working on getting it published and will update this note as soon as it lands. In the meantime, pip install pr-agent==0.40.0 won't resolve — use one of these instead:
Docker — images for 0.40.0 are available now:
docker pull pragent/pr-agent:0.40.0 # CLI
docker pull pragent/pr-agent:0.40.0-github_app # per-target images use the same -<target> suffixInstall from source at the tag:
pip install "git+https://github.com/The-PR-Agent/pr-agent.git@v0.40.0"This installs the v0.40.0 code, though it currently self-reports 0.39.0.
Or stay on pr-agent==0.39.0 until we confirm here that 0.40.0 is available.
What's Changed
🚀 Features
- feat(config): update default model to OpenAI's GPT-5.6 by @PeterDaveHello in #2535
- Add OpenAI's GPT-5.6 model support by @PeterDaveHello in #2517
- Add support for Gemini 3.6 models by @takotakot in #2538
- feat: persistent inline comments to prevent cross-run duplicates by @IsmaelMartinez in #2424
- feat(openrouter): add provider routing and reasoning controls by @FabrizioCafolla in #2518
- feat(providers): add tokenless diff provider by @vectorkovacspeter in #2467
- feat: support CI artifact context injection and workflow_run trigger by @MahmoudHaouachi in #2494
🐛 Bug Fixes
- fix(gerrit): prevent path traversal in publish_code_suggestions by @gvago in #2314
- fix(litellm): flush deferred callbacks before the event loop closes by @naorpeled in #2551
- fix(litellm): stop the placeholder key from shadowing provider env vars by @naorpeled in #2548
- fix(servers): cap gunicorn workers and preload the app to stop OOMKills by @naorpeled in #2550
- fix(gitlab): preserve user-added labels by @ashearin in #2484
- fix(litellm): raise on empty content from non-streaming models by @AmirF194 in #2542
- fix(gitlab): allow overriding is_bot_user indicators by @ashearin in #2528
- fix(local): return language names from get_languages() by @naorpeled in #2519
- Honor reasoning_effort for Gemini 2.5 (and provider-prefixed reasoning models) by @mpj in #2520
- AI: fix(gitea): allow description updates without titles by @brlin-tw in #2526
📚 Documentation
- docs(tools): add consolidated usage examples for all tools by @naorpeled in #2547
- docs: Fix Dockerfile path in gitea installation instructions by @brlin-tw in #2524
- docs: add pull_request_target guide for fork contribution support by @utsab345 in #2501
🧹 Maintenance
- chore(deps): Upgrade LiteLLM to the latest stable v1.93.0 by @PeterDaveHello in #2546
- test(github): fix build-and-test failure from _dedup_code_fp payload key by @naorpeled in #2549
Full Changelog: v0.39.0...v0.40.0