Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
0a67c4f
docs(backlog): add per-agent tabs with their own transcripts
serialexperimentslainnnn Aug 10, 2026
aa4a145
docs(map): add PROJECTMAP.md as the repository index
serialexperimentslainnnn Aug 10, 2026
f116f8b
feat(agents): model the binary's subagent tree and who owns it
serialexperimentslainnnn Aug 10, 2026
9c0a236
refactor(agents): keep the agent index in ~/.claude, not in .idea
serialexperimentslainnnn Aug 10, 2026
ee3eec9
feat(agents): route subagent output out of the main transcript
serialexperimentslainnnn Aug 10, 2026
00bef7a
feat(agents): add the Agents and Subagents tab strips
serialexperimentslainnnn Aug 10, 2026
7faf9b5
feat(agents): show each agent's transcript in its own tab
serialexperimentslainnnn Aug 10, 2026
fc2dda1
build: bump the version to 5.5.0
serialexperimentslainnnn Aug 10, 2026
6103f3c
fix(agents): rows only when they exist, as a real tree, at every level
serialexperimentslainnnn Aug 10, 2026
947e930
refactor(dashboard): drop agent data from the Session view
serialexperimentslainnnn Aug 10, 2026
a00186a
fix(restore): the binary's synthetic lines are not the user speaking
serialexperimentslainnnn Aug 11, 2026
3eb3b96
feat(tasks): keep a background task, and its output, after it ends
serialexperimentslainnnn Aug 11, 2026
1d07de6
feat(settings): move the configuration into the IDE's password safe
serialexperimentslainnnn Aug 11, 2026
155e5c7
feat(agents): draw the agent tabs in the page, not in Swing
serialexperimentslainnnn Aug 11, 2026
643d1e0
feat(agents): give each agent its own transcript, and draw it once
serialexperimentslainnnn Aug 11, 2026
950430b
refactor(css): split the stylesheet, and delete what nothing can reach
serialexperimentslainnnn Aug 11, 2026
507cca2
fix(boot): the loading screen no longer covers the chat tabs
serialexperimentslainnnn Aug 11, 2026
66c7610
refactor(ui): take three subjects out of the chat panel
serialexperimentslainnnn Aug 11, 2026
de1da16
build(protocol): re-baseline to claude 2.1.226 / SDK 0.3.227
serialexperimentslainnnn Aug 11, 2026
b00b711
docs: record 5.5.0 and the map it changed
serialexperimentslainnnn Aug 11, 2026
cf73bed
fix(compat): declare the JCEF plugin, or there is no UI on 2026.2
serialexperimentslainnnn Aug 11, 2026
79c28c3
docs: say the floor moved, and why a user would care
serialexperimentslainnnn Aug 11, 2026
2ce9948
docs(readme): make it a user guide, not a feature list
serialexperimentslainnnn Aug 11, 2026
26bc4ef
docs: correct what the README claimed and never checked
serialexperimentslainnnn Aug 11, 2026
a0d196a
fix(agents): stop calling live agents dead, and dead ones failed
serialexperimentslainnnn Aug 11, 2026
e57bbb3
fix(tasks): an agent is not a background task
serialexperimentslainnnn Aug 11, 2026
15ca3aa
fix(ui): the waiting screens are transcript rows, not overlays
serialexperimentslainnnn Aug 11, 2026
8e2f45e
fix(tabs): make the row reachable — grab it, and centre what you select
serialexperimentslainnnn Aug 11, 2026
f1086b5
feat(sessions): name a chat after what you asked it
serialexperimentslainnnn Aug 11, 2026
efc3d6b
docs(changelog): record 5.5.0
serialexperimentslainnnn Aug 11, 2026
5230257
fix(ui): stop the readout shuffling on every tick
serialexperimentslainnnn Aug 11, 2026
2c44c69
refactor(protocol): one file per subject, and route deltas by parent
serialexperimentslainnnn Aug 13, 2026
7fa7ba5
refactor(permission): split the guard by rule family and phase
serialexperimentslainnnn Aug 13, 2026
6caf97f
feat(settings)!: move the configuration into the IDE keychain
serialexperimentslainnnn Aug 13, 2026
1d39f2c
feat(agents): give every agent its own tab, and read its output live
serialexperimentslainnnn Aug 13, 2026
d16ada5
refactor(ui): split the chat panel and stop leaking a Project
serialexperimentslainnnn Aug 13, 2026
cd0dd44
refactor(jcef): 30 modules, 7 stylesheets, and stop the tab bar flicker
serialexperimentslainnnn Aug 13, 2026
3ca4cd5
feat(git): read-only Git context in the tool window
serialexperimentslainnnn Aug 13, 2026
e9c78f7
feat(process): tell the agent it is in an IDE, and drop dead code
serialexperimentslainnnn Aug 13, 2026
6ab139a
test(ui): point the end-to-end suite at the UI that actually exists
serialexperimentslainnnn Aug 13, 2026
cbf36ba
ci: make the attribution gate check what the notices promise
serialexperimentslainnnn Aug 13, 2026
9379b6b
docs: describe the plugin that exists, not the one that did
serialexperimentslainnnn Aug 13, 2026
655a629
feat(session): review the whole session's changes, and show the plan
serialexperimentslainnnn Aug 13, 2026
75e5b1f
chore: invert .gitignore into an allowlist, and commit it
serialexperimentslainnnn Aug 13, 2026
e2ce1a4
build: raise the floor to the build that carries JCEF
serialexperimentslainnnn Aug 14, 2026
cb27692
ci: run the UI end-to-end suite, nightly and never on a pull request
serialexperimentslainnnn Aug 14, 2026
dae34c0
docs: generate the project map from the sources, and gate it
serialexperimentslainnnn Aug 14, 2026
cf32270
fix(permission): bound path resolution by time, not by a count
serialexperimentslainnnn Aug 14, 2026
3d0cfe6
fix(permission): ask each leaf the question its role allows
serialexperimentslainnnn Aug 14, 2026
aaa8b1f
test(ui): give the sandbox fixture a repository of its own
serialexperimentslainnnn Aug 14, 2026
968e624
test: fail the build on a declaration nothing reaches
serialexperimentslainnnn Aug 14, 2026
8b84008
feat: agent tabs, keychain settings, Git integration, re-wired seams
serialexperimentslainnnn Aug 17, 2026
8a92262
fix(scripts): let bootstrap-ci.sh execute
serialexperimentslainnnn Aug 17, 2026
22b8655
chore(release): rotate the CI artifact signing key
serialexperimentslainnnn Aug 17, 2026
3d2b565
chore(protocol): re-baseline to claude 2.1.233 / SDK 0.3.233
serialexperimentslainnnn Aug 17, 2026
52a11d6
build: allowlist what the artifact may contain
serialexperimentslainnnn Aug 17, 2026
60efd63
test: gate private declarations and unloaded assets
serialexperimentslainnnn Aug 17, 2026
e38313e
fix(usage): report a reset rate-limit window as 0%
serialexperimentslainnnn Aug 17, 2026
75a7c0a
feat(permission): a sixth rule for the temporary directory
serialexperimentslainnnn Aug 17, 2026
12233a9
fix(session): settle an agent when its lifecycle ends it
serialexperimentslainnnn Aug 17, 2026
e9f34c6
refactor(session): one predicate for what belongs here
serialexperimentslainnnn Aug 17, 2026
38cd66f
feat(transcript): show the text a tool call sends
serialexperimentslainnnn Aug 17, 2026
5620d41
feat(git): read refs, remotes and branch topology
serialexperimentslainnnn Aug 17, 2026
b5f5ce1
feat(forge): ask GitHub and GitLab about this branch
serialexperimentslainnnn Aug 17, 2026
c94ea49
feat(git): the repository view
serialexperimentslainnnn Aug 17, 2026
c0687b6
fix(git): every prompted action talks in the Git chat
serialexperimentslainnnn Aug 17, 2026
b250ace
fix(ui): a closed tab takes its consequences with it
serialexperimentslainnnn Aug 17, 2026
92f2906
feat(ui): move the chat's own buttons into the chat
serialexperimentslainnnn Aug 17, 2026
c645a6c
fix(ui): the waiting screens cover only the transcript
serialexperimentslainnnn Aug 17, 2026
475cb71
fix(composer): the palette sits above the prompt box
serialexperimentslainnnn Aug 17, 2026
3bda755
refactor(ui): the seams those moves left
serialexperimentslainnnn Aug 17, 2026
b4fae60
docs(release): the notes for this release
serialexperimentslainnnn Aug 17, 2026
a5d2790
test(ui): cover the bridge messages the action row added
serialexperimentslainnnn Aug 17, 2026
b0b79b1
fix(session): an agent's state is its own, not its parent's
serialexperimentslainnnn Aug 18, 2026
45ee6e5
feat(session): the model names the chat, and /btw stops being a turn
serialexperimentslainnnn Aug 18, 2026
6002306
fix(permission): a regex is not a UNC share
serialexperimentslainnnn Aug 18, 2026
d76a0f9
feat(context): the attach menu browses the project in place
serialexperimentslainnnn Aug 18, 2026
6f03489
feat(ui): the composer's gear menu, verified key by key
serialexperimentslainnnn Aug 18, 2026
c318762
feat(git): the Git view, its conversation, and the log it asks for
serialexperimentslainnnn Aug 18, 2026
11765c6
feat(ui): one tab per session, and a row that can be reached
serialexperimentslainnnn Aug 18, 2026
de10730
feat(ui): the Workloads diagram draws the strip faithfully
serialexperimentslainnnn Aug 18, 2026
02ba8e1
feat(ui): the session strip is one system, on both axes
serialexperimentslainnnn Aug 18, 2026
deac828
docs: sweep the words the release's own changes left behind
serialexperimentslainnnn Aug 18, 2026
84b6f1c
fix(ui): the working directory starts in column two, not the last one
serialexperimentslainnnn Aug 18, 2026
b5dd9f3
feat(ui): the gear menu opens one section at a time
serialexperimentslainnnn Aug 18, 2026
b1f1243
feat(ui): the subtab rows go as deep as the tree does
serialexperimentslainnnn Aug 18, 2026
039cec4
fix(ui): the gear's sections were empty, and the resets row is gone
serialexperimentslainnnn Aug 18, 2026
8c0785f
fix(settings): the gear menu re-reads the safe before you believe it
serialexperimentslainnnn Aug 18, 2026
b5baeaf
feat(ui): a user prompt goes through the same parser as Claude's
serialexperimentslainnnn Aug 18, 2026
40aff69
Merge branch 'main' of github.com:serialexperimentslainnnn/claude-cod…
serialexperimentslainnnn Aug 18, 2026
bff467a
refactor(security): fold verdict() and reason() into evaluate()
serialexperimentslainnnn Aug 18, 2026
0807555
refactor(diff): drop OpenedDiffsService.openCount
serialexperimentslainnnn Aug 18, 2026
49a983b
refactor(session): pull PromptComposer out of ClaudeSession
serialexperimentslainnnn Aug 18, 2026
377bae1
refactor(session): pull SessionTitling out of ClaudeSession
serialexperimentslainnnn Aug 18, 2026
73e6228
refactor(session): pull PollSchedule out of ClaudeSession
serialexperimentslainnnn Aug 18, 2026
48d7499
fix(auth): renew a credential the server rejected, not just the clock
serialexperimentslainnnn Aug 18, 2026
2a22d1f
perf(permission): cache glob/root normalization; skip redundant pushes
serialexperimentslainnnn Aug 18, 2026
fa6c16f
refactor(ui): drop the dead requestLogout delegate
serialexperimentslainnnn Aug 18, 2026
71783f4
docs(permission): fix stray SensitiveGuard.verdict reference
serialexperimentslainnnn Aug 18, 2026
f9d16db
docs(session): correct the subagent-ending PROJECTMAP claim, regen maps
serialexperimentslainnnn Aug 18, 2026
5940c13
chore(release): publish a trust chain instead of a bare CI key
serialexperimentslainnnn Aug 18, 2026
eb962ba
fix(ci): drop a warning about a Marketplace feature that does not exist
serialexperimentslainnnn Aug 18, 2026
92873e8
feat(ci): issue the plugin upload certificate from the local PKI
serialexperimentslainnnn Aug 18, 2026
180479b
feat(ci): issue the upload certificate with no question asked
serialexperimentslainnnn Aug 18, 2026
0c29ede
fix(ci): sign the leaf with the CA key that actually exists
serialexperimentslainnnn Aug 18, 2026
031013c
feat(ci): sign the upload certificate on the YubiKey itself
serialexperimentslainnnn Aug 18, 2026
7bab713
feat(ci): anchor the trust chain outside GitHub
serialexperimentslainnnn Aug 18, 2026
3d11964
fix(ci): stop the bootstrap dying without a word before the PIN prompt
serialexperimentslainnnn Aug 18, 2026
a0c1d1a
docs(ci): the CI key is kept, and the reason it is safe to keep
serialexperimentslainnnn Aug 18, 2026
c45da14
fix(ci): issue the upload certificate with the CA key, not the card
serialexperimentslainnnn Aug 18, 2026
140e56b
docs(ci): stop describing the maintainer's PKI in a public repository
serialexperimentslainnnn Aug 18, 2026
3663a08
fix(ci): report the failure instead of ending the run in silence
serialexperimentslainnnn Aug 18, 2026
fb3a6ee
fix(ci): keep the local copy of the issued key, and never abort over it
serialexperimentslainnnn Aug 18, 2026
c370793
feat(permission): govern the guard's rules as a catalogue
serialexperimentslainnnn Aug 18, 2026
b6ea8d3
fix(transcript): the user's message is a row, not a card
serialexperimentslainnnn Aug 18, 2026
95b09a7
fix(session): number a new chat by what is open
serialexperimentslainnnn Aug 18, 2026
2bd8029
fix(ui): stop a tab gesture from failing silently
serialexperimentslainnnn Aug 18, 2026
a1071c2
chore(git): stop tracking the per-directory project maps
serialexperimentslainnnn Aug 18, 2026
1b274c3
feat(permission)!: an enforced rule denies, a disabled rule asks
serialexperimentslainnnn Aug 18, 2026
62c3820
feat(permission): split the guard rule families into their own files
serialexperimentslainnnn Aug 19, 2026
a569538
Revert "feat(permission)!: an enforced rule denies, a disabled rule a…
serialexperimentslainnnn Aug 19, 2026
309ba2e
feat(permission): defensive intrusion detector, location-aware writes
serialexperimentslainnnn Aug 19, 2026
c7f1126
docs: forbid touching the plugin's security code and its tests
serialexperimentslainnnn Aug 19, 2026
81ef99b
fix(session): keep reading agent state when the main session is idle
serialexperimentslainnnn Aug 19, 2026
6479ef0
fix(session): read agent state from the transcript, not the stream
serialexperimentslainnnn Aug 19, 2026
2571c58
fix(session): a cancelled or cut-off agent is not still running
serialexperimentslainnnn Aug 19, 2026
660528e
feat(permission): disable a rule from the block, with an expiry
serialexperimentslainnnn Aug 19, 2026
1651bf4
fix(webview): the sanitiser must fail closed
serialexperimentslainnnn Aug 19, 2026
c98fb11
perf(session): parse an agent transcript once per scan
serialexperimentslainnnn Aug 19, 2026
8eade5e
perf(session): skip an agent whose transcript has not changed
serialexperimentslainnnn Aug 19, 2026
c4125c8
refactor(session): reach the sign-in flow without five delegates
serialexperimentslainnnn Aug 19, 2026
ec40990
refactor(session): move the live-option verbs into their own subject
serialexperimentslainnnn Aug 19, 2026
c34caac
refactor(session): move the card answers into their own subject
serialexperimentslainnnn Aug 19, 2026
317bc71
fix(permission): a block-comment payload is not a location
serialexperimentslainnnn Aug 19, 2026
407a27a
refactor: drop the comments from the source
serialexperimentslainnnn Aug 19, 2026
488f313
fix(permission): a trailing separator belongs to the path
serialexperimentslainnnn Aug 19, 2026
0a219e3
fix(permission): a network share needs a host, not two slashes
serialexperimentslainnnn Aug 19, 2026
03b82cb
test(permission): the UNC tests state the new rule, not the old cost
serialexperimentslainnnn Aug 19, 2026
85226db
fix(ci): give the JVM job a UTF-8 locale
serialexperimentslainnnn Aug 19, 2026
8fa9333
fix(ui): the disable-rule menu floats instead of living in the scroller
serialexperimentslainnnn Aug 19, 2026
8ffe883
fix(permission): a redirect target ends at the shell separator
serialexperimentslainnnn Aug 19, 2026
f4f4cf2
fix(ui): the disable-rule menu opens in the popup layer
serialexperimentslainnnn Aug 19, 2026
d817fd2
Merge pull request #55 from serialexperimentslainnnn/feature/release_…
serialexperimentslainnnn Aug 19, 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
  •  
  •  
  •  
