Releases: MrRefactoring/bitbucket-codeowners
Release list
v0.1.2
What's new in 0.1.2
A docs-and-release-process patch — the plugin code is unchanged from 0.1.1 (same behavior, same
bytecode). What changed:
- Both platform artifacts are now published on every release. A ready-to-install Bitbucket 9.x
LTS jar (-bb9, Java 17) is attached alongside the default 10.x jar (Java 21), so 9.x
operators no longer need a local-Pbb9build. - Removed the no-op
versionfield from the configuration docs and examples. The parser never
read it; existing files that still include it keep working (unknown top-level keys are ignored).
Install
Pick the artifact matching your instance, upload it via Administration → Manage apps → Upload
app, then enable Code Owners Merge Check per repository/project under Merge checks:
| Your Bitbucket | Download |
|---|---|
| DC 10.x (Java 21) | bitbucket-codeowners-0.1.2.jar |
| DC 9.x LTS (Java 17) | bitbucket-codeowners-0.1.2-bb9.jar |
The default
.jaris compiled for Java 21 and will not load on a 9.x instance (Java 17) —
use the-bb9artifact there. Both are built from the same source.
Config reference:
docs/configuration.md
· full list of changes in the
CHANGELOG.
Verified
mvn clean verify green on both profiles — default (Bitbucket 10.3.1 / Java 21) and bb9
(Bitbucket 9.3.0 / Java 17), 37 tests each. Merge-check behavior was live-checked on a Bitbucket
9.3.2 instance in the 0.1.1 cycle and is unchanged here.
License: MIT. Upgrading from 0.1.0 / 0.1.1: drop-in; no config changes required.
v0.1.1
What's new in 0.1.1
Advisory rules (minApprovals: 0) — model non-mandatory reviewers on the same paths as the
mandatory ones. A rule with minApprovals: 0 still auto-adds its owners as reviewers, but it
never blocks the merge (not even when its owners can't be resolved) and contributes no veto
line.
rules:
- paths: ["frontend/**"]
owners: ["@frontend-seniors"]
minApprovals: 1 # mandatory: at least one senior must approve
- paths: ["frontend/**"] # same paths
owners: ["@frontend-all"]
minApprovals: 0 # advisory: added as reviewers, never blocksOn a frontend/** change the whole team is added as reviewers, but only a senior approval
clears the gate — with a single, clear veto message (no redundant line from the advisory rule).
Install
Two artifacts are attached — pick the one matching your platform line, upload it via
Administration → Manage apps → Upload app, then enable Code Owners Merge Check per
repository/project under Merge checks:
| Your Bitbucket | Download |
|---|---|
| DC 10.x (Java 21) | bitbucket-codeowners-0.1.1.jar |
| DC 9.x LTS (Java 17) | bitbucket-codeowners-0.1.1-bb9.jar |
The default
.jaris compiled for Java 21 and will not load on a 9.x instance (Java 17) —
use the-bb9artifact there. Both are built from the same source (identical behavior); you
can also build the 9.x one yourself withmvn -B -Pbb9 clean package.
Config reference:
docs/configuration.md
· full list of changes in the
CHANGELOG.
Verified
mvn clean verify green on both profiles — default (Bitbucket 10.3.1 / Java 21) and bb9
(Bitbucket 9.3.0 / Java 17), 37 tests each — and the advisory behavior was live-checked on a
Bitbucket 9.3.2 instance: a mandatory+advisory pair on the same path blocks with a single veto,
and an advisory-only path merges freely.
License: MIT. Upgrading from 0.1.0: drop-in; no config changes required.
v0.1.0
First release of Bitbucket Code Owners — a self-hosted, open-source Bitbucket Data Center app
that enforces path-based code ownership with subgroup approval thresholds: the gap native Code
Owners (suggests reviewers only) and native merge checks (global, not path-based) can't close on
their own.
What it does
- Merge check — blocks a merge until the configured number of approvals from each matched owner
group is reached for the paths a pull request changes. - Subgroup thresholds — express "≥1 senior must approve" by making the owner group contain only
seniors withminApprovals: 1; a junior's approval does not count. - Auto-reviewers — optionally adds the matched owners as reviewers when a PR is opened.
- Config-as-code —
codeowners.yml(orcodeowners.yaml) at the repository root, read
from the PR's target branch, so the rules gating a merge can't be weakened by the same PR. - Fail-closed — an invalid config blocks the merge with an explanatory message instead of being
silently ignored.
# codeowners.yml — at the repository root
version: 1
groups:
frontend-seniors: { users: [alice, bob] }
rules:
- paths: ["frontend/**", "**/*.tsx"]
owners: ["@frontend-seniors"]
minApprovals: 1
options:
autoAddReviewers: true
unmatchedPolicy: allowInstall
The attached bitbucket-codeowners-0.1.0.jar targets Bitbucket DC 10.x (Java 21). Upload it via
Administration → Manage apps → Upload app, then enable Code Owners Merge Check per
repository/project under Merge checks.
Running Bitbucket 9.x LTS (Java 17)? Build the compatible artifact from the same source:
mvn -B -Pbb9 clean package # -> target/bitbucket-codeowners-0.1.0.jar for Bitbucket 9.xSee docs/deployment.md
and docs/configuration.md.
Verified
mvn clean verify is green on both profiles — default (Bitbucket 10.3.1 / Java 21) and bb9
(Bitbucket 9.3.0 / Java 17), 32 tests each — and the enforcement was live-checked on a Bitbucket
9.3.2 instance (merge blocked until the required owner approval is present).
License: MIT.