Note
PyPI releases are back. pr-agent is published to PyPI again as part of the release workflow — this release is available as pr-agent 0.43.0. The versions missed during the gap (0.40.0, 0.41.0, 0.42.0) have been backfilled as well.
pip install pr-agent==0.43.0What's Changed
🚀 Features
- feat(config): accept max reasoning effort by @Kyzcreig in #2529
- feat: add Asana ticket detection to ticket compliance check by @Oxygen56 in #2430
- feat(azure): publish review findings inline by @TLA020 in #2651
- feat(webhooks): add feedback_on_draft_pr to run auto commands on draft PRs by @kvdb in #2659
- feat(gitlab): incremental /review -i and /improve -i by @sizickp in #2389
- Add support for Gemini 3.7 Flash by @takotakot in #2657
🐛 Bug Fixes
- fix(azure): span complete suggestion lines by @TLA020 in #2721
- fix(suggestions): remove stale progress comments by @TLA020 in #2648
- fix: compare configuration skip keys case-insensitively by @dwin-gharibi in #2689
- fix: render a trailing deletion-only hunk instead of dropping it by @dwin-gharibi in #2683
- fix: parse omitted hunk counts in find_line_number_of_relevant_line_in_file by @dwin-gharibi in #2699
- fix: treat an omitted unified-diff hunk count as 1, not 0 by @dwin-gharibi in #2677
- fix: return 401 instead of 500 for an unauthenticated Azure DevOps webhook by @dwin-gharibi in #2703
- fix: match the litellm callback probe record by identity by @dwin-gharibi in #2693
- fix: read config.skip_keys from the correct settings path by @dwin-gharibi in #2687
- fix: stop lowercasing the whole comment body in the GitHub Action runner by @dwin-gharibi in #2691
- fix: strip whitespace before validating forbidden CLI arguments by @dwin-gharibi in #2675
- fix: authenticate GitLab webhooks in the request path so failures return 401 by @dwin-gharibi in #2708
- fix(description): use regex for minute suffix replacement instead of blanket .replace by @gvago in #2318
- fix: render tickets requiring only human verification by @Fnine59 in #2654
- fix: select the correct old-file lines for /ask on a LEFT-side diff line by @dwin-gharibi in #2679
- fix: drop deletion-only hunk when a later hunk has additions by @bunnysayzz in #2621
- fix: keep DefaultDictWithTimeout key timestamps in sync with its entries by @dwin-gharibi in #2685
- fix(local): support detached HEAD in LocalGitProvider by @SAY-5 in #2670
- fix(gitea): use user-facing base URL for links published in comments by @niallsemple in #2617
- fix: allow importing get_logger as the first pr_agent import by @AshSgDe29071999 in #2704
- fix(azure): anchor inline comments to diff paths by @TLA020 in #2647
- fix: update stale unreviewed_files_set references to unreviewed_files_map in tests by @lesbass in #2711
- fix(ticket-compliance): fetch linked issues from their own repository by @higher68 in #2533
- fix: include agent run details in /improve output when no suggestions are found by @YokoAC in #2653
- fix(improve): route self-reflection through the reasoning fallback chain (#2660) by @IsmaelMartinez in #2661
📚 Documentation
- docs(gitlab): clarify pipeline and webhook workflows by @hansu650 in #2636
- docs: pin current GitHub install source by @er-s-an in #2655
- docs: document local git provider workflow by @yefuyou in #2665
- docs: remove wiki configuration file, which this repo does not implement by @IsmaelMartinez in #2666
- docs: remove interactive checkbox claims that this repo does not implement (#2541) by @IsmaelMartinez in #2615
🧹 Maintenance
- chore(deps): Upgrade LiteLLM to the latest stable v1.96.2 by @PeterDaveHello in #2638
- test: isolate Gunicorn tests from runner CPU affinity by @PeterDaveHello in #2613
Full Changelog: v0.42.0...v0.43.0