7 changes: 6 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,13 @@ What actually happened. Include error messages verbatim.

## Environment

> From **5.5.0** the minimum supported IDE is **2025.3 (build 253)**. The whole chat UI is the IDE's
> embedded browser, and the module that provides it does not exist before 253. On 2025.1 or 2025.2 the
> last supported version is **5.1.1** — a bug report against 5.5.0 on those builds is expected behaviour,
> not a defect.

- **OS:** (e.g. Ubuntu 24.04, macOS 14.5, Windows 11 23H2)
- **IDE:** (Help → About → product + build, e.g. `IntelliJ IDEA 2025.1.2 IC-251.23774.435`)
- **IDE:** (Help → About → product + build, e.g. `IntelliJ IDEA 2025.3 IC-253.28294.334`)
- **Plugin version:** (Settings → Plugins → Claude Code Native)
- **`claude` binary version:** output of `claude --version`
- **Binary location:** `which claude` (Linux/macOS) or `where claude` (Windows)
Expand Down
15 changes: 13 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,16 @@ or the permission surface, say what happens to a user who already ran it.
- [ ] Commits follow Conventional Commits (the `commit-msg` hook enforces it —
install once with `git config core.hooksPath .githooks`).
- [ ] `./gradlew test verifyPlugin buildPlugin` passes locally.
- [ ] `verifyPlugin` is **Compatible** across the declared range (251 → 263.\*)
- [ ] `verifyPlugin` is **Compatible** across the declared range (253 → 263.\*)
and reports no new internal-API usage (`@ApiStatus.Internal`).
The CDN download is unreliable here; use
`-PlocalIdePath=<dir>[,<dir>…]` with locally-extracted IDEs.
- [ ] `./gradlew detekt spotlessCheck`, `npm run lint` and `npm run format:check`
pass. These are gated on PRs into `main` only, so a failure otherwise
lands on `develop` and blocks the next release rather than this PR.
- [ ] Renamed a CI job? `.github/rulesets/*.json` names required checks by the
job's **display name** — update them in this PR and re-run
`./scripts/apply-rulesets.sh`, or the gate silently stops applying.
- [ ] No new deprecated or scheduled-for-removal IntelliJ Platform APIs.
- [ ] Tests added or updated for the new behaviour — `src/test/kotlin/…` for
Kotlin, `src/test/frontend/…` (`npm test`) for anything under
Expand All @@ -46,7 +52,12 @@ or the permission surface, say what happens to a user who already ran it.
recorded in [`THIRD-PARTY-NOTICES.md`](../THIRD-PARTY-NOTICES.md) if it
ships in the artifact.
- [ ] User-visible changes are documented in [`CHANGELOG.md`](../CHANGELOG.md)
and [`RELEASE_NOTES.md`](../RELEASE_NOTES.md) under `Unreleased`.
(what changed, for someone debugging) **and**
[`RELEASE_NOTES.md`](../RELEASE_NOTES.md) (why it matters, for someone on
the Marketplace page), under the version being prepared. There is no
`Unreleased` section — `release.yml` publishes the newest `## [x.y.z]`
block of `CHANGELOG.md` verbatim, so a heading that is not a version
would ship as the release notes.
- [ ] No secrets, tokens, conversation transcripts, or personal absolute
paths in the diff or commit messages.
- [ ] Follows the conventions in [`CONTRIBUTING.md`](../CONTRIBUTING.md), the
Expand Down
37 changes: 35 additions & 2 deletions .github/ci-image/jvm-test.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# jvm-test — the CI image for every job that runs Gradle. Built ON TOP of node-test.
#
# WHO USES IT
# `JVM tests`, `Static analysis` and `Plugin verifier` in ci.yml, `CodeQL (java-kotlin)`, the weekly drift
# check, and the release gate in release.yml.
# `JVM tests`, `Static analysis`, `Plugin verifier` and `UI end-to-end tests` in ci.yml, `CodeQL
# (java-kotlin)`, the weekly drift check, and the release gate in release.yml.
#
# WHY IT IS BUILT FROM node-test RATHER THAN FROM fedora
# Two reasons, and the second is the one that matters.
Expand Down Expand Up @@ -88,6 +88,39 @@ RUN curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public \
&& rm -rf /var/cache/dnf \
&& rm -rf /usr/share/locale

