Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
844 commits
Select commit Hold shift + click to select a range
0c6e499
perf(gitlab): cache verified empty diff results (#4085)
PeterDaveHello Oct 17, 2026
6350ffe
fix(similar_issue): retry after filtering excluded hits (#4104)
oleksii-tumanov Oct 17, 2026
c03d64b
perf: batch LanceDB issue index checks (#4115)
utsab345 Oct 17, 2026
2d2a72f
fix(gitlab): match ticket URLs to the configured origin (#4097)
oleksii-tumanov Oct 17, 2026
03b683d
fix(bitbucket): prevent fork changelog writes (#4098)
utsab345 Oct 17, 2026
84c4ed6
perf(bitbucket): avoid unused Server base lookups (#4108)
oleksii-tumanov Oct 17, 2026
c1a5cad
fix: avoid partial Azure incremental reviews (#4099)
utsab345 Oct 17, 2026
e836973
perf(codecommit): cache completed empty file lists (#4127)
oleksii-tumanov Oct 17, 2026
af8847a
fix(codecommit): report unreadable changed files (#4133)
utsab345 Oct 17, 2026
01f6a30
perf(config): reuse remote extra config payloads per request (#4043)
PeterDaveHello Oct 17, 2026
6ced597
fix(describe): skip file walkthrough entries with empty fields (#4082)
utsab345 Oct 17, 2026
0457038
fix(describe): preserve success when final feedback fails (#4092)
oleksii-tumanov Oct 18, 2026
c374821
feat(improve): retain equal summaries across files (#4128)
oleksii-tumanov Oct 18, 2026
1c4ab5d
perf(improve): avoid truncation work for required suggestion chunks (…
PeterDaveHello Oct 18, 2026
28f2ce2
fix(diff): decode UTF-16 file content correctly (#4096)
utsab345 Oct 18, 2026
1d21ef3
fix(diff): bound context at adjacent hunks (#4086)
utsab345 Oct 18, 2026
74abc58
fix: include DNS validation in URL fetch timeouts (#4109)
oleksii-tumanov Oct 18, 2026
a125a4a
fix(gitea): encode raw file content paths (#4106)
jiuyueQ Oct 18, 2026
3659d3f
fix(gitea): read renamed base from old path (#4132)
utsab345 Oct 18, 2026
0597c4e
fix(gitea): skip inline comments on lines outside the diff (#4130)
fbidu Oct 18, 2026
41f4572
perf: defer Gitea diff and commit fetches (#4103)
utsab345 Oct 18, 2026
017fe10
fix: honor ignore rules in local diff providers (#4110)
utsab345 Oct 18, 2026
76e597a
fix: discard stale plain diff context (#4114)
utsab345 Oct 18, 2026
2c2e557
fix(github): refresh all PR label pages before replacement (#4083)
PeterDaveHello Oct 18, 2026
d2d0068
fix(github): scope API-URL classification to exact host + path prefix…
depohmel Oct 18, 2026
0506df2
fix: keep quoted list settings as lists in parse_command (#4070)
utsab345 Oct 18, 2026
25a5ab1
fix(review): cap merged chunk findings at num_max_findings (#4138)
utsab345 Oct 18, 2026
8bcc32d
fix: preserve repeated override quote types (#4129)
utsab345 Oct 18, 2026
3f2b609
fix(bitbucket): encode file paths in content reads (#4095)
utsab345 Oct 18, 2026
83b791c
fix(routing): retain displaced primary in colliding fallback chains (…
PeterDaveHello Oct 18, 2026
f261e87
fix(jira): default project_keys to wildcard and empty list to disable…
itsvrushabh Oct 18, 2026
9137b14
fix(review): merge chunked ticket entries by the real ticket (#4139)
utsab345 Oct 18, 2026
c92bbce
fix(ask): parse markdown image URLs precisely (#4087)
utsab345 Oct 18, 2026
942ca5c
fix(diff): split patches on newlines only so line numbers match git (…
porkedchop Oct 18, 2026
aeae230
fix: align Bitbucket patches by file path (#4102)
utsab345 Oct 18, 2026
49bec6f
fix(gitlab): retry not-ready merge request diffs with bounded backoff…
Yoel-qin Oct 18, 2026
dd51ab3
feat(gitlab): add opt-in closest-subgroup settings inheritance (#4059)
ashearin Oct 18, 2026
959d3f5
fix(github): read repository settings from one revision (#4094)
oleksii-tumanov Oct 18, 2026
db1dbbc
fix: require Bitbucket Server diff content (#4111)
utsab345 Oct 18, 2026
640e664
fix(gitlab): pin repository settings to one revision (#4093)
oleksii-tumanov Oct 18, 2026
33d3e26
chore: add UP ruff rule (#4067)
even-even Oct 18, 2026
dd34847
docs: Align AGENTS.md with repository configuration and test workflow…
PeterDaveHello Oct 18, 2026
3e4494a
docs: add API Route configuration example (#4153)
DennyHo0917 Oct 18, 2026
d2dc686
perf(ask_line): avoid full PR reads for language logging (#4156)
PeterDaveHello Oct 18, 2026
85ee6f3
perf(github): fetch issue sub-issues in one GraphQL request (#4157)
PeterDaveHello Oct 18, 2026
33fc4b4
docs: Scope agent lint fixes to changed files and preserve valid igno…
PeterDaveHello Oct 18, 2026
c980526
Enable automatic /review on new PRs (fixes #4162) (#4170)
kiranmutyala18 Oct 19, 2026
e14e68b
perf(gitlab): avoid project fetch before language stats (#4163)
PeterDaveHello Oct 19, 2026
b198840
perf(gitlab): reduce pagination requests for commit messages (#4164)
PeterDaveHello Oct 19, 2026
c657bb8
fix(diff): preserve non-LF characters when rebuilding patches (#4168)
PeterDaveHello Oct 19, 2026
5c49c41
perf(similar_issue): avoid eager issue pagination during indexing (#4…
PeterDaveHello Oct 19, 2026
d24cd3e
fix(models): avoid same-model retries for authentication failures (#4…
PeterDaveHello Oct 19, 2026
05c5186
perf(github): reuse revision-pinned file contents across commands (#4…
PeterDaveHello Oct 19, 2026
d8a4f8a
fix(review): preserve corrected answers for the latest question (#4166)
PeterDaveHello Oct 19, 2026
ad7b399
fix(add_docs): preserve literal indentation in suggestions (#4172)
oleksii-tumanov Oct 19, 2026
e0d744e
feat(help): prioritize a matching document in constrained prompts (#4…
oleksii-tumanov Oct 19, 2026
fbf7f6d
ci(review): make self-hosted /improve post suggestions again (#4174)
Yoel-qin Oct 19, 2026
c7b2793
fix(plain-diff): decode Git-quoted file paths (#4152)
Aling33 Oct 19, 2026
5963824
fix(gerrit): bound direct git and SSH commands (#4177)
oleksii-tumanov Oct 19, 2026
65dbbe5
perf(gitlab): skip project lookup when fetching a merge request (#4183)
PeterDaveHello Oct 19, 2026
2eb8d5a
perf(changelog): skip waits when no follow-up review is needed (#4185)
PeterDaveHello Oct 19, 2026
d76c7ea
fix(review): preserve case-sensitive paths when merging chunks (#4182)
PeterDaveHello Oct 19, 2026
50c6055
perf(github-action): skip unused provider initialization (#4181)
PeterDaveHello Oct 19, 2026
2c6edf1
perf(github): reduce API calls for paginated lists (#4184)
PeterDaveHello Oct 19, 2026
a2573e0
chore(deps): bump the docs-minor-and-patch group in /docs with 2 upda…
dependabot[bot] Oct 20, 2026
9b6c347
chore(ci): bump the actions-minor-and-patch group with 3 updates (#4191)
dependabot[bot] Oct 20, 2026
8b73805
chore(deps): bump the python-minor-and-patch group with 12 updates (#…
dependabot[bot] Oct 20, 2026
6b2f478
perf(diff): normalize excluded extensions once per file batch (#4187)
PeterDaveHello Oct 20, 2026
cbaa5f0
perf(similar_issue): batch embeddings before individual retries (#4189)
PeterDaveHello Oct 20, 2026
b4c3d11
fix(help_docs): recount tokens after cleaning documentation (#4188)
PeterDaveHello Oct 20, 2026
5fc4aed
feat(ask): answer questions with the CI artifact as context (#4176)
Yoel-qin Oct 20, 2026
729415c
fix: skip review and describe when all files are filtered (#4204)
utsab345 Oct 20, 2026
fed5a25
perf(review): avoid extracting code snippets that are not displayed (…
PeterDaveHello Oct 21, 2026
b621c2c
perf(similar_issue): skip unused comments when preparing queries (#4212)
PeterDaveHello Oct 21, 2026
28f533f
fix(help_docs): recognize Unicode letters in documentation (#4206)
PeterDaveHello Oct 21, 2026
f87eae3
perf(help_docs): stop the root README scan before descending (#4207)
PeterDaveHello Oct 21, 2026
a1b25e2
perf(describe): index file statistics when rendering walkthroughs (#4…
PeterDaveHello Oct 21, 2026
2ba1faa
perf(similar_issue): narrow LanceDB lookups to candidate issue IDs (#…
PeterDaveHello Oct 21, 2026
1d110ab
fix(changelog): retry empty model responses before publishing (#4209)
PeterDaveHello Oct 21, 2026
e9782d1
fix(gitlab): avoid double-encoding submodule project paths (#4214)
PeterDaveHello Oct 21, 2026
67f4692
perf(webhooks): release body chunks before processing requests (#4208)
PeterDaveHello Oct 21, 2026
5161701
docs: stop examples from repeating the primary model in fallback_mode…
utsab345 Oct 21, 2026
5d1955c
fix(describe): fall back on unusable model responses (#4186)
PeterDaveHello Oct 21, 2026
8a824af
fix: prevent local config contents in log artifact while preserving P…
wjc2821296948 Oct 21, 2026
4d1ecc1
fix: stop bare #N in comments, link text, colours and words becoming …
jay23606 Oct 21, 2026
0326c51
chore(deps): bump follow-redirects from 1.16.0 to 1.16.1 in /docs (#4…
dependabot[bot] Oct 21, 2026
af83869
chore: add FURB ruff rules (#4216)
even-even Oct 21, 2026
5c5a804
chore(deps): bump certifi from 2026.7.22 to 2026.10.19 (#4217)
dependabot[bot] Oct 21, 2026
325e1a2
chore(deps): bump launch-editor from 2.14.1 to 2.14.2 in /docs (#4218)
dependabot[bot] Oct 21, 2026
38213a5
feat(improve): write suggestions to --json-output (#4227)
Sajinthan Oct 21, 2026
56b91e0
feat(review): list the files left out in the JSON output (#4226)
Sajinthan Oct 21, 2026
a3bdec3
feat(ask): include organizational skills in line-level answers (#4225)
Yoel-qin Oct 21, 2026
aa94192
fix(algo): keep yaml fence stripping linear (#4232)
utsab345 Oct 21, 2026
63a9bcb
fix(repo-context): survive a failed revision lookup (#4246)
utsab345 Oct 21, 2026
556ff4c
perf(gitlab): avoid redundant project fetches before comparisons (#4242)
PeterDaveHello Oct 21, 2026
d7023d4
fix(bedrock): stop sending temperature to GLM-5 by default (#4219)
ira-at-work Oct 21, 2026
cabc3a1
docs: add "Incorrect API key provided: dummy_key" to the GitHub Actio…
qwist1233-cpu Oct 21, 2026
41b8fa0
perf(review): skip ticket lookups for unchanged incremental reviews (…
PeterDaveHello Oct 21, 2026
6c6da24
fix(labels): preserve label changes made during model calls (#4237)
PeterDaveHello Oct 21, 2026
6da3798
fix(help): render static help without initializing an AI handler (#4241)
PeterDaveHello Oct 22, 2026
92a5aa2
perf(config): reuse the request-scoped git provider (#4243)
PeterDaveHello Oct 22, 2026
22c9237
fix(gitlab): publish notice for incomplete merge request diffs (#4234)
Evhye38496 Oct 22, 2026
9669241
fix(polling): avoid rerunning commands found in comment history (#4239)
PeterDaveHello Oct 22, 2026
797cf4e
perf(improve): stop scanning comments once the summary is found (#4240)
PeterDaveHello Oct 22, 2026
9533564
fix(outputs): deliver the sinks off the event loop (#4247)
utsab345 Oct 22, 2026
f5f8a0d
fix(bitbucket): read ambiguous diff headers from patch metadata (#4248)
utsab345 Oct 22, 2026
9bb5994
fix: normalize scalar PR commands (#4253)
utsab345 Oct 22, 2026
e2456c0
fix(security): block DNS rebinding (#4252)
utsab345 Oct 22, 2026
58fb57b
fix: treat scalar PR ignore settings as single values (#4257)
kocaemre Oct 22, 2026
2cc72a1
fix(ignore): cap glob length (#4259)
utsab345 Oct 22, 2026
581d90c
fix: parse CRLF plain diffs correctly (#4231)
strawberry-little-bear Oct 22, 2026
e1b1db2
fix(skills): treat a string paths value as one path (#4244)
utsab345 Oct 22, 2026
55b51a5
fix(ignore): keep bracket expressions in string glob patterns (#4245)
utsab345 Oct 22, 2026
4921bf6
fix(ci): update uv security pin (#4263)
utsab345 Oct 22, 2026
b1e75b5
feat(repo-context): glob entries and fallback alternatives in repo_co…
ira-at-work Oct 22, 2026
d19ba08
perf(gitlab): count changed lines without splitting patches (#4238)
PeterDaveHello Oct 22, 2026
ede5749
perf(gitlab): stop fetching discussions after finding the target (#4235)
PeterDaveHello Oct 22, 2026
c4fa3d3
perf(gitlab): cache stable merge request changes (#4254)
utsab345 Oct 22, 2026
1771edd
fix(config): honor settings context selection (#4251)
utsab345 Oct 22, 2026
51f1db1
fix(review): resolve findings in a chunked review when none were cut …
jadhavgaurav Oct 22, 2026
c64f4d7
fix(review): preserve source characters in patch-based snippets (#4268)
PeterDaveHello Oct 22, 2026
fb71ca8
fix(help_docs): preserve ranked documents that already fit (#4267)
PeterDaveHello Oct 22, 2026
d997485
perf(similar_issue): defer comments until an issue is indexable (#4269)
PeterDaveHello Oct 22, 2026
4d372e0
perf(gitlab): reuse revision-pinned configuration tree paths (#4270)
PeterDaveHello Oct 22, 2026
66176fd
chore(deps): Upgrade OpenTelemetry and virtualenv (#4271)
PeterDaveHello Oct 22, 2026
dcc3e87
feat(jira): support scoped API tokens (#4250)
utsab345 Oct 23, 2026
f5ffd0e
fix(github): use the GraphQL endpoint on GitHub Enterprise Server (#4…
MaxFreedomPollard Oct 23, 2026
8d07867
fix: reject escaping repo context paths (#4279)
utsab345 Oct 23, 2026
29c3837
fix: disable loguru diagnose and backtrace (#4280)
utsab345 Oct 23, 2026
ba3e31c
fix(config): keep litellm.extra_headers host-only (#4287)
fixfon Oct 23, 2026
dd88efd
fix: authorize cross-project GitLab tickets (#4290)
utsab345 Oct 23, 2026
31fb4d6
fix: require bot authorship for describe persistent comments (#4291)
utsab345 Oct 23, 2026
1bcec3f
fix: anchor incremental reviews to agent comments (#4292)
utsab345 Oct 23, 2026
4d31fac
docs: add review checklist (#4298)
utsab345 Oct 23, 2026
092b840
chore: run pre-commit through uvx (#4299)
utsab345 Oct 23, 2026
03e3b09
fix: hide host-only configuration output (#4293)
utsab345 Oct 23, 2026
070c325
fix: restrict polling to allowlisted repositories (#4294)
utsab345 Oct 23, 2026
c1299ad
fix: normalize list settings consistently (#4300)
utsab345 Oct 23, 2026
a5d2260
fix: reject boolean body size limits (#4301)
utsab345 Oct 23, 2026
ff85871
chore: upgrade Ruff to 0.17.2 (#4304)
utsab345 Oct 23, 2026
5f20b26
chore(docker): upgrade Python base image to 3.14.9 (#4316)
PeterDaveHello Oct 23, 2026
3e186f3
fix(help_docs): preserve fenced examples during cleanup (#4319)
PeterDaveHello Oct 23, 2026
a411eb9
docs: clarify the uv version requirement in CONTRIBUTING.md (#4308)
PeterDaveHello Oct 23, 2026
c685371
fix: skip generate_labels, add_docs and update_changelog when all fil…
swayamg20 Oct 23, 2026
437b37a
chore(docker): refresh pinned Lambda Python 3.14 base image (#4309)
PeterDaveHello Oct 23, 2026
dd50170
perf(context): expand repository globs only within the line budget (#…
PeterDaveHello Oct 23, 2026
776afd8
perf(github): reuse revision-pinned configuration tree paths (#4311)
PeterDaveHello Oct 23, 2026
a11316c
fix(improve): keep embedded fences inside summary diffs (#4312)
PeterDaveHello Oct 23, 2026
07ab2ab
fix(gitlab): preserve Git line boundaries when resolving fixed thread…
PeterDaveHello Oct 23, 2026
78fedf1
perf(gitlab): load submodule mappings only for expandable changes (#4…
PeterDaveHello Oct 23, 2026
17255c3
fix(describe): retain valid YAML file-description chunks (#4315)
PeterDaveHello Oct 23, 2026
53c4306
perf(diff): release discarded extended patches before repacking (#4317)
PeterDaveHello Oct 23, 2026
a26f7c8
perf(gitlab): fetch incremental commits in larger pages (#4318)
PeterDaveHello Oct 23, 2026
ab90e6e
fix: stop Gitea changed-files pagination at the advertised total (#4306)
fixfon Oct 23, 2026
ea18d38
fix: parse GitLab boolean settings (#4303)
utsab345 Oct 24, 2026
a320276
fix: reject boolean routing limits (#4302)
utsab345 Oct 24, 2026
209d96f
feat(describe): write the description to --json-output (#4265)
Yoel-qin Oct 24, 2026
3d97336
feat(cli): add a doctor command to preflight the deployment (#4321)
Yoel-qin Oct 24, 2026
ac958fb
Redact Stripe, Twilio and SendGrid credentials (#4328)
IlyaKhalafi Oct 24, 2026
bebd4b5
fix(github): let the operator name the agent login an app token posts…
sarankumar1325 Oct 24, 2026
b4cdafe
fix(gitlab): paginate repository directory listings (#4332)
utsab345 Oct 24, 2026
958e81e
fix(ask): answer with a note when every changed file is filtered out …
sarankumar1325 Oct 24, 2026
0962614
fix(azure): handle created events without a web link (#4171)
oleksii-tumanov Oct 24, 2026
370e169
fix(similar_issue): use the supported Qdrant query API (#4341)
PeterDaveHello Oct 24, 2026
4da9544
fix(algo): prefer exact source lines before fuzzy matching (#4340)
PeterDaveHello Oct 24, 2026
ca566e2
perf(similar_issue): batch indexed issue lookups (#4339)
PeterDaveHello Oct 24, 2026
7f25d3d
chore(deps): bump undici from 7.29.1 to 7.30.1 in /docs (#4350)
dependabot[bot] Oct 24, 2026
86906da
chore(deps): bump fast-uri from 3.1.8 to 3.1.9 in /docs (#4351)
dependabot[bot] Oct 24, 2026
1df97cd
fix(azure): reject incomplete linked work item responses (#4173)
oleksii-tumanov Oct 24, 2026
666d291
fix: retry whitespace-only model completions (#4348)
PeterDaveHello Oct 24, 2026
936af87
perf: defer unused per-file extended diff token counts (#4349)
PeterDaveHello Oct 24, 2026
df81779
docs: clarify setup steps and section hierarchy across guides (#4342)
PeterDaveHello Oct 24, 2026
bec5975
fix(routing): count diff hunks without splitting patch lines (#4344)
PeterDaveHello Oct 24, 2026
3b23892
perf(github): avoid refetching inline question thread comments (#4345)
PeterDaveHello Oct 24, 2026
94ba9d9
fix(add-docs): retry malformed model responses with fallback models (…
PeterDaveHello Oct 24, 2026
9750c1d
chore(deps): Upgrade Langfuse to v4 for continued SDK and server supp…
PeterDaveHello Oct 24, 2026
2320e06
chore(deps): bump body-parser from 1.20.8 to 1.20.9 in /docs (#4352)
dependabot[bot] Oct 25, 2026
f57c99d
fix(mosaico): retain tasks with bounded owner history (#4337)
utsab345 Oct 25, 2026
1dd2d3c
fix(ask_line): defer handler setup until a diff hunk matches (#4354)
oleksii-tumanov Oct 25, 2026
d92a9b5
feat(artifacts): support multiple artifact files (#4338)
utsab345 Oct 25, 2026
efdde4a
perf(bitbucket): reuse the initial diffstat result (#4356)
oleksii-tumanov Oct 25, 2026
f6041fb
chore(release): bump version to 0.49.0 [skip ci]
github-actions[bot] Oct 25, 2026
8148900
perf(bitbucket): skip OAuth setup for ignored webhook events (#4357)
oleksii-tumanov Oct 25, 2026
7907c2a
perf(gitea): skip raw diff for nonreviewable files (#4361)
oleksii-tumanov Oct 25, 2026
19394fb
fix: preserve quoted headers in user descriptions (#4358)
oleksii-tumanov Oct 25, 2026
1f4c7fa
perf: skip truncation when commands require the full diff (#4362)
oleksii-tumanov Oct 25, 2026
03ede7f
fix(help): retry unusable structured answers with fallback models (#4…
PeterDaveHello Oct 25, 2026
a24d5a3
perf(similar-issue): request only required result fields (#4364)
PeterDaveHello Oct 25, 2026
6692b11
perf(tickets): reuse issue reads during ticket extraction (#4363)
PeterDaveHello Oct 25, 2026
e4d9db5
chore: remove fixable list ruff rules (#4359)
even-even Oct 25, 2026
0624ad2
perf(help-docs): bound memory when reading documentation (#4367)
PeterDaveHello Oct 25, 2026
3dd59c5
feat(github-action): stop the runner on a failed key check (#4325)
Yoel-qin Oct 26, 2026
bcbd938
perf(context): bound instruction rendering to retained lines (#4366)
PeterDaveHello Oct 26, 2026
03a1999
feat(model-routing): support a patch character limit (#4376)
oleksii-tumanov Oct 26, 2026
bff980c
docs: add a Runcrate section to changing_a_model (#4374)
heydryft Oct 26, 2026
12d28a6
perf(azure): skip history without an incremental anchor (#4375)
oleksii-tumanov Oct 26, 2026
fa4c73b
fix(review): preserve effort labels without a valid replacement (#4378)
PeterDaveHello Oct 26, 2026
5df0974
chore(deps): Update boto3 and botocore to 1.43.118 (#4379)
PeterDaveHello Oct 26, 2026
d40d62b
feat(models): add Claude Sonnet 5.5 and Haiku 5.5 support (#4360)
montss Oct 26, 2026
db01c1e
chore: remove stale push trigger todo (#4390)
utsab345 Oct 26, 2026
6b5db96
chore: bound CI job runtimes (#4387)
utsab345 Oct 26, 2026
5737433
fix(review): retain partial compliance in ticket summaries (#4383)
PeterDaveHello Oct 26, 2026
0e63e7e
fix(describe): handle nullable description output (#4382)
PeterDaveHello Oct 26, 2026
c03adcc
fix(review): include commit context in contribution-time estimates (#…
oleksii-tumanov Oct 26, 2026
f82cb25
fix(review): preserve prose TODO findings across chunks (#4384)
PeterDaveHello Oct 26, 2026
d35c54c
fix(telemetry): isolate direct Prometheus runs (#4380)
oleksii-tumanov Oct 26, 2026
9e92fac
fix: reject invalid webhook body sizes (#4388)
utsab345 Oct 26, 2026
1350f23
fix(improve): don't state identifiers that aren't visible in the diff…
ira-at-work Oct 26, 2026
a6c93a9
fix(improve): retry unusable self-reflection feedback (#4377)
PeterDaveHello Oct 26, 2026
ee500fd
fix(providers): reset the whole diff state between auto commands (#4373)
Yoel-qin Oct 26, 2026
a3c9464
docs: add APIClaw to changing_a_model (#4355)
ankita37105 Oct 26, 2026
ee86f09
fix: skip GitHub merge commits in incremental reviews (#4371)
utsab345 Oct 26, 2026
25eb57a
fix(diff): exclude metadata from inline comment anchors (#4398)
PeterDaveHello Oct 26, 2026
3d8a73d
perf(diff): render whole-file additions and deletions directly (#4400)
PeterDaveHello Oct 26, 2026
1953bcd
fix(add-docs): skip suggestions without the original source line (#4401)
PeterDaveHello Oct 26, 2026
2d80926
fix(describe): retain fallback entries in file walkthroughs (#4402)
PeterDaveHello Oct 26, 2026
85f11b2
perf(diff): stop preparing chunks after reaching the call limit (#4404)
PeterDaveHello Oct 26, 2026
22bb9b1
fix(describe): preserve title and labels in structured outputs (#4405)
PeterDaveHello Oct 26, 2026
e768097
fix(github-action): skip ignored comments before repo setup (#4406)
PeterDaveHello Oct 26, 2026
5eaa126
fix(improve): retry malformed suggestion responses with fallback mode…
PeterDaveHello Oct 26, 2026
7f6d557
chore(ci): bump the actions-minor-and-patch group with 6 updates (#4410)
dependabot[bot] Oct 27, 2026
e56e343
chore: clean up settings file detection (#4389)
utsab345 Oct 27, 2026
35f413b
fix(gerrit): preserve commit-message Jira context (#4416)
oleksii-tumanov Oct 27, 2026
abe4341
perf(gitea): skip deleted-file head reads (#4417)
oleksii-tumanov Oct 27, 2026
d31f752
chore(deps): bump postcss-selector-parser from 6.1.4 to 6.1.5 in /doc…
dependabot[bot] Oct 27, 2026
a6170c0
chore(deps): bump anthropic from 1.15.0 to 2.3.0 in the python-major …
dependabot[bot] Oct 27, 2026
ae053ea
fix: only use static AWS fallback for auth errors (#4414)
pei711 Oct 27, 2026
211dea2
[Bug] Prefetch review diff outside the event loop (#4403)
askarshabdanov1-collab Oct 27, 2026
e8743b7
feat: configure improve failure comments (#4426)
utsab345 Oct 27, 2026
8044d3c
fix(gitlab): publish validated suggestions from patch-only files (#4428)
PeterDaveHello Oct 27, 2026
99ef715
perf(tests): use literal checks for quoted configuration keys (#4427)
PeterDaveHello Oct 27, 2026
8da62df
perf(labels): skip publishing unchanged label sets (#4429)
PeterDaveHello Oct 27, 2026
b3c1aed
fix(improve): handle quoted integer impact thresholds (#4399)
PeterDaveHello Oct 27, 2026
dff634a
fix: enforce tiny skills token budgets (#4415)
utsab345 Oct 27, 2026
a90a9f3
fix(add-docs): preserve Git line numbers in source anchors (#4435)
PeterDaveHello Oct 27, 2026
5d65539
fix(gitlab): record the head used by the reviewed diff (#4431)
PeterDaveHello Oct 27, 2026
3bc77b5
perf(gitlab): skip parent reads for expanded submodule files (#4436)
PeterDaveHello Oct 27, 2026
c301d56
perf(improve): avoid repeatedly serializing suggestion thread context…
PeterDaveHello Oct 27, 2026
cd8e8cb
fix(similar_issue): enforce embedding model token limits (#4437)
PeterDaveHello Oct 27, 2026
4e80171
perf(diff): avoid splitting unused head file tails (#4439)
PeterDaveHello Oct 27, 2026
6ba9890
fix(config): share boolean parsing across command entry points (#4438)
PeterDaveHello Oct 27, 2026
b6c2881
docs: simplify compatible provider setup (#4441)
Copilot Oct 27, 2026
48a2d3d
fix: publish empty improve results in GitHub workflow (#4442)
ofir-frd Oct 28, 2026
8c78d8a
refactor(tests): remove test smells from unit tests (#4440)
lizandrapinheiro Oct 28, 2026
3871eda
fix(litellm): make the handler the only retry layer (#4425)
dodoshell Oct 28, 2026
59072fa
fix(security): make pacing and retry settings host-only (#4445)
utsab345 Oct 28, 2026
98c90f9
fix(similar_issue): migrate deprecated Pydantic Config to ConfigDict …
itsvrushabh Oct 28, 2026
5f8e703
fix: move describe and improve diff fetch off event loop
utsab345 Oct 28, 2026
15a31ca
test: add get_diff_files to describe help stub
utsab345 Oct 28, 2026
d982da6
fix: cap config.num_retries and make it host only
utsab345 Oct 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
.venv/
venv/
pr_agent/settings/.secrets.toml
pr_agent/settings_prod/.secrets.toml
pics/
pr_agent.egg-info/
build/
**/.env
docs/node_modules/
docs/build/
docs/.docusaurus/
113 changes: 113 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
version: 2

updates:
# Python. `uv` rather than `pip`: it resolves through the uv CLI and rewrites
# pyproject.toml alongside uv.lock, so the declared pins here — which carry
# policy, not just versions — do not drift away from the lock file.
- package-ecosystem: uv
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 5
groups:
python-minor-and-patch:
applies-to: version-updates
patterns:
- "*"
update-types:
- minor
- patch
python-major:
applies-to: version-updates
patterns:
- "*"
update-types:
- major
commit-message:
prefix: chore(deps)

# Documentation site. The Docusaurus toolchain is the repository's only Node
# dependency surface; without this it would sit outside security updates.
- package-ecosystem: npm
directory: /docs
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 5
groups:
docs-minor-and-patch:
applies-to: version-updates
patterns:
- "*"
update-types:
- minor
- patch
docs-major:
applies-to: version-updates
patterns:
- "*"
update-types:
- major
commit-message:
prefix: chore(deps)

# GitHub Actions. Every `uses:` here is `@<sha> # vX.Y.Z` on one line, which
# is the format Dependabot rewrites, comment included.
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 5
groups:
actions-minor-and-patch:
applies-to: version-updates
patterns:
- "*"
update-types:
- minor
- patch
actions-major:
applies-to: version-updates
patterns:
- "*"
update-types:
- major
ignore:
# .github/workflows/pr-agent-review.yaml pins this action to a commit on
# `main`, not to a release. There is no version to bump to, and the
# documented behaviour for an untagged sha is to move it to whatever HEAD
# happens to be. Moving the self-review action is a deliberate act.
- dependency-name: Codium-ai/pr-agent
commit-message:
prefix: chore(ci)

# Base images. The docker file fetcher matches any file whose name contains
# "dockerfile", so `/` picks up Dockerfile.github_action_dockerhub and
# `/docker` picks up both Dockerfile and Dockerfile.lambda.
- package-ecosystem: docker
directories:
- /
- /docker
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 3
ignore:
# Dockerfile.github_action_dockerhub builds FROM this project's own
# published image, tracked by a stage tag rather than a version.
- dependency-name: pragent/pr-agent
commit-message:
prefix: chore(docker)

# Hook revisions in .pre-commit-config.yaml. The `local` repo has no upstream
# and is left alone by the ecosystem.
- package-ecosystem: pre-commit
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 3
commit-message:
prefix: chore(pre-commit)
95 changes: 53 additions & 42 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,30 +10,64 @@ template: |

categories:
- title: '🚀 Features'
labels:
- feature
- enhancement
when:
labels:
- feature
- enhancement
- title: '🐛 Bug Fixes'
labels:
- bug
- 'Bug fix'
- 'Bug fix with tests'
when:
labels:
- bug
- 'Bug fix'
- 'Bug fix with tests'
- title: '⚡ Performance'
labels:
- performance
when:
labels:
- performance
- title: '📚 Documentation'
labels:
- documentation
- 'Includes Documentation'
when:
labels:
- documentation
- 'Includes Documentation'
- title: '🧹 Maintenance'
labels:
- chore
- Refactoring
- Configuration
- 'Configuration changes'
when:
labels:
- chore
- Refactoring
- Configuration
- 'Configuration changes'
- title: '⬆️ Dependencies'
labels:
- dependencies
when:
labels:
- dependencies
- type: version-resolver
semver-increment: major
when:
labels:
- breaking
- type: version-resolver
semver-increment: minor
when:
labels:
- feature
- enhancement
- type: version-resolver
semver-increment: patch
when:
labels:
- bug
- 'Bug fix'
- 'Bug fix with tests'
- documentation
- 'Includes Documentation'
- chore
- Refactoring
- Configuration
- 'Configuration changes'
- performance
- dependencies
- type: version-resolver
semver-increment: patch

change-template: '- $TITLE by @$AUTHOR in #$NUMBER'
change-title-escapes: '\<*_&'
Expand Down Expand Up @@ -64,26 +98,3 @@ autolabeler:
- label: breaking
title:
- '/^[a-z]+(\(.+\))?!:/i'

version-resolver:
major:
labels:
- breaking
minor:
labels:
- feature
- enhancement
patch:
labels:
- bug
- 'Bug fix'
- 'Bug fix with tests'
- documentation
- 'Includes Documentation'
- chore
- Refactoring
- Configuration
- 'Configuration changes'
- performance
- dependencies
default: patch
62 changes: 57 additions & 5 deletions .github/workflows/build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,36 @@ on:
branches:
- main

permissions:
contents: read

jobs:
build-and-test:
runs-on: ubuntu-latest
timeout-minutes: 30

steps:
- id: checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- id: uv
uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2
with:
resolution-strategy: lowest

- name: Check uv.lock
run: uv lock --check

- name: Test package artifacts
run: uv run pytest -q tests/packaging/test_help_docs_package.py

- id: dockerx
name: Setup Docker Buildx
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1

- id: build
name: Build dev docker
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0
with:
context: .
file: ./docker/Dockerfile
Expand All @@ -47,15 +62,15 @@ jobs:
exit 1
fi
- name: Upload coverage to Codecov
uses: codecov/codecov-action@75cd11691c0faa626561e295848008c8a7dddffe # v5.5.4
uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1
with:
token: ${{ secrets.CODECOV_TOKEN }}

# Unit tests override CMD, so a broken server launcher never fails CI.
# Smoke-start github_app (gunicorn + uvicorn) with no secrets; GET / → 200.
- id: build-smoke
name: Build github_app docker
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0
with:
context: .
file: ./docker/Dockerfile
Expand All @@ -82,3 +97,40 @@ jobs:
docker logs pr-agent-smoke
docker rm -f pr-agent-smoke
exit 1

# The job above runs entirely inside docker/Dockerfile, whose base moved to
# python:3.14.7-slim in #3294. That leaves neither interpreter pyproject
# actually claims support for exercised there: not the `requires-python`
# floor of 3.12, and not the 3.13 the google-cloud-storage pin applies at.
# Installing from PyPI on either was an untested combination. Deliberately
# separate from the docker build rather than a matrix over it: the shipped
# images track one interpreter on purpose, and matrixing would rebuild every
# layer and re-run the smoke test and coverage upload for no extra signal.
unit-tests-native:
name: Unit tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14"]

steps:
- id: checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

# Same uv release the Dockerfile pulls from ghcr.io/astral-sh/uv, via pipx
# so there is no additional action to pin. uv provisions the interpreter
# itself, so setup-python is not needed either.
- id: uv
name: Install uv
run: pipx install uv==0.13.5

- id: test
name: Test on Python ${{ matrix.python-version }}
env:
PYTHONPATH: .
# See docker/Dockerfile's base stage: pin litellm's bundled cost map so
# a remote change to it cannot redden the suite without a version bump.
LITELLM_LOCAL_MODEL_COST_MAP: "True"
run: uv run --frozen --python ${{ matrix.python-version }} pytest -v tests/unittest
7 changes: 4 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
timeout-minutes: 20
permissions:
security-events: write
packages: read
Expand All @@ -31,14 +32,14 @@ jobs:
- language: python
build-mode: none
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- uses: github/codeql-action/init@7fd177fa680c9881b53cdab4d346d32574c9f7f4 # v3.35.4
- uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
queries: security-extended,security-and-quality

- uses: github/codeql-action/analyze@7fd177fa680c9881b53cdab4d346d32574c9f7f4 # v3.35.4
- uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
category: "/language:${{ matrix.language }}"
Loading
Loading