# THE DISPLAY STACK, for `UI end-to-end tests` — the one job here that draws.
#
# That job boots a real IDE behind a virtual framebuffer and drives a real Chromium inside it, so it needs
# an X server plus the libraries the JBR and CEF link against. Everything else here is headless Gradle and
# npm, which is why the base image carries none of it.
#
# It is baked rather than installed per run because THE IMAGE IS THIS PIPELINE'S ONLY CACHING MECHANISM: a
# `dnf install` in a workflow step is a network transaction on every execution, and its failure mode is the
# job's worst one — a missing library does not announce itself, the IDE simply never opens its port.
#
# Its own layer, not appended to the JDK transaction above: the two answer to different consumers, and a
# change to either would otherwise invalidate the other's cache. Same manager, same flags and the same
# cache cleanup as that transaction — an image that installs two ways is an image nobody can reason about.
#
# `xorg-x11-server-Xvfb` is what supplies `xvfb-run`; `liberation-fonts` is what stops the IDE drawing
# boxes, which is not cosmetic here — text the harness reads has to be rendered before it can be read.
RUN dnf -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs install \
xorg-x11-server-Xvfb \
gtk3 \
nss \
alsa-lib \
mesa-libgbm \
libxkbcommon-x11 \
libXtst \
libXi \
libXrender \
libXext \
libXrandr \
libXcursor \
liberation-fonts \
&& dnf clean all \
&& rm -rf /var/cache/dnf

# JAVA_HOME is resolved rather than hardcoded: the exact path carries the package's build number and would
# silently break on the next base-image bump. The symlink keeps the ENV below stable across rebuilds.
RUN JH="$(dirname "$(dirname "$(readlink -f "$(command -v javac)")")")" \
Expand Down
30 changes: 30 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,3 +106,33 @@ updates:
# to match what the targeted IDEs ship, not the newest release. Bumping it blindly is a
# NoSuchMethodError on a user's IDE, not an upgrade.
- dependency-name: 'org.jetbrains.kotlinx:kotlinx-serialization-json'

# The CI images themselves. Every job in ci.yml, codeql.yml, drift.yml and release.yml runs inside
# `ghcr.io/serialexperimentslainnnn/{jvm,node}-test`, built from `.github/ci-image/*.Dockerfile` — so the
# base image of those files is the operating system the whole gate executes on, and until now NOTHING
# proposed a bump for it. `github-actions` does not cover it (it updates `uses:`, not `container:`), and
# neither did the npm or gradle ecosystems. An unwatched base image is the one dependency where "nobody
# changed anything" and "it stopped receiving security patches" are the same sentence.
#
# Dependabot's docker fetcher matches any filename containing `dockerfile` (case-insensitive), so
# `jvm-test.Dockerfile` and `node-test.Dockerfile` are both picked up — but it does NOT recurse, hence the
# explicit directory. It parses one dependency per `FROM`: in practice that is `fedora:44` in
# node-test.Dockerfile, since jvm-test.Dockerfile's `FROM ${NODE_IMAGE}` resolves through an ARG.
- package-ecosystem: docker
directory: /.github/ci-image
schedule:
interval: monthly
open-pull-requests-limit: 2
commit-message:
prefix: build
include: scope
labels: [dependencies, ci]
groups:
security:
applies-to: security-updates
patterns: ['*']
# Deliberately NO `ignore` of majors here, unlike every other ecosystem above. A base image pinned to
# `fedora:44` has no minors and no patches to propose — a major IS the only update that exists, so
# ignoring majors would leave this block doing precisely nothing, which is worse than not having it:
# it would read as coverage. A distro bump is still a human decision; the bot's job is to make sure the
# decision gets put in front of someone instead of being reached by nobody.
Loading
Loading