Skip to main content

11 posts tagged with "project-activity"

View all tags

Stegosaurus September 2026

· 137 min read
Project Bluefin
Automation & Factory
Completed work
780
79 planned • 701 opportunistic
Contributors
27
11 first-time contributors

Activity

Completed work across the configured factory portfolio.

Daily merged pull requests

1,200merged pull requests
Source: GitHub GraphQL · September 2026 UTC (2026-09-01 to 2026-09-30)
Show the numbers
Daily merged pull requests data for September 2026 UTC (2026-09-01 to 2026-09-30)
LabelMerged pull requests
2026-09-019
2026-09-0214
2026-09-032
2026-09-0410
2026-09-0539
2026-09-0647
2026-09-0738
2026-09-0835
2026-09-0920
2026-09-1076
2026-09-116
2026-09-1234
2026-09-1333
2026-09-1439
2026-09-156
2026-09-1614
2026-09-1716
2026-09-1839
2026-09-1941
2026-09-2078
2026-09-2122
2026-09-2281
2026-09-23113
2026-09-2448
2026-09-2575
2026-09-2663
2026-09-2750
2026-09-2815
2026-09-2988
2026-09-3049

Merged pull requests by repository

1,200merged pull requests
Source: GitHub GraphQL · September 2026 UTC (2026-09-01 to 2026-09-30)
Show the numbers
Merged pull requests by repository data for September 2026 UTC (2026-09-01 to 2026-09-30)
LabelMerged pull requests
projectbluefin/actions96
projectbluefin/bonedigger7
projectbluefin/common133
projectbluefin/dakota133
projectbluefin/documentation255
projectbluefin/finpilot85
projectbluefin/iso2
projectbluefin/server134
projectbluefin/testsuite77
projectbluefin/utah150
projectbluefin/utah-packages128

Merged pull requests by label

865label assignments
Source: GitHub GraphQL · September 2026 UTC (2026-09-01 to 2026-09-30)
Show the numbers
Merged pull requests by label data for September 2026 UTC (2026-09-01 to 2026-09-30)
LabelLabel assignments
2-discussing5
3-clanker-queue26
3-human-queue26
4-review41
agent/architect19
agent/ci-maintainer4
agent/quality32
agent/scanner41
agent/security4
architecture17
automerge83
blocked4
build10
chore/deps82
dependencies7
flatcar-base6
full-build2
hive/hosted-projectbluefin-knuckle-gjvq82
hold112
javascript7
kde11
lgtm72
needs-human14
pr/needs-review63
quality36
release/blocked1
release/ready4
runner11
security6
size:XS1
tech-debt1
testing35

Stable portfolio

  • projectbluefin/dakota
  • projectbluefin/testsuite
  • projectbluefin/server
  • projectbluefin/actions
  • projectbluefin/bonedigger
  • projectbluefin/aurorafin-shared
  • projectbluefin/common
  • projectbluefin/documentation
  • projectbluefin/branding
  • projectbluefin/iso
  • projectbluefin/finpilot

Experimental portfolio

  • projectbluefin/utah
  • projectbluefin/utah-packages

Delivery

Publishing-lane outcomes, cadence, duration, and release events.

Factory Publishing Lanes

39Passed
4Failed
38mMedian Run

Pending runs: 22

Run History

Publishing-lane cadence

65publish runs
Source: GitHub Actions · September 2026 UTC (2026-09-01 to 2026-09-30)
Show the numbers
Publishing-lane cadence data for September 2026 UTC (2026-09-01 to 2026-09-30)
LabelDakota
2026-09-010
2026-09-020
2026-09-030
2026-09-040
2026-09-050
2026-09-060
2026-09-075
2026-09-0810
2026-09-090
2026-09-100
2026-09-110
2026-09-120
2026-09-130
2026-09-140
2026-09-150
2026-09-160
2026-09-170
2026-09-180
2026-09-190
2026-09-200
2026-09-210
2026-09-220
2026-09-230
2026-09-240
2026-09-2514
2026-09-2610
2026-09-2722
2026-09-282
2026-09-292
2026-09-300

Release events

29release events
Source: GitHub Releases API · September 2026 UTC (2026-09-01 to 2026-09-30)
Show the numbers
Release events data for September 2026 UTC (2026-09-01 to 2026-09-30)
LabelRelease events
2026-09-211
2026-09-181
2026-09-161
2026-09-141
2026-09-091
2026-09-041
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-301
2026-09-291
2026-09-291
2026-09-291
2026-09-291
2026-09-291
2026-09-291
2026-09-281
2026-09-081

Participation

Human and automated contributions with current contributors.

Human and automation activity

1,200pull requests
Source: GitHub GraphQL · September 2026 UTC (2026-09-01 to 2026-09-30)
Show the numbers
Human and automation activity data for September 2026 UTC (2026-09-01 to 2026-09-30)
LabelHumanAutomation
Report period780420

Ecosystem context

Public ecosystem measures labelled with their native source windows.

Countme trendData unavailable: Countme active-system measurement is incomplete.

Homebrew tap additions

4package additions
Source: Homebrew taps · September 2026 UTC (2026-09-01 to 2026-09-30)
Show the numbers
Homebrew tap additions data for September 2026 UTC (2026-09-01 to 2026-09-30)
LabelAdditions
Production tap1
Experimental tap3

Flathub downloads

138,860,924calendar-month downloads
Source: Flathub · 2026-09-01 to 2026-09-30 UTC
Show the numbers
Flathub downloads data for 2026-09-01 to 2026-09-30 UTC
LabelDownloads
2026-09-013847891
2026-09-023704773
2026-09-033346979
2026-09-043546709
2026-09-053606051
2026-09-063971490
2026-09-074269175
2026-09-083641711
2026-09-093430562
2026-09-103964229
2026-09-114223264
2026-09-123427171
2026-09-133209228
2026-09-143253176
2026-09-156879476
2026-09-169581954
2026-09-175635105
2026-09-185799594
2026-09-196441098
2026-09-205626597
2026-09-215122010
2026-09-225022777
2026-09-234330136
2026-09-244717927
2026-09-254303001
2026-09-264377214
2026-09-274183987
2026-09-285367481
2026-09-295826789
2026-09-304203369

Release details remain on the canonical /changelogs surface.

Completed work​

  • fix(ci): report required checks on docs-only PRs by @​Danathar in #1181
  • docs(secrets-policy): record Cloudflare secrets as provisioned by @​clubanderson in #1275
  • feat(wallpaper): ship original looping movie for Hidamari by @​mendezr in #1207
  • refactor: remove produced-but-unconsumed nvidia overlay by @​mendezr in #1263
  • docs(ci-tooling): record Renovate fork processing for the printer forks by @​sramkrishna in #1259
  • docs(release-promotion): record printer testing-to-stable promotion proof by @​kylerankin in #1257
  • feat(brew): update opencode to the v2 formula by @​kronikpillow in #1270
  • docs(ci-pitfalls): correct create-github-app-token owner/repositories scoping by @​castrojo in #1269
  • fix(chairlift): refresh vendored desktop entry and icons to v26.09.0-alpha.2 by @​clubanderson in #1274
  • docs(chairlift): fix broken brew-lifecycle doc reference in config.yml by @​buggtb in #1273
  • fix: align ChairLift config and ship GSettings schemas by @​mendezr in #1265
  • fix(nvidia): pin suspend notifiers so sleep is not vetoed by @​mendezr in #1176
  • fix(brew): comment out kcl, use upstream kpt, remove aurora-wp by @​KiKaraage in #1131
  • feat(wallpaper): add Damask first-run setup hook and non-destructive defaults by @​repires in #1186
  • fix: reconcile inert .github Renovate configuration by @​repires in #1183
  • feat(damask): ship flatpak overrides and background systemd service by @​repires in #1187
  • feat(chairlift): add wallpaper slideshow and video wallpaper brew bundles by @​sramkrishna in #1185
  • ci: run all maintained unit suites in CI by @​arteeh in #1249
  • feat(testing): add a hardware-free eSCL scanner fixture by @​sramkrishna in #1225
  • docs(contributing): add per-repo reviewer coverage map with refresh procedure by @​mendezr in #1248
  • docs: inventory printer and scanner driver projects by @​arteeh in #1221
  • docs: record printer application upstream source baseline by @​buggtb in #1251
  • docs(skills): track PAPPL scanning API upstream status and ownership boundary by @​buggtb in #1218
  • docs(printer-apps): add release-contract evidence matrix by @​buggtb in #1222
  • docs(ci-tooling): correct stale claim about dockerfile manager and COPY --from by @​buggtb in #1255
  • docs(skills): correct renovate versioned-binary tracking wording by @​mendezr in #1250
  • docs: assess native HP PCL app against HPLIP OCI coverage by @​buggtb in #1236
  • docs: evaluate LPrint v1.4.0 as FSDK OCI label-printer appliance by @​kylerankin in #1235
  • docs: correct reusable lifecycle automation ownership (bonedigger, not actions) by @​buggtb in #1227
  • docs(scanner): evaluate scanApp POC and pappl-retrofit scanning feasibility by @​buggtb in #1220
  • docs: evaluate legacy SANE scanning appliance without claiming driverless parity by @​buggtb in #1219
  • docs(contributing): add self-collision preflight draft for intra-lane duplicate PRs by @​sramkrishna in #1201
  • fix(audio): make Bluetooth auto-switch opt-in instead of default by @​mendezr in #1179
  • feat(brew): remove RamaLama from Bluefin AI tools bundle by @​kylerankin in #1204
  • fix: honor NO_COLOR in local override output by @​Danathar in #1190
  • fix: require review for GitHub Actions minor/patch updates by @​Danathar in #1146
  • ci: run the suite-registration drift gate on every PR by @​kylerankin in #1192
  • feat: WSL/container machine equivalent developer environment via Lima by @​repires in #1175
  • fix(systemd): remove local-fs ordering cycle in rechunker-group-fix by @​kylerankin in #1208
  • feat(countme): add dakota-scoped client and systemd units by @​castrojo in #1154
  • feat(bazaar): Sept 2026 curation update, 7 new recs by @​KiKaraage in #1173
  • fix: empty hooks directory made setup services exit 127 by @​kylerankin in #1193
  • ci: block unpinned git checkouts in Containerfile builder stages by @​mendezr in #1178
  • feat: Super+E should open a new Nautilus window on every press by @​repires in #1184
  • chore: update motd + config by @​theMimolet in #1077
  • fix(brew): drop tremor-runtime, removed from Homebrew by @​castrojo in #1206
  • fix(countme): retry Dakota once per UTC week by @​castrojo in #1203
  • fix(chairlift): track rebranded projectbluefin/chairlift release by @​eltorrero in #1121
  • fix(apps): pin and sha256-verify OpenTabletDriver install fetches by @​mendezr in #1198
  • docs(contributing): add agent-lane-throttle.md — demand-side throttle for the hold-gate queue by @​sramkrishna in #1197
  • docs(contributing): add triage-sla.md — 14-day first-response SLA proposal for human-authored issues by @​mendezr in #1195
  • docs(skills): record image-identity ownership decision — docs/skills/image-identity.md by @​sramkrishna in #1191
  • docs: add systemd-homed-by-default decision record by @​eltorrero in #1200
  • docs(bluespeed): mark bluefin-mcp as archived in the specification by @​kylerankin in #1199
  • docs(contributing): add hold-gate PR queue prioritization rubric by @​repires in #1188
  • docs: correct secrets-policy enforcement claim and add credential preflight rule by @​sramkrishna in #1180
  • docs: document downstream label subsets separate from core factory catalog by @​mendezr in #1177
  • docs(skills): widen category enum to include platform and product by @​repires in #1182
  • docs(factory): ban COMMENT-only PR reviews and comment spam by @​castrojo in #1174
  • fix(brew): preserve user-owned preinstall packages by @​Danathar in #1109
  • fix(wireplumber): disable IR sensor on Kingcome hybrid webcam (2b7e:55c0) by @​castrojo in #1119
  • fix(cli): replace atuin and bash-preexec with starship and add tests by @​castrojo in #1113
  • docs(skills): maintainer-driven tool actions and duplicate-cluster resolution by @​castrojo in #970
  • docs: fix grammatical and readability problems README.md by @​xHope-tech in #1017
  • feat(bazaar): modernize curated layout and add Flathub IDE host integration hooks by @​castrojo in #1155
  • fix(bling): ship working ujust completions for bash/zsh/fish by @​KiKaraage in #1129
  • ci(actionlint): allow the ubuntu-26.04 runner labels by @​Danathar in #1151
  • fix: add consistent bootc sudo policy by @​castrojo in #932
  • fix(sec): ship Sigstore trust materials (Fulcio root + Rekor key) by @​hanthor in #933
  • feat: add llmman to ai-tools Brewfile by @​ericcurtin in #1097
  • fix(brew): allow dedicated ChairLift migration by @​ahmedadan in #1100
  • fix(bling): rearm bash-preexec DEBUG trap on each prompt by @​castrojo in #943
  • fix(brew): replace invalid brew tap --trust with brew tap + brew trust by @​castrojo in #941
  • test: isolate UWELCOME_SHOWN in test_motd_integration.bats by @​castrojo in #1088
  • refactor(just): move 00-entry.just to shared with optional imports by @​Siddhj2206 in #1042
  • fix(flatpak): correct metered check in appstream refresh service by @​HuntedRaven7 in #1035
  • fix: restore native recipes without bluefinctl by @​ahmedadan in #1083
  • fix: resolve cask references and expose validation errors by @​ahmedadan in #1084
  • fix(uwelcome): skip greeting for root and dedupe chained shells by @​ahmedadan in #1059
  • fix(pages): dashboard CNAME qa.projectbluefin.io shadowed by redirect by @​kylerankin in #902
  • fix(gate): let non-Bluefin images skip Bluefin-only scenarios, tolerate GNOME 51 display key by @​hanthor in #900
  • fix(smoke): notify sandbox before app-availability early skips by @​hanthor in #899
  • fix(e2e): allow unsafe-mode test extension on GNOME 51 shells by @​hanthor in #898
  • fix(e2e): enable sshd via kernel arg so image presets cannot undo it by @​hanthor in #895
  • fix(bazzite): mark extension 'is enabled' scenarios pending on state=6 regression by @​buggtb in #888
  • refactor: remove unconsumed DEFAULT_SLA and SLA_STRICT from timing helper by @​repires in #882
  • fix(renovate): restrict automerge to immutable-ref housekeeping by @​kylerankin in #886
  • chore(scripts): remove dead parse_results script and tests by @​repires in #884
  • docs(coverage): sync qa-review recount totals with suite-map snapshot by @​repires in #881
  • chore(deps): update github-actions (non-major) by @​castrojo in #879
  • docs(coverage): sync qa-review totals, add installer matrix row, fix flatpak gap by @​castrojo in #880
  • test(smoke): comprehensive AT-SPI, stability, and presence coverage for Dakota GNOME extensions by @​castrojo in #808
  • docs: remove ghost-lab dependencies and gate requirements by @​castrojo in #878
  • chore: remove bluefinctl test coverage by @​castrojo in #822
  • fix(shared): route AT-SPI tree dump through resolve_results_dir by @​kylerankin in #825
  • fix(justfile): route results parsing through e2e_summary.py by @​mendezr in #873
  • docs(software): audit the @future scenarios blocking GNOME 51 re-validation by @​sramkrishna in #877
  • test(smoke): skip @vm_only scenarios in container lanes by @​castrojo in #740
  • test(lifecycle): add settled-deployment barrier and activate bootc pin scenario by @​mrbobbytables in #837
  • [sec-check] fix: declare top-level permissions: {} in e2e.yml by @​Danathar in #813
  • refactor(ssh): Phase 2 — route dx/flatcar/kde-smoke/software/vanilla-gnome onto ssh_config.ssh_argv() by @​mrbobbytables in #790
  • fix(gnome-e2e): source the results summary from scripts/e2e_summary (#797) by @​mendezr in #819
  • docs(gnome): trim duplicate blank line to satisfy 500-line SKILL.md cap by @​Danathar in #869
  • refactor: fold duplicated _first_value into shared ssh_config by @​mrbobbytables in #787
  • docs(ci): make GNOME version string neutral across e2e summary and docs by @​mendezr in #854
  • test(vanilla-gnome): add GNOME 51 reduced-motion and focus-ring gsettings round-trips by @​kylerankin in #851
  • test(common): activate podman user socket scenario and track immutable status blockers by @​mrbobbytables in #852
  • test(smoke): audit GNOME 50 workarounds against GNOME 51, update gnome.md by @​kylerankin in #848
  • fix(ci): unify image-slug grammar across e2e workflow and artifact tags by @​mrbobbytables in #865
  • ci: restore migration-target and extra-tags inputs to e2e.yml by @​kylerankin in #867
  • test(software): re-anchor @future scenarios from closed #176 to #847 by @​mrbobbytables in #849
  • test(vanilla-gnome): GNOME 51 readiness — Shell version canary by @​mrbobbytables in #864
  • docs: align AGENTS.md and contributing/SKILL.md on skill-update gate by @​mrbobbytables in #862
  • test(smoke): suppress session idle-lock in smoke setup to unblock GOA provider-list by @​mrbobbytables in #850
  • test(quality): unit coverage for scripts/generate_skill_index.py by @​mrbobbytables in #788
  • docs(scanner): fix malformed unit-test documentation block by @​mrbobbytables in #785
  • fix(e2e): scope metadata artifacts by image by @​castrojo in #856
  • fix(smoke): ignore Nvidia CDI failures in QEMU by @​castrojo in #855
  • fix(e2e): stabilize Firefox accessibility workflow by @​castrojo in #853
  • fix(e2e): robust toggle-updates probe, storage service lifecycle, and Firefox window lookup by @​castrojo in #792
  • feat(nvidia): NVIDIA sysext skill and driver release tracking by @​dtg01100 in #326
  • ci(build): run boot-test and release-dry-run when kernel-cache is skipped by @​jeefy in #328
  • fix(initrd): verify the per-node Ignition config before applying it by @​kylerankin in #285
  • fix(installer): keep console install failures visible instead of halting by @​dtg01100 in #321
  • feat(nvidia): deliver the driver and toolkit sysexts to nodes by @​jeefy in #319
  • fix(os): ship /etc/protocols and /etc/services (IANA netdb) for NFSv3 by @​jeefy in #317
  • fix(sysupdate): ship the trust keyring in the vendor image by @​arteeh in #312
  • feat(nvidia): container toolkit sysext (CDI) by @​jeefy in #304
  • feat(nvidia): open-kernel-module driver sysext (nvidia-open-595) by @​jeefy in #305
  • fix(kernel-cache): verify the whole tarball before restoring it by @​castrojo in #315
  • ci(build): key-free kernel cache in ghcr.io for release builds by @​castrojo in #314
  • ci(build): validate pull requests, build the image nightly, on main and on demand by @​castrojo in #313
  • feat(installer): carry stick credentials to the installed disk; developer-mode admin user by @​castrojo in #300
  • fix(security): clear group/other write from image paths; repair /etc on existing installs by @​castrojo in #303
  • docs: sync the Booty story with jeefy/booty main by @​jeefy in #298
  • feat(os): NFS client (nfs-utils + rpcbind, client-only) in the base image by @​jeefy in #295
  • fix(installer): quiet vfat exec-bit repart warnings on diskless boot path by @​kylerankin in #283
  • fix(installer): accurate login banner and first-boot password docs by @​castrojo in #297
  • fix(installer): ask for a root password on the installed disk's first boot by @​castrojo in #293
  • ci(build): queue main runs instead of cancelling them; upload installer logs by @​jeefy in #292
  • ci(track-binaries): refresh amd64 and arm64 pins together, with tests by @​jeefy in #288
  • build: drop FSDK os-release from the build sandbox and its patches by @​castrojo in #291
  • fix(installer): no keymap or erase questions, reboot when done by @​castrojo in #290
  • docs: follow-ups deferred from #276 by @​jeefy in #289
  • ci: boot-test the offline USB installer end to end by @​jeefy in #277
  • test: assert parsed properties instead of file text; no silent skips in CI by @​jeefy in #278
  • build: reproducible image assembly, key-set safety, patch docs by @​jeefy in #281
  • build: drop the gnome-build-meta junction by @​jeefy in #280
  • refactor: shared sysext packing recipe, arm64 binary pins, base-image cleanups by @​jeefy in #279
  • ci(release): dry-run the publish path on pull requests; attest provenance and publish an SBOM by @​jeefy in #269
  • ci: boot-test tamper refusal, HTTP boot, Ignition and A/B rollback; skip image builds for docs-only changes by @​jeefy in #270
  • fix(installer): boot offline, allow credential overrides, quiet repart warnings by @​castrojo in #268
  • feat(update): automatic updates with a Kubernetes interlock, a boot health gate and a diskless update signal by @​jeefy in #271
  • feat(initrd): explain diskless boot failures and ignored Ignition kargs by @​jeefy in #273
  • docs: accuracy pass after the FSDK rebase by @​jeefy in #276
  • ci: track patch releases of upstream binaries (Kubernetes, containerd, runc, CNI, k0s, ORAS) by @​jeefy in #272
  • fix(security): ship root locked; provision access per node by @​jeefy in #275
  • feat(installer): offline USB installer image booting into systemd-sysinstall by @​castrojo in #264
  • fix(ci): install ORAS 1.3.4 by URL and checksum by @​castrojo in #266
  • feat!: FSDK-composed OS with a signed, diskless-first boot chain by @​jeefy in #262
  • Remove heading from README.md by @​castrojo in #261
  • docs: add theme-adaptive wordmark to README by @​castrojo in #260
  • feat(installer): opt-in network credentials pull (inst.creds_url / inst.creds_sha256) for PXE installs by @​jeefy in #253
  • fix(ddi): restore the setuid/setgid bits Flatcar ships on sudo, su, passwd, mount, … by @​jeefy in #255
  • fix(installer): actually wait for the network before the DDI download by @​jeefy in #252
  • fix(installer): stage the network DDI in /dev/shm and check free space before decompressing by @​jeefy in #251
  • fix(creds): apply firstboot.* credentials without systemd-firstboot by @​jeefy in #254
  • fix(installer): rewrite the network DDI repart override without sed by @​jeefy in #250
  • fix(installer): bare-metal USB install consolidation, preset ordering, and OVMF boot test by @​castrojo in #243
  • fix(fsdk): disable tests in glib-stage1 bootstrap by @​castrojo in #51
  • docs(arch): scope FSDK hard rule to installer by @​castrojo in #133
  • chore(ci): pin runners to ubuntu-26.04 by @​castrojo in #237
  • fix(kiosk): bridge guest loopback proxy via SSH port forwarding for QEMU by @​mrbobbytables in #202
  • refactor: switch OS payload to Flatcar base, drop displaced FSDK components by @​kylerankin in #132
  • refactor(arch): split release-version into installer and Flatcar axes by @​mrbobbytables in #136
  • fix(flatcar): use flatcar-kernel-container-sha256 in flatcar-usr.bst by @​castrojo in #236
  • feat(flatcar): add flatcar-usr.bst importing Flatcar /usr as the OS payload base by @​mrbobbytables in #140
  • build: os-base option to compare FSDK payload against Flatcar reference by @​kylerankin in #163
  • feat(installer): add opt-in PXE network DDI pull by @​kylerankin in #229
  • test(installer): behavioural contract for the QEMU boot-proof readiness gate by @​Danathar in #219
  • fix(k0s): pin argocd image by digest and upgrade past EOL v2.12.3 by @​kylerankin in #212
  • fix(kiosk): console shows live local cluster state on first boot by @​kylerankin in #214
  • arch: make include/flatcar.yml the single source of truth for Flatcar pins by @​kylerankin in #143
  • feat(creds): extend systemd-creds provisioning to SSH keys, network, firstboot, and TPM2 by @​mrbobbytables in #221
  • revert: remove unapproved appliance identity design (#208) by @​castrojo in #235
  • fix(installer): harden flash-installer with refusal guards, write verification, and GPT backup relocation by @​castrojo in #225
  • chore(renovate): disable the homebrew manager for binary-asset formulae by @​castrojo in #211
  • ci: include scripts/** in unit-tests workflow paths filter by @​mendezr in #234
  • fix(justfile): probe install-vm kiosk readiness from inside the guest (rebased) by @​castrojo in #227
  • fix(installer): hard preflight abort when bluefin-installer-data is absent by @​castrojo in #224
  • fix(boot): resolve QEMU installer boot deadlock and console readiness probe by @​mrbobbytables in #220
  • fix(ci): pin just tool version in CI workflows by @​kylerankin in #190
  • ci: expand unit-tests workflow paths trigger by @​mrbobbytables in #189
  • fix(renovate): match the freedesktop-sdk series the junction actually tracks by @​hanthor in #84
  • ci: land #190, #189 and #84 with the build.yml conflict resolved by @​castrojo in #217
  • fix(ci): move junction ref tracking out of the pull_request path by @​castrojo in #180
  • feat(flatcar): record container runtime parity by @​castrojo in #192
  • feat(arch): produce Flatcar-to-FSDK version parity matrix (#142) by @​mrbobbytables in #184
  • test(build-depends): lock in os-countme curl+jq FSDK paths by @​kylerankin in #122
  • fix(installer): bound root-a partition to guarantee room for var by @​mrbobbytables in #207
  • fix(test): preserve installer-created var partition by @​castrojo in #157
  • ci: update installer evidence workflow pin by @​castrojo in #156
  • fix(ci): support repart on hosted runners by @​castrojo in #152
  • ci: update installer test workflow pin by @​castrojo in #151
  • ci: run installer smoke through shared QEMU workflow by @​castrojo in #149
  • Add kmod component and update depmod path by @​bronson in #146
  • docs: mandate distributed BuildStream builds on ghost cluster by @​castrojo in #121
  • fix(installer): fix kernel module extraction and probe USB storage drivers by @​castrojo in #120
  • fix(e2e): support self-signed TLS certificates in readiness checks by @​castrojo in #118
  • feat(lima): end-to-end Lima VM orchestration and automated browser login by @​castrojo in #117
  • perf(kiosk): set KAGENTI_CONTROLLER_URL="none" in kc-agent gate command by @​mrbobbytables in #114
  • feat(kiosk): forward kubernetes API port 6443 in install-vm by @​castrojo in #107
  • feat(countme): ship the shared bluefin-countme reporter by @​castrojo in #94
  • fix(kubestellar): correct container image tags and names in k0s manifests by @​kylerankin in #103
  • fix(k0s): generate kubeflex postgres password at first boot instead of hardcoding it by @​kylerankin in #102
  • fix(ci): restore dropped k0s sysext copy into dist/release/ by @​castrojo in #93
  • feat(kernel): add Flatcar LTS kernel & ZFS sysext, export PXE release assets by @​castrojo in #92
  • fix(installer): show interactive UI on the local display by @​TB516 in #79
  • fix(k0s): complete first-boot activation and console readiness by @​castrojo in #63
  • fix(build): prepare alpha release validation and sysext cleanup by @​castrojo in #59
  • fix(fsdk): create uninstalled libappstream symlinks in appstream-minimal by @​castrojo in #58
  • fix(build): add SONAME symlinks and LD_LIBRARY_PATH for gdk-pixbuf by @​castrojo in #56
  • fix(fsdk): resolve libgirepository SONAME symlinks in gobject-introspection-base by @​castrojo in #54
  • fix(chunka): pin chunkah's build clock so an unchanged rebuild keeps its digest by @​dtg01100 in #592
  • chore: bump testsuite e2e pin for Utah gate fixes by @​hanthor in #588
  • chore: bump testsuite e2e pin for GNOME 51 + early-skip fixes by @​hanthor in #587
  • chore: bump testsuite e2e pin to include preset-proof sshd enablement by @​hanthor in #584
  • fix(factory-health): dedupe open alerts by author by @​repires in #577
  • fix(factory-health): close recovered alerts so dedupe stops muting pipelines by @​Danathar in #550
  • ci(unit-tests): add missing workflow paths for tested guarded workflows by @​buggtb in #578
  • fix(ci): annotate reusable-thin-caller-gate and drop hardcoded count in test by @​castrojo in #573
  • fix(factory-health): require a minimum sample before alerting by @​Danathar in #560
  • ci(promote-squash): let callers say the promotion PR is merged by a human by @​Danathar in #566
  • fix(factory-health): fail the run when factory alerts are misrouted by @​Danathar in #564
  • fix(workflows): stop PR-controlled CHUNKAH_VERSION reaching shell in vendor-chunka-files by @​sramkrishna in #570
  • fix(release): normalize caller-supplied image reference by @​Siddhj2206 in #524
  • feat(ci): annotate reusable workflows with required token type by @​mrbobbytables in #547
  • ci(unit-tests): cover reusable-renovate-automerge.yml in the paths filter by @​Danathar in #553
  • feat(reusable-build): allow testing-stream builds to opt into rechunking and SBOM by @​mendezr in #557
  • fix(factory-health): bound the run fetch by the window, not a run count by @​Danathar in #551
  • feat(ci): enforce thin-caller gate in consumer repos (issue #546) by @​Danathar in #554
  • fix(ci): mint app token for renovate auto-merge wiring check by @​Danathar in #552
  • docs(skills): add merge-governance and document the empty-commit consumer PR by @​castrojo in #537
  • ci(unit-tests): cover ghcr-cleanup.yml in the paths filter by @​castrojo in #534
  • ci(actionlint): make the required check reachable on PRs and merge groups by @​castrojo in #536
  • fix(setup-runner): support ubuntu-26.04 runners and skip resolute apt source (#541) by @​castrojo in #549
  • ci(unit-tests): cover guarded release workflows in paths filter by @​kylerankin in #532
  • ci: test the Renovate auto-merge merge/outcome step (issue #403) by @​mendezr in #516
  • test(bootc-build): add coverage and drift guards for ghcr-cleanup action by @​mrbobbytables in #511
  • fix(promotion): treat missing E2E as pending by @​castrojo in #527
  • fix(promotion): gate merge status on evidence by @​castrojo in #526
  • fix(release): harden promotion orchestration by @​castrojo in #525
  • fix(promotion): trust only Actions E2E status by @​castrojo in #521
  • fix(promotion): forward E2E status context by @​castrojo in #519
  • fix(promotion): bind E2E evidence to source commit by @​castrojo in #515
  • fix(promotion): gate queue enrollment on verification by @​castrojo in #513
  • refactor(ci): narrow installer artifact contract by @​castrojo in #506
  • fix(ci): upload only QEMU serial logs by @​castrojo in #505
  • fix(ci): stage QEMU failure evidence by @​castrojo in #504
  • fix(ci): grant runner access to KVM device by @​castrojo in #502
  • feat(ci): add server installer QEMU workflow by @​castrojo in #501
  • fix(renovate): target caller repository by @​Siddhj2206 in #460
  • fix(release): normalize OCI registry namespaces by @​Siddhj2206 in #461
  • fix(chunka): create config temp file as root to avoid protected_regular denial by @​Siddhj2206 in #497
  • ci: add scheduled Renovate auto-merge wiring assertion (#403) by @​kylerankin in #498
  • arch: enforce thin-caller size gate (issue #411) by @​mendezr in #472
  • fix(sign-and-publish): mitigate SBOM exceeding GitHub Attestations 16MB limit (fixes #480) by @​mrbobbytables in #484
  • fix(pkg-cadence): open a PR instead of pushing to main by @​kylerankin in #476
  • fix(cadence): pass app credentials to reusable workflow (fixes #425) by @​mrbobbytables in #492
  • chore(ci): narrow MergeRaptor app token permissions to what's needed (fixes #421) by @​mendezr in #478
  • docs(supply-chain): record cosign install trust policy (upstream-pinned single mechanism; refs #464) by @​eltorrero in #491
  • docs(skills): add session-hygiene skill and mandatory gate by @​castrojo in #424
  • docs(skills): capture merge-queue, consumer-CI, and Renovate learnings by @​castrojo in #402
  • docs(skills): bring remaining skill files into canonical skill spec conformance by @​mrbobbytables in #471
  • ci: test the Renovate auto-merge PR-lookup matcher end-to-end by @​kylerankin in #488
  • fix(factory): exclude cancelled/action_required from success rate by @​kylerankin in #495
  • [sec-check] fix: declare top-level permissions: {} in consumer-validation and prune-merged-branches by @​mrbobbytables in #466
  • test(bats): add unit tests for 4 bootc-build composite actions by @​castrojo in #451
  • ci(unit-tests): expand bootc-build path filter to cover all actions by @​castrojo in #452
  • fix(validate-pr): handle spaces in system_files shellcheck paths by @​castrojo in #454
  • fix(chunka): avoid E2BIG by passing inspect JSON via file instead of argv by @​mendezr in #473
  • fix(promote): skip queued promotion branch rebuilds by @​castrojo in #463
  • fix(scan-image): fail-closed when trivy-results.json is missing by @​HuntedRaven7 in #427
  • fix(workflows): add top-level permissions: {} to consumer-validation and prune-merged-branches by @​mrbobbytables in #456
  • fix: add top-level permissions: {} to consumer-validation and prune-merged-branches workflows by @​mrbobbytables in #457
  • fix(ci): pass RESOLVE_OK via env in release-gate verify step by @​mrbobbytables in #458
  • fix(tests): isolate podman-missing bats test from preinstalled runner podman by @​mrbobbytables in #459
  • fix(promote): make reviewer requests optional by @​Siddhj2206 in #455
  • fix(bootc-build): use kernel overlayfs in reusable-build by @​KiKaraage in #443
  • fix(renovate-automerge): await nonterminal check states instead of blocking by @​castrojo in #448
  • docs(ujust): specify console QR codes for reports by @​kylerankin in #44
  • docs: update scope to ujust report framework and remove stale references by @​castrojo in #41
  • chore: remove lifecycle workflow and obsolete files by @​castrojo in #40
  • fix(ci): read MERGERAPTOR_APP_ID from secrets in sync-templates by @​castrojo in #39
  • ci: allow ubuntu-26.04 runner labels in actionlint config by @​castrojo in #38
  • fix(report): require diagnostic Gists by @​castrojo in #36
  • Rename 2026-12-30-brazilian-bluefin.md to 2026-09-30-brazilian-bluefi… by @​castrojo in #1442
  • Publish blog post on Ubuntu's community building by @​castrojo in #1440
  • feat(blog): draft post for How We Built Ubuntu's 65M+ Community by @​castrojo in #1439
  • Add brazilian-bluefins blog post by @​delphicmelody in #1428
  • perf(ci): build locales in parallel shards so build time stays flat by @​castrojo in #1420
  • docs(i18n): translate installation, mission, values, command-line into Czech by @​Danathar in #1423
  • fix(i18n): correct ExtensionManager Flathub link casing across 5 locales by @​castrojo in #1424
  • i18n(de): translate index.md and UI strings for German by @​castrojo in #1421
  • i18n(sv): translate index.md and UI strings for Swedish by @​kylerankin in #1409
  • feat(i18n): translate docs: Indonesian (id) by @​kylerankin in #1413
  • feat(i18n): translate core docs and UI strings into Vietnamese (vi) by @​kylerankin in #1405
  • docs: translate index.md and UI strings to Spanish by @​kylerankin in #1414
  • i18n(uk): translate index.md and UI strings for Ukrainian by @​kylerankin in #1416
  • i18n(ko): translate index.md and UI strings for Korean by @​dtg01100 in #1418
  • docs(analytics): describe the daily projectbluefin-countme ping by @​castrojo in #1355
  • fix: give Utah a real tag series in the update-churn pipeline by @​dtg01100 in #1419
  • docs: add Czech (cs) i18n translations by @​castrojo in #1408
  • i18n(fr): translate index.md and UI strings for French by @​castrojo in #1415
  • perf(ci): cut pages.yml build time — parallel fetch-data, verify job, leaner caches by @​castrojo in #1411
  • i18n(hi): translate index.md and UI strings for Hindi by @​dtg01100 in #1410
  • i18n(tr): translate index.md and UI strings for Turkish by @​dtg01100 in #1407
  • i18n(ar): translate index.md and UI strings for Arabic by @​dtg01100 in #1406
  • docs: translate docs into Chinese (Traditional) (zh-Hant) by @​castrojo in #1401
  • docs: add Chinese (Simplified) zh-Hans docs translation by @​kylerankin in #1404
  • i18n(pl): translate index.md and UI strings for Polish by @​kylerankin in #1402
  • Add download section to Utah documentation by @​castrojo in #1403
  • fix(i18n): close review gaps in translated builds by @​castrojo in #1400
  • docs(skills): add countme reporting diagnosis procedure by @​castrojo in #1354
  • feat(i18n): open 20 locales for PR-based docs translation by @​castrojo in #1379
  • Change header style in blog post by @​castrojo in #1378
  • Update blog on Bluefin development insights by @​castrojo in #1377
  • Add section on project visualization with gource by @​castrojo in #1376
  • Revise Bluefin development visualization blog post by @​castrojo in #1375
  • feat: Bluefin development visualized blog post by @​castrojo in #1374
  • fix(docs): point the Dakota page's Bluefin Classic link at /classic by @​castrojo in #1369
  • fix(driver-versions): order tabs Bluefin, Server, Classic, Utah by @​castrojo in #1368
  • Update Dakota alpha information and add Bluefin Classic note by @​castrojo in #1367
  • Revise Dakota description and alpha status by @​castrojo in #1366
  • Revise Bluefin Classic documentation by @​castrojo in #1365
  • fix(images): name the catalog cards Bluefin and Bluefin Classic by @​castrojo in #1364
  • feat(docs): order the Images catalog Bluefin, Classic, Utah by @​castrojo in #1363
  • feat(docs): order Images sidebar and add the Classic legacy ISOs by @​castrojo in #1362
  • feat(docs): remove Bluefin LTS and GDX from the site by @​castrojo in #1361
  • Rename Dakota to Bluefin and update content by @​castrojo in #1360
  • Revise Utah documentation for alpha status by @​castrojo in #1359
  • Update warning message for legacy ISOs by @​castrojo in #1358
  • Modify sidebar items and remove Donations category by @​castrojo in #1357
  • Update Docusaurus config for Bluefin documentation by @​castrojo in #1356
  • feat(analytics): read the Bluefin card from daily pings too by @​castrojo in #1350
  • feat(analytics): add a Bluefin Utah chart between Bluefin and Bluefin Classic by @​castrojo in #1349
  • docs(ai): replace ramalama with llmman by @​castrojo in #1348
  • refactor(countme): cut /v1 to a daily ping counted per image by @​castrojo in #1347
  • feat(countme): allowlist Bluefin image names and split daily counts per image by @​castrojo in #1346
  • fix(countme): create eos tables in the Worker, drop the migration step by @​castrojo in #1345
  • feat(countme): receive eos-phone-home pings in the canonical Worker by @​castrojo in #1344
  • feat(countme): chart Bluefin stable and testing check-ins by @​castrojo in #1343
  • feat(portal): source PortalNews from local blog index and align unavailable state by @​repires in #1340
  • fix(countme): preserve raw pings outside published Dakota series by @​castrojo in #1342
  • fix(countme): acknowledge Dakota reports after storage by @​castrojo in #1339
  • feat(leaderboards): render Recent Milestones as horizontal scroller below Community Builders by @​castrojo in #1337
  • feat(images): rework catalog for Bluefin Classic at ublue-os, Dakota, and Utah by @​castrojo in #1335
  • feat(leaderboards): add Recent Milestones leaderboard as a ledger of teamwork by @​castrojo in #1336
  • feat(leaderboards): add GNOME seasons and modern standings by @​castrojo in #1333
  • refactor: route remaining hand-rolled GitHub auth sites through shared clients by @​sramkrishna in #1327
  • fix(registry): support REGISTRY_CACHE_HOURS=0 to keep live task data fresh on deploy by @​castrojo in #1332
  • fix(ci): allow manual force refresh on update-hive-cache workflow by @​castrojo in #1331
  • fix(leaderboard): restore freshness and accurate contributor ranking by @​castrojo in #1330
  • fix: typo in contributors name by @​ahmedadan in #1329
  • refactor: route sbom GHCR token reads through shared githubToken by @​mendezr in #1315
  • fix(branding): make the monthly social preview card actually rotate by @​Danathar in #1313
  • docs: record the green-skip signature for a missing BLUEFIN_DISCUSSIONS_TOKEN by @​Danathar in #1299
  • Fix link text for latest Dakota daily snapshot by @​castrojo in #1325
  • Embed YouTube video and update GNOME release note by @​castrojo in #1326
  • fix(blog): use plain anchor for full resolution link in ImageCarousel by @​castrojo in #1323
  • Revise bug reporting link and add lore content by @​castrojo in #1322
  • fix(blog): use group role and aria-current for ImageCarousel thumbnail strip by @​castrojo in #1321
  • feat(blog): add ImageCarousel component and gallery to Dakota Alpha 6 post by @​castrojo in #1320
  • docs(blog): Dakota Alpha 6 release announcement and downloads by @​castrojo in #1319
  • docs(analytics): switch countme opt-out instructions to systemctl disable timer by @​castrojo in #1308
  • fix(countme): scope first-party telemetry tracking exclusively to dakota by @​castrojo in #1307
  • fix/countme dakota exclusive by @​castrojo in #1306
  • fix(countme): label dakota first-party charts as Bluefin by @​castrojo in #1305
  • fix(analytics): focus first-party active systems chart solely on dakota by @​castrojo in #1304
  • fix(countme): map root chart aliases to dakota by @​castrojo in #1303
  • docs(skills): document Bluefin Classic rebadge in cloudflare-workers by @​castrojo in #1302
  • fix(countme): rebadge upstream ublue-os/bluefin chart as Bluefin Classic by @​castrojo in #1301
  • [architect] fix: propagate typecheck and lint exit codes in pages.yml validation step by @​castrojo in #1297
  • [ci] skip open-discussion job when BLUEFIN_DISCUSSIONS_TOKEN is unset by @​castrojo in #1296
  • refactor: converge CJS GitHub fetchers onto the shared request-queue client (#1232) by @​castrojo in #1295
  • fix(blog): restore scrollable viewport constraint to left sidebar by @​castrojo in #1284
  • ci: run the unit-test gate on every PR and run the knowledge-mcp suite by @​Danathar in #1290
  • Revise warning about Dakotaraptor and legacy ISOs by @​castrojo in #1280
  • Add warning for unsupported images in downloads by @​castrojo in #1278
  • ci: add unit test gate for scripts by @​castrojo in #1226
  • Factory: Optimize layout by combining data sections into 2-column rows on desktop by @​mrbobbytables in #1228
  • fix(cards): parse HTML release-feed tables before generating Bluefin cards by @​mrbobbytables in #1213
  • fix(sbom): add Bluefin LTS NVIDIA stream and retire dx/gdx package queries by @​mrbobbytables in #1212
  • [architect] Converge ESM GitHub fetch sites onto lib/gh.js (#1232) by @​kylerankin in #1236
  • fix(countme): count every published image variant under its family by @​castrojo in #1250
  • test: add update artwork seams by @​TB516 in #1238
  • fix(analytics): name the legacy panel for the image it counts by @​castrojo in #1251
  • fix(repos): repair moved GitHub slugs and preserve partial repository-stat cache by @​kylerankin in #1256
  • test: cover safeNum and loadHistory in fetch-hive-history.js by @​kylerankin in #1255
  • [architect] converge hive-live + factory-stats fetchers onto shared lib/gh.js by @​kylerankin in #1257
  • test: cover scripts/lib coverage-gap modules (#905) by @​kylerankin in #1254
  • Add link to wolves.projectbluefin.io and follow-up note by @​castrojo in #1252
  • fix(analytics): make the weekly active systems labels readable by @​castrojo in #1249
  • fix(countme): ink the upstream chart title by @​castrojo in #1248
  • feat(countme): serve the upstream chart in the Bluefin palette by @​castrojo in #1247
  • Revise analytics documentation for Project Bluefin by @​castrojo in #1246
  • feat(analytics): fold game mode into its image and show the upstream series by @​castrojo in #1245
  • fix(analytics): serve weekly active systems from the first-party aggregate by @​castrojo in #1244
  • fix(analytics): remove manufactured copy from the weekly active systems panel by @​castrojo in #1243
  • fix(analytics): stop publishing internal service posture in a panel reason by @​castrojo in #1242
  • fix(analytics): count our own images, and drop the last bar charts by @​castrojo in #1241
  • feat(analytics): put the charts on the Bluefin palette and the real image matrix by @​castrojo in #1240
  • feat(analytics): rebuild the charts around the full image matrix by @​castrojo in #1239
  • feat(portal): add brand iconography, Karl backlog callout, and quotes to Users and Developers scenes by @​castrojo in #1211
  • [quality] test: unit coverage for scripts/lib/sbom/api.js (GHCR tags, oras download, cosign verification) by @​Danathar in #1210
  • test(scripts): silence unused-arg lint warning in build-metrics test by @​castrojo in #1225
  • fix: consolidate CI supply-chain pins, light-mode repairs, and scripts/lib test coverage by @​castrojo in #1223
  • test(portal): provide fixture data in PortalContributors static render test by @​castrojo in #1209
  • fix(gnome-extensions): render missing and unavailable extension data states by @​castrojo in #1177
  • fix(cards): preserve prevVersion on header chips by @​castrojo in #1174
  • fix(driver-versions): generate Bluefin LTS release links with stable tags by @​castrojo in #1208
  • feat(portal): implement PortalPageLoading overlay and character asset preloader by @​castrojo in #1207
  • fix(portal): resolve nested <main> landmark, focus suppression, and WCAG AA contrast by @​castrojo in #1206
  • feat(portal): implement PortalNews component consuming blog feed by @​castrojo in #1205
  • feat(portal): implement PortalFlock section with DNF Count Me growth chart by @​castrojo in #1204
  • feat(portal): harmonize design tokens, Inter font stack, and unified 956px/512px breakpoints by @​castrojo in #1203
  • feat(portal): add "Try Out" secondary hero CTA and seasonal raptor character rotation by @​castrojo in #1202
  • fix(analytics): align Countme family sparkline domains with rendered images by @​castrojo in #1201
  • fix(portal): update navbar test links to match production navbar by @​castrojo in #1200
  • fix(analytics): include Dakota and Utah in edition and workstation chart series by @​Danathar in #1194
  • fix(analytics): retain Countme zeros and preserve missing values as gaps by @​Danathar in #1191
  • fix(portal): reconcile TopNavbar navigation links and Docusaurus layout header by @​Danathar in #1169
  • feat(portal): restore complete mission statements, Edith Wharton quote, and punchline by @​mrbobbytables in #1155
  • fix(feed-items): supply NVIDIA versions at the data shape the release feed consumes by @​mrbobbytables in #1178
  • fix(profiles): remove nonexistent chandeleer1698 GitHub username by @​mrbobbytables in #1151
  • fix(pin-state): replace removed Bluefin LTS HWE workflow paths by @​Danathar in #1185
  • fix(factory): calculate merged-this-week from merged pull requests by @​Danathar in #1190
  • fix(factory): replace the Hive snapshot CTA hostname with a valid TLS endpoint by @​Danathar in #1189
  • fix(factory): use a public queue-data fallback for anonymous visitors by @​Danathar in #1188
  • fix(factory): render an unavailable change-failure rate instead of 0.0 percent by @​Danathar in #1187
  • fix(sbom): migrate Bluefin LTS stream specs to its package and stable tags by @​Danathar in #1186
  • fix(contributors): prevent visitor-side GitHub requests when contributor data is unavailable by @​mrbobbytables in #1197
  • fix(countme): recognize Dakota and Utah without misclassifying Bluefin variants by @​mrbobbytables in #1198
  • fix(blog): replace Printful CDN hotlinks blocked on five-years-of-bluefin by @​Danathar in #1196
  • fix(catalog): generate Bluefin LTS rebases against the bluefin-lts package by @​Danathar in #1195
  • fix(images): hide unpublished Utah testing image commands and attestations by @​Danathar in #1193
  • fix(blog): remove expired Discourse CDN images from ublue-2024 wrap-up by @​Danathar in #1199
  • fix(sbom): support version-qualified live tags in recent-release discovery by @​Danathar in #1163
  • feat(portal): resolve 7 package version rows for Dakota product card by @​Danathar in #1164
  • fix(ci): make generate-social-cards exit 0 when converters are missing by @​castrojo in #1182
  • feat(analytics): modernize analytics and churn charts, promote page to top level by @​castrojo in #1181
  • feat(branding): add rotating monthly night wallpaper social preview card by @​castrojo in #1179
  • feat(branding): implement new social preview cards for documentation by @​castrojo in #1068
  • fix(cards): parse HTML release-feed tables before generating Bluefin cards by @​castrojo in #1126
  • fix(blog): replace Printful CDN hotlinks blocked on five-years-of-bluefin by @​castrojo in #1125
  • fix(contributors): prevent visitor-side GitHub requests when contributor data is unavailable by @​castrojo in #1124
  • fix(feed-items): supply NVIDIA versions at the data shape the release feed consumes by @​castrojo in #1123
  • fix(gnome-extensions): render missing and unavailable extension data states by @​castrojo in #1122
  • fix(pin-state): replace removed Bluefin LTS HWE workflow paths by @​castrojo in #1121
  • fix(factory): render an unavailable change-failure rate instead of 0.0 percent by @​castrojo in #1120
  • fix(factory): use a public queue-data fallback for anonymous visitors by @​castrojo in #1119
  • fix(factory): replace the Hive snapshot CTA hostname with a valid TLS endpoint by @​castrojo in #1118
  • fix(factory): calculate merged-this-week from merged pull requests by @​castrojo in #1117
  • fix(analytics): calculate and format hero deltas for the selected range by @​castrojo in #1116
  • fix(blog): remove expired Discourse CDN images from ublue-2024 wrap-up by @​castrojo in #1114
  • fix(images): hide unpublished Utah testing image commands and attestations by @​castrojo in #1113
  • fix(analytics): include Dakota and Utah in edition and workstation chart series by @​castrojo in #1111
  • fix(analytics): retain Countme zeros and preserve missing values as gaps by @​castrojo in #1110
  • fix(analytics): align Countme family sparkline domains with rendered images by @​castrojo in #1109
  • fix(repos): repair moved GitHub slugs and preserve partial repository-stat cache by @​castrojo in #1107
  • fix(sbom): migrate Bluefin LTS stream specs to its package and stable tags by @​castrojo in #1106
  • fix(countme): recognize Dakota and Utah without misclassifying Bluefin variants by @​castrojo in #1105
  • fix(driver-versions): generate Bluefin LTS release links with stable tags by @​castrojo in #1104
  • fix(catalog): generate Bluefin LTS rebases against the bluefin-lts package by @​castrojo in #1102
  • fix(profiles): remove nonexistent chandeleer1698 GitHub username by @​castrojo in #1101
  • feat(portal): implement PortalNavigation floating dock and section scroll spy by @​mrbobbytables in #1153
  • feat(portal): implement PortalContributors component and contributor harvester workflow by @​mrbobbytables in #1156
  • fix(portal): update deprecated ublue-os links and synchronize Discord invite code by @​Danathar in #1165
  • fix(portal): align Utah ecosystem card link destination to devconf.us by @​mrbobbytables in #1159
  • feat(portal): generate bootc switch terminal command and copy button in PortalImageChooser by @​mrbobbytables in #1152
  • test: add coverage reporting for data-fetching script tests by @​mrbobbytables in #1061
  • fix(sbom): support version-qualified live tags in recent-release discovery by @​mrbobbytables in #1128
  • feat(portal): add interactive image picker by @​castrojo in #1131
  • feat(portal): complete static landing sections by @​castrojo in #1130
  • feat(portal): add parallax portal prototype by @​castrojo in #1127
  • docs: add Copilot workflow instructions by @​castrojo in #1108
  • fix: link leaderboard contributor dossiers by @​castrojo in #1103
  • fix: restore Hive leaderboard data and styling by @​castrojo in #1076
  • feat: add standalone Hive leaderboards by @​castrojo in #1071
  • feat(analytics): add update churn rate pipeline, analytics charts, and trigger workflow by @​castrojo in #1070
  • feat: add Hive leaderboards landing by @​castrojo in #1069
  • feat(nav): rename Factory to Hive in navbar linking to hive.projectbluefin.io by @​castrojo in #1058
  • docs: announce Bluefin Server by @​castrojo in #1066
  • fix(images): point bluefin-lts to projectbluefin/bluefin-lts package and update catalog by @​castrojo in #1067
  • feat(analytics): unify Bluefin family countme charts and multi-image catalog by @​castrojo in #1065
  • feat(analytics): add legacy bluefins and ecosystem countme analytics charts by @​castrojo in #1063
  • feat(reports): migrate monthly reports to blog with infograms and Hive Leaderboard by @​castrojo in #1059
  • fix: restrict countme worker entrypoint exports to default handler by @​castrojo in #1060
  • docs: announce mcp.projectbluefin.io and update hive links by @​castrojo in #1057
  • feat(mcp): serve the org knowledge base at mcp.projectbluefin.io by @​castrojo in #1055
  • feat: refine image navigation, fix driver versions catalog, and track stable streams by @​castrojo in #1050
  • feat(branding): use new Bluefin wordmark in docs and drop ublue 'u' by @​castrojo in #1043
  • Add link to upstream doc about IME setup by @​sebjag in #1038
  • fix(e2e): deliver the kickstart through an initramfs overlay by @​Danathar in #74
  • fix(ci): restore ISO rename output and soft-fail arm64 legs by @​hanthor in #70
  • fix(just): resolve sudo via PATH in sudoif and pass arguments without word-splitting by @​castrojo in #394
  • fix(justfile): make the final artifact move idempotent in _build-bib by @​mendezr in #412
  • ci(workflow): correct sync-stable-to-main header comment by @​kylerankin in #413
  • ci(workflow): retry just download in unit-tests by @​kylerankin in #414
  • fix(build): write an unverified update ref instead of a signed one by @​Danathar in #406
  • fix(ci): skip Renovate when the token is not set by @​Siddhj2206 in #395
  • ci(promote): stop citing the deleted scheduled approver by @​Danathar in #404
  • fix(ci): restore merge_group trigger to pr-validation and unit-tests by @​castrojo in #418
  • refactor: full rewrite of the template by @​castrojo in #393
  • refactor: full rewrite of the template by @​Siddhj2206 in #383
  • docs: document E2E gap as intentional release risk (#281) by @​mrbobbytables in #328
  • ci: auto-approve action_required checks on trusted promotion PRs by @​mrbobbytables in #335
  • fix(ci): validate Brewfiles statically instead of evaluating them as Ruby by @​Siddhj2206 in #320
  • fix(just): use a per-invocation temp file for the registry tag list by @​Siddhj2206 in #314
  • ci: run BATS unit tests on PRs touching build, tests, or Justfile by @​Siddhj2206 in #317
  • fix(ci): stop inheriting all repo secrets in label-enforcement by @​Siddhj2206 in #318
  • fix(just): build IMAGE_NAME from target_image so renames upgrade correctly by @​Siddhj2206 in #313
  • fix(ci): derive ghcr-cleanup target from the repository name by @​Siddhj2206 in #319
  • fix(ujust): stop install-jetbrains-toolbox when the checksum fails by @​Siddhj2206 in #315
  • fix(just): repair clean recipe so it finishes and removes all artifacts by @​Siddhj2206 in #312
  • fix(packages): stamp the provenance report from SOURCE_DATE_EPOCH, not the wall clock by @​dtg01100 in #343
  • ci: add a tested factory-pin rev tool for #336 by @​dtg01100 in #337
  • fix(packages): pin the baseurl of every allowlisted repository by @​dtg01100 in #334
  • test(services): enforce the unit exit-tolerance convention by @​dtg01100 in #341
  • fix(hooks): stamp 20-home-labels.sh after the body runs by @​dtg01100 in #327
  • fix(e2e): accept substituted sentinel reads and re-read before reshooting by @​hanthor in #381
  • fix(build): re-declare the factory pin ARG so the label bakes its value by @​hanthor in #374
  • fix(build): key the package transaction on the factory pin, fail loud on skew by @​hanthor in #373
  • chore(deps): update packages pin to GNOME 51.0 finals build by @​hanthor in #359
  • test: label parity-ref tests as #152 pinned-ref work by @​kylerankin in #356
  • docs: correct stale package-image copy statement in package-contract by @​kylerankin in #333
  • fix(packages): reject proxy and sslverify=0 in allowlisted repositories by @​mendezr in #351
  • fix(ci): let the kernel cache verify accept dispatch-run signatures by @​mendezr in #348
  • feat(packages): add alsa-utils, restoring kernel mixer state across reboots by @​castrojo in #297
  • fix(ci): sign the kernel cache digest the registry actually stored by @​kylerankin in #317
  • chore(ci): bump actions pin for GNOME 51 gate fixes by @​hanthor in #315
  • chore(ci): point release reusable at actions with preset-proof gate sshd by @​hanthor in #310
  • feat(kernel): build v4l2loopback for every flavor's kernel by @​Danathar in #298
  • fix(packages): add default-fonts-core-emoji to the parity contract by @​buggtb in #296
  • fix(image): strip extension build toolchain closure from shipping image by @​hanthor in #295
  • fix(iso): retry flaky Flathub pulls 5x so a timeout window can't fail E2E by @​hanthor in #285
  • feat(packages): printing and cameras, from the 2026-09-26 factory image by @​hanthor in #282
  • fix(selinux): keep Hummingbird's useradd HOME; only generate the rules from /home by @​hanthor in #283
  • fix(selinux): label /var/home so GNOME Initial Setup can create the account by @​hanthor in #281
  • fix(iso): build the tacklebox live ISO with release compression by @​hanthor in #280
  • feat(iso): installs boot to GNOME Initial Setup, as Bluefin and Dakota do by @​hanthor in #279
  • feat(packages): pin the 2026-09-26 factory image; Wi-Fi, Files, phones, printing, Initial Setup by @​hanthor in #265
  • fix(packages): install samba, samba-winbind and samba-winbind-clients by @​buggtb in #268
  • fix(ci): scope download-integrity clearance to each fetch by @​mendezr in #233
  • feat: build live ISOs for unpublished variants via tacklebox by @​hanthor in #252
  • fix(iso): installed systems get their Flatpaks (the dock was empty) by @​hanthor in #272
  • fix(iso): retry flatpak remote-add, which fetches over the network by @​hanthor in #270
  • chore(iso): pin bootc-installer v2026.09.25-51f8cfe6 (offline installs of Utah work) by @​hanthor in #269
  • feat(baselines): measure Utah against the published Bluefin and Dakota images by @​hanthor in #264
  • fix(parity): install the Bluefin base packages Utah can resolve today by @​hanthor in #266
  • fix(e2e): count flatpak runtimes when checking the offline default set by @​hanthor in #267
  • fix(iso): let the installer create the first account by @​hanthor in #260
  • fix(iso): keep the listed GTK3 theme runtimes in the live ISO by @​hanthor in #256
  • fix(desktop): enable per-user services — installed Utah had no audio by @​hanthor in #255
  • fix(boot): installed systems boot again — keep the base's shim-paired GRUB, guard the EFI chain (#253) by @​hanthor in #254
  • fix(iso): separate installed-desktop and installed-fastfetch captures by @​repires in #243
  • ci: opt the testing stream into rechunking and build SBOMs by @​mendezr in #226
  • fix(packages): install device firmware, which the bootable base ships none of by @​sramkrishna in #236
  • fix: mask serial-getty@ttyS0 so desktops stop spamming the journal by @​sramkrishna in #235
  • fix: repoint install-flatpaks.sh at tuna-os/bootc-installer by @​Danathar in #219
  • ci: retain gated production ISO artifacts by @​Danathar in #198
  • fix(iso): tighten live ISO size budget by @​Danathar in #206
  • chore(deps): update actions/upload-pages-artifact action to v5 by @​hanthor in #234
  • ci: gate the live boot on the UTAH_LIVE_READY serial marker by @​mendezr in #229
  • fix(iso): force software GL rendering for the E2E test's terminal by @​Danathar in #224
  • test(installer): assert offline payload and default Flatpaks survive encrypted install by @​Danathar in #215
  • test: cover btrfs live-kernel contract by @​Danathar in #207
  • ci: document Utah testing-stream rechunk gate by @​Danathar in #205
  • docs: close README/skill package-count drift against the manifests by @​Danathar in #225
  • fix(flavors): single-source flavor to image name mapping in flavors.py by @​mrbobbytables in #144
  • fix(desktop): enable input-remapper.service for desktop input devices by @​mrbobbytables in #148
  • ci(parity): pin check-parity upstream fetch to committed revision by @​mrbobbytables in #152
  • ci: stop a testing build cancelling the one before it, which is losing the ISO evidence the release gate needs by @​hanthor in #185
  • ci(release): stop a missed stable release from looking exactly like a normal merge by @​hanthor in #195
  • fix: fall back to kernel module tree and refuse empty kernel releases in verify-rpm-contract by @​mrbobbytables in #204
  • fix: enable PipeWire user units so GNOME screencast can start by @​KiKaraage in #177
  • fix(installer): harden live-media boot paths and define Secure Boot strategy by @​mrbobbytables in #143
  • Retry Flathub pulls, so one timed-out object cannot fail a flavor's ISO by @​hanthor in #162
  • fix(nvidia): bump the driver for kernel 7.2, and make the base bump actually build by @​hanthor in #182
  • fix(packages): correct evolution-ews-core parity debt after EDS closure builds by @​kylerankin in #191
  • fix: disable nvidia-container repo on non-NVIDIA flavors by @​kylerankin in #192
  • ci: drop timestamp from generated skill catalog to avoid merge conflicts by @​mrbobbytables in #193
  • site: publish a status and project information page on GitHub Pages by @​hanthor in #164
  • fix(image): stop shipping the 4 GB package repository in every image, and check Hummingbird signatures by @​hanthor in #133
  • fix: enable the btrfs kernel module in the OGC gaming-flavor kernel by @​kylerankin in #158
  • ci: stop fork pull requests failing on a GHCR permission they cannot have by @​hanthor in #184
  • fix(packages): single-source install repository identity in packages/*.repo by @​mrbobbytables in #146
  • fix(desktop): mask bootc-fetch-apply-updates across cross-vendor etc merge by @​mrbobbytables in #153
  • fix: stop shipping the 4 GB package repository in every image (#128) by @​kylerankin in #156
  • test(ci): add unit tests for check-download-integrity and check_workflow_outputs by @​mrbobbytables in #147
  • fix: enable bluetooth.service for desktop adapters by @​kylerankin in #125
  • feat(packages): install what Bluefin inherits from Fedora's base and Hummingbird already has by @​hanthor in #129
  • fix(iso): get the LUKS end-to-end test green on all four flavors by @​hanthor in #94
  • test: unit coverage for scripts/flavors.py flavor-matrix queries — new tests/test_flavors.py, just test recipe by @​mendezr in #118
  • fix(uupd): pin and verify uupd.service/uupd.timer against committed digests by @​kylerankin in #124
  • fix(e2e): capture the fastfetch shot at 1080p, with its logo by @​hanthor in #112
  • fix(packages): ship glibc-all-langpacks so a chosen locale exists by @​hanthor in #116
  • fix: keep GSConnect loading on GNOME 51 (clipboard final-type) by @​mrbobbytables in #89
  • fix: resolve OGC kernels when assembling live ISOs by @​hanthor in #87
  • fix(iso): repair CI handoff, payload digests, and live kernel support by @​hanthor in #86
  • ci: automate LUKS ISO validation and screenshot evidence by @​hanthor in #84
  • Build the Utah ISO, install it to an encrypted disk, and prove the desktop starts by @​hanthor in #41
  • fix(build): resolve the pinned package contract before composing Utah by @​hanthor in #82
  • docs: Utah's current status by @​HuntedRaven7 in #31
  • feat: compose Utah from a local package repository by @​hanthor in #37
  • supply-chain: pin and verify executable image and installer downloads by @​hanthor in #32
  • ci: stop main waiting on the kernel cache; cut layer overhead per flavor by @​hanthor in #33
  • feat: build zram-generator packages by @​mendezr in #294
  • feat: build zram-generator packages (carries #294) by @​castrojo in #301
  • fix(ci): report nothing for a cancelled run instead of every package as failed (carries #271) by @​castrojo in #300
  • feat(feeds): poll 68 more upstreams via explicit lock feeds by @​hanthor in #296
  • fix(libadwaita): drop obsolete sassc backport, merged upstream in 1.10.0 by @​hanthor in #299
  • fix(gsettings): drop GConf .convert files removed upstream in GNOME 51.0 by @​hanthor in #298
  • chore(gnome): bump the GNOME 51 stack off prerelease to 51.0 finals by @​hanthor in #295
  • feat(supply-chain): lock factory buildroots and require recipe provenance by @​Danathar in #186
  • fix: retry the hermetic lane's online steps and package v4l-utils' udevd drop-in by @​clubanderson in #288
  • fix(sources): reset release on upstream version bumps by @​arteeh in #281
  • fix(ci): drop canary inject_failure from build matrix (#285) by @​mrbobbytables in #286
  • ci(validate): give check_workflow_quoting and runtime_contract a PR-wide trigger by @​buggtb in #282
  • feat(libass): update to 0.17.5 by @​hanthor in #266
  • fix: prevent lock screen password controls from overlapping by @​arteeh in #290
  • feat(ci): let a dispatch build and publish only named packages by @​hanthor in #279
  • fix(printing): import pdfio for libcupsfilters, and rebuild libgphoto2 by @​hanthor in #278
  • fix(enchant2): build without the Nuspell backend by @​hanthor in #276
  • feat(publish): resolve the blocking transaction in Utah's pinned base by @​hanthor in #277
  • fix(build): resolve the hermetic root with best=0, like the container lane by @​hanthor in #275
  • feat(publish): publish each wave's successes as that wave finishes by @​hanthor in #274
  • fix(publish): a bootstrap build never replaces the real package by @​hanthor in #273
  • fix(publish): resolve Utah's install set in Utah's own base image by @​hanthor in #272
  • feat(publish): resolve what Utah actually installs, and track each gap by @​hanthor in #270
  • fix(publish): import libexif and ghostscript for libgphoto2 and libppd by @​hanthor in #269
  • fix(plan): call a published build stale only when its soname moved by @​hanthor in #268
  • feat(xdg-terminal-exec): update to 0.14.3 by @​hanthor in #265
  • feat(build): make the hermetic mock lane the default by @​hanthor in #264
  • fix(publish): let a re-run publish over its own earlier attempt by @​hanthor in #262
  • fix(ci): keep a canary dispatched on main away from the tracking issue by @​hanthor in #261
  • feat(build): hermetic mock lane -- lock the build root, build offline from the lock by @​hanthor in #260
  • feat(build): rebuild what changed and what BuildRequires it, on every merge by @​hanthor in #259
  • ci(build): retry a failed %check once before failing the package by @​hanthor in #256
  • feat(publish): publish each good build, keep a failed package's previous one by @​hanthor in #258
  • ci(canary): prove pipeline changes on the real workflow in minutes by @​hanthor in #257
  • fix(buildroot): keep the pin in config/ and move it to the first mirror image by @​hanthor in #255
  • ci(buildroot): factory-owned build-root mirror, and a cache key that survives a publish by @​hanthor in #252
  • fix(publish): lead the repository image with a repodata-only layer by @​hanthor in #254
  • feat: import Utah runtime dependencies with no factory recipe by @​hanthor in #246
  • fix(publish): log in for the provenance attestation and keep it from failing a publish by @​hanthor in #253
  • fix(python-pydantic-core): BuildRequire python3-packaging for %prep by @​hanthor in #250
  • fix(publish): close the ffmpeg and libosinfo runtime closure by @​hanthor in #249
  • fix: restore python-pydantic and build pydantic-core from vendored crates by @​hanthor in #248
  • fix(librist): backport upstream's nettle 4.0 support by @​hanthor in #245
  • chore: remove python-pydantic and python-pydantic-core from the factory by @​hanthor in #244
  • fix(libppd): include <cstdint> before cups/transcode.h by @​hanthor in #243
  • fix(librist): correct the 0.2.11-1 changelog year so rpm accepts the spec by @​hanthor in #242
  • fix(srt): build with the OpenSSL EVP backend instead of gnutls+nettle3.10 by @​hanthor in #241
  • fix(ci): upgrade libxml2 to Hummingbird's split release before builddep by @​hanthor in #240
  • fix(grub2): efi_vendor=fedora so GRUB sits beside Utah's shim (Utah install e2e red since 09-21) by @​hanthor in #238
  • test: gate architecture inventory counts by @​Danathar in #194
  • fix(factory): source rebuild matrix package set from source_locks by @​repires in #232
  • fix(import): skip factory-sourced packages in Rawhide resolver by @​mrbobbytables in #185
  • refactor(ci): align Justfile check with CI workflow gate catalog by @​mrbobbytables in #196
  • fix(ci): verify cosign signature before seeding from the factory image by @​Danathar in #215
  • fix(ci): gate sccache setup to mozjs140 to prevent token exposure by @​repires in #227
  • fix(validate): refuse a recipe that silences its own %check by @​Danathar in #197
  • fix(publish): close the consumer-transaction dep closure by @​hanthor in #229
  • fix(dist_bump): tolerate macro-based Release fields (carries #100) by @​hanthor in #138
  • fix(verify): pin srt, libcue, game-music-emu, cjson to Fedora lookaside primaries by @​hanthor in #231
  • feat(printing): add cups-filters, cups-browsed, libcupsfilters, and libppd recipes by @​mrbobbytables in #214
  • ci(audit): pin pyyaml and declare it for the unit tests job by @​mendezr in #221
  • feat(packages): import google-noto-color-emoji-fonts and stix-fonts recipes by @​mrbobbytables in #199
  • docs: define ORAS source lookaside policy by @​mrbobbytables in #189
  • fix(linux-atm): pin kernel-headers to 6.19.6 for atmsvc.h by @​hanthor in #218
  • fix: exclude libicu-77 from every build root by default, with per-package opt-in by @​hanthor in #217
  • feat: ppp/libpcap/linux-atm/libgda closure parity (utah-packages#149) by @​kylerankin in #203
  • feat: add libfprint + fprintd recipes for fingerprint login parity (#145) by @​kylerankin in #204
  • feat: import microcode_ctl for CPU errata parity by @​kylerankin in #205
  • fix(scan): skip malformed repoquery lines instead of crashing the scan by @​kylerankin in #206
  • feat: add alsa-utils recipe for mixer-state restore (Dakota parity) by @​kylerankin in #202
  • fix(rebuild): build nautilus-python after nautilus by @​Danathar in #213
  • fix(gaps): drop runtime-contract [unavailable] packages from the parity report by @​mendezr in #207
  • fix(renovate): require human review for github-actions updates by @​mrbobbytables in #193
  • fix(factory): defer base packages to Hummingbird by @​hanthor in #191
  • docs(ci): preserve the package cache contract by @​hanthor in #184
  • feat(ci): restore and publish per-package RPM cache by @​hanthor in #183
  • feat(ci): cache key for per-package build reuse, and the rule for when to use it by @​hanthor in #178
  • fix: enforce recipe-set agreement across the three package sources by @​kylerankin in #164
  • fix(dist_bump): tolerate macro-based Release fields by @​kylerankin in #100
  • ci: pin zstandard version in rebuild-rpms prepare job (#105) by @​mendezr in #109
  • ci: pin zstandard in the prepare job (carries #109) by @​hanthor in #137
  • fix(quality): add missing provenance for gnome-desktop3 and malcontent-bootstrap by @​mrbobbytables in #98
  • fix(ci): guard build toolchain containers against mutable tags by @​kylerankin in #110
  • fix(workflows): bind rawhide dispatch inputs via env, not run interpolation by @​kylerankin in #114
  • Build the whole Utah contract: 343 recipes, Firefox as a Flatpak, four stage failures fixed by @​hanthor in #70
  • test: add unit coverage for tools/scan_rawhide_state.py by @​kylerankin in #99
  • fix(ci): pin build toolchain containers by digest by @​kylerankin in #88
  • ci: repin Packit SRPM image to live digest by @​Danathar in #85
  • fix(buildroot): exclude legacy ruby default-gems from Hummingbird repo by @​mrbobbytables in #83
  • fix(tailscale): disable incompatible jsonv2 experiment by @​Danathar in #86
  • ci: publish factory repositories atomically after closure validation by @​kylerankin in #89
  • fix(gcc): drop gcc from the rebuild set, let Hummingbird supply it by @​kylerankin in #90
  • fix(batch): consolidate verified fixes for tools, ci checksum, rawhide import, and contract (#71, #72, #56, #57) by @​castrojo in #92
  • refactor(tools): wrap check_workflow_quoting and validate in testable functions by @​castrojo in #73
  • ci: make the compiler cache outlive the build container by @​hanthor in #33
  • fix: keep GSConnect loading on GNOME 48+ (clipboard final-type) by @​hanthor in #53
  • feat: compose a local Utah package repository by @​hanthor in #34
  • feat(packit): wire packit srpm into a real pilot job by @​castrojo in #41
  • fix(packit-sdk): use upstream quay.io/packit/packit instead of rebuilding by @​castrojo in #40
  • fix(packit-sdk): publish as ghcr.io/projectbluefin/packit-sdk by @​castrojo in #38
  • fix(packit-sdk): share DOCKER_CONFIG auth between podman and cosign by @​castrojo in #37
  • feat(packit-sdk): add pinned Packit+Mock build image by @​castrojo in #36
  • ci: build WebKitGTK as two shards on two runners by @​hanthor in #32
Dakota (GNOME OS Prototype)​

Contributors​

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Sources​

  • github-activity: available (2026-09-01 to 2026-09-30): source
  • github-lanes: available (2026-09-01 to 2026-09-30): source
  • github-releases: available (2026-09-01 to 2026-09-30): source
  • github-releases: available (2026-09-01 to 2026-09-30): source
  • github-releases: available (2026-09-01 to 2026-09-30): source
  • countme: unavailable — Countme active-system measurement is incomplete. (2026-09-01 to 2026-09-30): source
  • homebrew: available (2026-09-01 to 2026-09-30): source
  • flathub: available (2026-09-01 to 2026-09-30): source

Archaeopteryx August 2026

· 63 min read
Project Bluefin
Automation & Factory
Completed work
258
24 planned • 234 opportunistic
Contributors
16
0 first-time contributors

Activity

Completed work across the configured factory portfolio.

Daily merged pull requests

541merged pull requests
Source: GitHub GraphQL · August 2026 UTC (2026-08-01 to 2026-08-31)
Show the numbers
Daily merged pull requests data for August 2026 UTC (2026-08-01 to 2026-08-31)
LabelMerged pull requests
2026-08-0138
2026-08-0220
2026-08-0330
2026-08-0414
2026-08-0512
2026-08-0610
2026-08-07117
2026-08-0820
2026-08-0954
2026-08-108
2026-08-113
2026-08-125
2026-08-1310
2026-08-145
2026-08-1515
2026-08-1611
2026-08-177
2026-08-188
2026-08-195
2026-08-2014
2026-08-2121
2026-08-2217
2026-08-238
2026-08-2419
2026-08-257
2026-08-2614
2026-08-274
2026-08-2811
2026-08-2910
2026-08-3022
2026-08-312

Merged pull requests by repository

541merged pull requests
Source: GitHub GraphQL · August 2026 UTC (2026-08-01 to 2026-08-31)
Show the numbers
Merged pull requests by repository data for August 2026 UTC (2026-08-01 to 2026-08-31)
LabelMerged pull requests
projectbluefin/actions44
projectbluefin/bluefin155
projectbluefin/bluefin-lts38
projectbluefin/bonedigger3
projectbluefin/common50
projectbluefin/dakota92
projectbluefin/documentation18
projectbluefin/finpilot49
projectbluefin/iso1
projectbluefin/server4
projectbluefin/testsuite67
projectbluefin/utah6
projectbluefin/utah-packages14

Merged pull requests by label

435label assignments
Source: GitHub GraphQL · August 2026 UTC (2026-08-01 to 2026-08-31)
Show the numbers
Merged pull requests by label data for August 2026 UTC (2026-08-01 to 2026-08-31)
LabelLabel assignments
1-triage3
3-clanker-queue41
4-review38
agent/contributor2
automerge52
chore/deps52
cli/copilot2
contributor/castrojo2
dependencies2
hold13
javascript2
kde9
lgtm23
needs-human1
pr/needs-review67
quality3
release/ready63
renovate/high-risk16
renovate/low-risk3
runner9
security6
size:M1
size:S2
size:XL1
size:XS19
testing3

Stable portfolio

  • projectbluefin/bluefin
  • projectbluefin/bluefin-lts
  • projectbluefin/dakota
  • projectbluefin/testsuite
  • projectbluefin/server
  • projectbluefin/actions
  • projectbluefin/bonedigger
  • projectbluefin/aurorafin-shared
  • projectbluefin/common
  • projectbluefin/documentation
  • projectbluefin/branding
  • projectbluefin/iso
  • projectbluefin/finpilot

Experimental portfolio

  • projectbluefin/utah
  • projectbluefin/utah-packages

Delivery

Publishing-lane outcomes, cadence, duration, and release events.

Factory Publishing Lanes

Bluefin Testing
projectbluefin/bluefin
! 0%
0Passed
3Failed
65mMedian Run

Pending runs: 5

Run History
0Passed
0Failed
—Median Run

Pending runs: 30

Run History
71Passed
2Failed
39mMedian Run

Pending runs: 12

Run History

Publishing-lane cadence

123publish runs
Source: GitHub Actions · August 2026 UTC (2026-08-01 to 2026-08-31)
Show the numbers
Publishing-lane cadence data for August 2026 UTC (2026-08-01 to 2026-08-31)
LabelBluefin TestingBluefin LTSDakota
2026-08-01000
2026-08-02000
2026-08-03000
2026-08-04000
2026-08-05000
2026-08-06000
2026-08-07000
2026-08-08000
2026-08-09000
2026-08-10000
2026-08-11000
2026-08-12000
2026-08-13000
2026-08-14000
2026-08-15000
2026-08-16000
2026-08-17000
2026-08-18000
2026-08-19000
2026-08-20000
2026-08-21010
2026-08-22010
2026-08-23010
2026-08-24603
2026-08-25004
2026-08-26107
2026-08-27009
2026-08-280735
2026-08-290016
2026-08-301117
2026-08-31094

Release events

13release events
Source: GitHub Releases API · August 2026 UTC (2026-08-01 to 2026-08-31)
Show the numbers
Release events data for August 2026 UTC (2026-08-01 to 2026-08-31)
LabelRelease events
2026-08-071
2026-08-061
2026-08-051
2026-08-041
2026-08-031
2026-08-021
2026-08-011
2026-08-311
2026-08-281
2026-08-241
2026-08-211
2026-08-191
2026-08-151

Participation

Human and automated contributions with current contributors.

Human and automation activity

541pull requests
Source: GitHub GraphQL · August 2026 UTC (2026-08-01 to 2026-08-31)
Show the numbers
Human and automation activity data for August 2026 UTC (2026-08-01 to 2026-08-31)
LabelHumanAutomation
Report period258283

Ecosystem context

Public ecosystem measures labelled with their native source windows.

Countme active systems

3,920estimated weekly active systems
Source: Countme · Through 2026-07-27
Show the numbers
Countme active systems data for Through 2026-07-27
LabelActive systems
week-13561
week-23672
week-33606
week-43712
week-53780
week-63667
week-73584
week-83678
week-94195
week-103920

Homebrew tap additions

14package additions
Source: Homebrew taps · August 2026 UTC (2026-08-01 to 2026-08-31)
Show the numbers
Homebrew tap additions data for August 2026 UTC (2026-08-01 to 2026-08-31)
LabelAdditions
Production tap2
Experimental tap12
Flathub trendData unavailable: Flathub statistics could not be read.

Release details remain on the canonical /changelogs surface.

Completed work​

Dakota (GNOME OS Prototype)​

Contributors​

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Sources​

  • github-activity: available (2026-08-01 to 2026-08-31): source
  • github-lanes: available (2026-08-01 to 2026-08-31): source
  • github-releases: available (2026-08-01 to 2026-08-31): source
  • github-releases: available (2026-08-01 to 2026-08-31): source
  • github-releases: available (2026-08-01 to 2026-08-31): source
  • github-releases: available (2026-08-01 to 2026-08-31): source
  • github-releases: available (2026-08-01 to 2026-08-31): source
  • countme: available (2026-08-01 to 2026-08-31): source
  • homebrew: available (2026-08-01 to 2026-08-31): source
  • flathub: unavailable — Flathub statistics could not be read. (2026-08-01 to 2026-08-31): source

Jovial July 2026

· 47 min read
Project Bluefin
Automation & Factory
Completed work
126
19 planned • 107 opportunistic
Contributors
11
0 first-time contributors

Activity

Completed work across the configured factory portfolio.

Daily merged pull requests

553merged pull requests
Source: GitHub GraphQL · July 2026 UTC (2026-07-01 to 2026-07-31)
Show the numbers
Daily merged pull requests data for July 2026 UTC (2026-07-01 to 2026-07-31)
LabelMerged pull requests
2026-07-0126
2026-07-0213
2026-07-0312
2026-07-049
2026-07-058
2026-07-0614
2026-07-077
2026-07-0813
2026-07-098
2026-07-106
2026-07-1114
2026-07-129
2026-07-137
2026-07-1410
2026-07-154
2026-07-167
2026-07-176
2026-07-187
2026-07-1931
2026-07-2087
2026-07-2134
2026-07-2214
2026-07-2317
2026-07-2412
2026-07-2524
2026-07-2615
2026-07-2717
2026-07-2840
2026-07-2948
2026-07-3020
2026-07-3114

Merged pull requests by repository

553merged pull requests
Source: GitHub GraphQL · July 2026 UTC (2026-07-01 to 2026-07-31)
Show the numbers
Merged pull requests by repository data for July 2026 UTC (2026-07-01 to 2026-07-31)
LabelMerged pull requests
projectbluefin/actions38
projectbluefin/bluefin166
projectbluefin/bluefin-lts52
projectbluefin/common39
projectbluefin/dakota71
projectbluefin/documentation18
projectbluefin/finpilot72
projectbluefin/iso2
projectbluefin/server3
projectbluefin/testsuite92

Merged pull requests by label

525label assignments
Source: GitHub GraphQL · July 2026 UTC (2026-07-01 to 2026-07-31)
Show the numbers
Merged pull requests by label data for July 2026 UTC (2026-07-01 to 2026-07-31)
LabelLabel assignments
4-review471
agent/contributor1
automerge6
chore/deps6
cli/copilot1
contributor/castrojo1
kde3
pr/needs-review11
release/ready10
runner3
size:XS12

Stable portfolio

  • projectbluefin/bluefin
  • projectbluefin/bluefin-lts
  • projectbluefin/dakota
  • projectbluefin/testsuite
  • projectbluefin/server
  • projectbluefin/actions
  • projectbluefin/bonedigger
  • projectbluefin/aurorafin-shared
  • projectbluefin/common
  • projectbluefin/documentation
  • projectbluefin/branding
  • projectbluefin/iso
  • projectbluefin/finpilot

Experimental portfolio

  • projectbluefin/utah
  • projectbluefin/utah-packages

Delivery

Publishing-lane outcomes, cadence, duration, and release events.

Factory Publishing Lanes

Bluefin Testing
projectbluefin/bluefin
△ 87%
13Passed
2Failed
44mMedian Run

Pending runs: 4

Run History
19Passed
11Failed
23mMedian Run

Pending runs: 6

Run History
14Passed
8Failed
61mMedian Run

Pending runs: 15

Run History

Publishing-lane cadence

92publish runs
Source: GitHub Actions · July 2026 UTC (2026-07-01 to 2026-07-31)
Show the numbers
Publishing-lane cadence data for July 2026 UTC (2026-07-01 to 2026-07-31)
LabelBluefin TestingBluefin LTSDakota
2026-07-01000
2026-07-02000
2026-07-03000
2026-07-04000
2026-07-05000
2026-07-06000
2026-07-07000
2026-07-08000
2026-07-09000
2026-07-10000
2026-07-11000
2026-07-12000
2026-07-13000
2026-07-14000
2026-07-15000
2026-07-16000
2026-07-17000
2026-07-18000
2026-07-19000
2026-07-20000
2026-07-21000
2026-07-22000
2026-07-23000
2026-07-24000
2026-07-25000
2026-07-260180
2026-07-27030
2026-07-28100
2026-07-2913616
2026-07-303612
2026-07-31239

Release events

50release events
Source: GitHub Releases API · July 2026 UTC (2026-07-01 to 2026-07-31)
Show the numbers
Release events data for July 2026 UTC (2026-07-01 to 2026-07-31)
LabelRelease events
2026-07-201
2026-07-191
2026-07-181
2026-07-171
2026-07-161
2026-07-151
2026-07-141
2026-07-131
2026-07-121
2026-07-111
2026-07-101
2026-07-091
2026-07-081
2026-07-071
2026-07-061
2026-07-051
2026-07-041
2026-07-031
2026-07-021
2026-07-011
2026-07-311
2026-07-301
2026-07-291
2026-07-281
2026-07-271
2026-07-261
2026-07-251
2026-07-241
2026-07-231
2026-07-221
2026-07-211
2026-07-201
2026-07-191
2026-07-181
2026-07-171
2026-07-161
2026-07-151
2026-07-141
2026-07-131
2026-07-121
2026-07-111
2026-07-101
2026-07-091
2026-07-081
2026-07-071
2026-07-061
2026-07-311
2026-07-111
2026-07-201
2026-07-111

Participation

Human and automated contributions with current contributors.

Human and automation activity

553pull requests
Source: GitHub GraphQL · July 2026 UTC (2026-07-01 to 2026-07-31)
Show the numbers
Human and automation activity data for July 2026 UTC (2026-07-01 to 2026-07-31)
LabelHumanAutomation
Report period126427

Ecosystem context

Public ecosystem measures labelled with their native source windows.

Countme active systems

3,920estimated weekly active systems
Source: Countme · Through 2026-07-27
Show the numbers
Countme active systems data for Through 2026-07-27
LabelActive systems
week-13561
week-23672
week-33606
week-43712
week-53780
week-63667
week-73584
week-83678
week-94195
week-103920

Homebrew tap additions

3package additions
Source: Homebrew taps · July 2026 UTC (2026-07-01 to 2026-07-31)
Show the numbers
Homebrew tap additions data for July 2026 UTC (2026-07-01 to 2026-07-31)
LabelAdditions
Production tap1
Experimental tap2
Flathub trendData unavailable: Flathub statistics could not be read.

Release details remain on the canonical /changelogs surface.

Completed work​

Dakota (GNOME OS Prototype)​

Contributors​

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Sources​

  • github-activity: available (2026-07-01 to 2026-07-31): source
  • github-lanes: available (2026-07-01 to 2026-07-31): source
  • github-releases: available (2026-07-01 to 2026-07-31): source
  • github-releases: available (2026-07-01 to 2026-07-31): source
  • github-releases: available (2026-07-01 to 2026-07-31): source
  • github-releases: available (2026-07-01 to 2026-07-31): source
  • github-releases: available (2026-07-01 to 2026-07-31): source
  • countme: available (2026-07-01 to 2026-07-31): source
  • homebrew: available (2026-07-01 to 2026-07-31): source
  • flathub: unavailable — Flathub statistics could not be read. (2026-07-01 to 2026-07-31): source

Juravenator June 2026

· 165 min read
Project Bluefin
Automation & Factory
Total Items849 (152 planned, 697 opportunistic)
Automation39.4% (551 bot PRs out of 1400 total PRs)
Contributors16 total, 0 new

Desktop​

area/gnome area/aurora area/bling

GNOME desktop environment, Aurora variant (KDE), and terminal enhancements

Planned Work​

  • fix(motd): build umotd from source, move to shared layer, remove legacy ublue-motd by @​castrojo in #744
  • fix(ux): toggle-user-motd exits 0 when user declines and fix fall-through by @​castrojo in #662
  • fix(ujust,gnome): fix changelog repos + LTS support + BT auto-switch by @​castrojo in #543
  • fix(gnome): open documentation link as local PDF with browser fallback by @​castrojo in #637
  • test(bling): add bats coverage for bling.sh by @​castrojo in #629
  • test(scripts): add bats coverage for ublue-motd and profile.d scripts by @​castrojo in #628
  • chore: simplification audit — remove dead weight, harden edge cases by @​castrojo in #569
  • feat(ghostty): add GNOME profile for new users by @​castrojo in #548
  • feat(fonts): set Adwaita Mono as default monospace, move opendyslexic to Homebrew by @​castrojo in #547
  • feat: replace logomenu with custom-command-menu extension by @​castrojo in #514
  • fix: add help: URI handler to redirect to GNOME help website by @​castrojo in #509
  • fix(bling): skip brew bundle when bluefin-cli disables bling by @​hanthor in #362
  • feat: replace old MOTD with umotd by @​castrojo in #489
  • fix(#266): drop monospace-font-name override — use GNOME default (Adwaita Mono) by @​hanthor in #348
  • fix: remove Readymade installer from dock favorite-apps by @​hanthor in #353
  • feat: switch to ublue-os/aurorafin-shared by @​renner0e in #395

Opportunistic Work​

  • feat(brew): move CLI tools to brew-preinstall, remove starship image binary by @​castrojo in #554
  • fix(ci): remove stale che/nerd-fonts COPR check by @​castrojo in #502
  • feat(fonts): remove font RPMs and nerd-fonts COPR from OCI image by @​castrojo in #476
  • fix: migrate custom-command-menu dconf to command1..N tuple format by @​castrojo in #348
  • feat(build): add extension-builder stage to avoid build deps in final image by @​castrojo in #333
  • security: verify starship binary checksum before extraction (CWE-494) by @​castrojo in #173
  • fix(e2e): pin testsuite test_ref and restore shell defaults by @​castrojo in #337
  • feat(fonts): remove jetbrains-mono-fonts-all from OCI image by @​castrojo in #144
  • fix(packages): remove che:nerd-fonts COPR install by @​castrojo in #79
  • fix: migrate custom-command-menu dconf from entryrow* to command1..N tuples by @​castrojo in #76
  • fix(ci): use epel-10 chroot for jreilly1821/c10s-gnome-50 COPR URL by @​castrojo in #55
  • fix(hive): hero font rendering + more sparklines by @​castrojo in #919
Dakota (GNOME OS Prototype)​
  • feat(fonts): remove jetbrains-mono from image, manage via Homebrew by @​castrojo in #763
  • fix(gnome-ponytail-daemon): use systemd.bst for systemd.pc pkgconfig by @​castrojo in #725
  • feat: add gnome-ponytail-daemon to image by @​castrojo in #618

Development​

area/dx

Development tools and IDE integrations

Planned Work​

  • feat(dx): add tuna-os/Tavern flatpak to DX mode by @​castrojo in #792
  • feat(bluefinctl): wire ujust recipes to bctl + move caffeinate to profile.d by @​castrojo in #730
  • feat: rewrite toggle-devmode to be standalone DX mode by @​castrojo in #545
  • fix(dx): move vscode extension installs to Brewfile by @​castrojo in #635

Opportunistic Work​

Homebrew​

Package Updates​

Production Tap Experimental Tap

36 automated updates this month via GitHub Actions. Homebrew tap version bumps ensure Bluefin users always have access to the latest stable releases.

Quick Summary​
TapUpdates
production-tap30
experimental-tap6
View all production-tap updates (30)
PackageVersionsPR
lm-studio-linux0.4.16 → 0.4.18 (4 updates)#474
visual-studio-code-linux1.122.1 → 1.125.0 (4 updates)#465
antigravity-cli-linux1.0.4 → 1.0.9 (4 updates)#462
goose-linux1.37.0 → 1.39.0 (3 updates)#471
1password-gui-linux8.12.22 → 8.12.24 (2 updates)#461
rog-control-center-linux6.3.8#438
asusctl-linux6.3.8#436
framework-tool0.6.4#425
jetbrains-toolbox-linux3.5.0.84344#426
antigravity-linux2.0.6#429
antigravity-ide-linux2.0.4#432
View all experimental-tap updates (6)
PackageVersionsPR
zed-linux1.5.3 → 1.7.2 (4 updates)#452
emdash-linux1.1.27#434
craft-agents-linux0.10.1#437

Ecosystem​

area/brew area/bluespeed area/flatpak

Homebrew packages, AI/ML tools (Bluespeed), and Flatpak applications

Planned Work​

  • fix(nvidia): update system flatpaks when rebooting into new nvidia image by @​castrojo in #769
  • fix(flatpak): refresh appstream on every boot instead of firstboot only by @​castrojo in #767
  • feat(oem): add Framework brew hook for framework_tool and wallpapers by @​castrojo in #753
  • fix(brew): move bluefinctl.Brewfile to shared so all variants get bctl by @​castrojo in #750
  • feat(bazaar): add Collabora + Spelling Bee + Whisp, refresh curation by @​KiKaraage in #731
  • fix(brew): fix Homebrew 6.0 breakage across brew lifecycle by @​castrojo in #728
  • chore(brew): remove bbrew, bluefinctl replaces it by @​castrojo in #729
  • fix(brew): remove aichat + whisper-cpp, update agy + kimi-code by @​KiKaraage in #715
  • fix(brew): Unblock system-cli & CNCF brewfiles validation by @​KiKaraage in #721
  • feat(oem): move Framework/Ampere hardware hooks and icons to common by @​castrojo in #672
  • fix(brew): trust ublue-os taps for Homebrew 6.0 compatibility by @​castrojo in #695
  • feat(oem): add ASUS hardware auto-install hooks by @​castrojo in #692
  • test(brew): add brew-preinstall bats tests, codecov, and sync test recipe by @​castrojo in #693
  • feat(brew): add brew-preinstall service and system-cli.Brewfile by @​castrojo in #664
  • feat(just): add ujust install-asus for ASUS laptop tools by @​castrojo in #503

Opportunistic Work​

  • chore(oem): remove Framework brew hook now in common by @​castrojo in #670
  • feat(brew): move CLI tools to brew-preinstall by @​castrojo in #205
  • fix(cask): vsc-insiders versioning and vscodium linting by @​nklowns in #450
  • fix(casks): revert arch-conditional sha256 in on_linux block, as breaks brew bump by @​nikodunk in #424
Dakota (GNOME OS Prototype)​

System Services & Policies​

area/services area/policy

Systemd services and system-level policies

Planned Work​

Opportunistic Work​

  • fix(countme): replace broken rpm-ostree-countme with dnf5-based service by @​castrojo in #326
  • fix(services): enable rechunker-group-fix.service to prevent boot failure by @​castrojo in #133
Dakota (GNOME OS Prototype)​
  • feat(bluefin): add Incus daemon, systemd integration, and ujust recipes (2/2) by @​bketelsen in #1126
  • fix: wire firstboot-services.bst into deps.bst (#603) by @​hanthor in #608

Hardware​

area/hardware area/nvidia aarch64

Hardware support, drivers, NVIDIA GPU, and ARM64 architecture

Planned Work​

  • fix(framework): migrate hid_sensor_hub karg to bootc toml by @​castrojo in #793
  • test: add unit tests for check-oci-refs, bazaar-hook, hardware hooks, and nvidia-flatpak-sync by @​castrojo in #785
  • feat(oem): add WirePlumber hardware profiles for Framework Desktop AMD Ryzen AI Max 300 by @​castrojo in #760

Opportunistic Work​

  • fix(akmods): add --tmpdir /boot to dracut call to fix EXDEV on nvidia builds by @​castrojo in #586
  • feat(nvidia): install nvidia-container-toolkit-base and configure CDI by @​castrojo in #559
  • test(build): add BATS unit tests for 04-install-kernel-akmods.sh by @​castrojo in #548
  • fix(ci): rename nvidia-open flavor to nvidia by @​castrojo in #434
  • feat(build): conditional initramfs rebuild — skip dracut when kernel unchanged by @​castrojo in #362
  • fix(ci): gate nvidia-open promotion on e2e smoke test by @​castrojo in #296
  • feat: release notes redesign — variants table, dual kernel, richer components by @​castrojo in #376
  • feat(ci): rename bluefin-lts-nvidia → bluefin-lts-hwe-nvidia by @​castrojo in #293
  • fix(kernel-swap): run depmod after noscripts install to fix dracut modules.dep error by @​castrojo in #268
  • fix(kernel-swap): use tsflags=noscripts + explicit dracut to fix EXDEV by @​castrojo in #263
  • fix(kernel-swap): sync ENABLE_GDX → ENABLE_NVIDIA to unblock squash promotion by @​castrojo in #249
  • fix(kernel-swap): use dracut.conf.d instead of DRACUT_TMPDIR to fix HWE EXDEV by @​castrojo in #248
  • feat: rename bluefin-gdx to bluefin-lts-nvidia, add :stable alias by @​castrojo in #225
  • feat(nvidia): wire CDI configuration for rootless Podman GPU passthrough (GDX) by @​castrojo in #209
  • fix(build): re-add DRACUT_TMPDIR=/boot workaround for kernel-swap by @​castrojo in #174
  • fix(gdx): remove libnvidia-ml from explicit install by @​castrojo in #32
  • fix(driver-versions): guard against null pins in hweKernel pinned tooltip by @​castrojo in #933
  • feat(sparklines): shared Sparkline component + version trend sparklines on driver versions page by @​castrojo in #969
Dakota (GNOME OS Prototype)​
  • fix(nvidia): add OpenCL, VDPAU, and suspend/hibernate support by @​castrojo in #837
  • feat(nvidia): Upgrade drivers to 610.43.02 and ship nvidia-settings by @​dylanmtaylor in #643

Infrastructure​

area/iso area/upstream area/buildstream area/finpilot area/just area/testing

ISO images, upstream integration, build systems, and testing frameworks

Planned Work​

  • fix: changelog reads repo from image-info.json and add tests by @​castrojo in #791
  • fix(ci): remove continue-on-error incompatible with uses: in e2e.yml by @​castrojo in #787
  • ci(renovate): use --auto merge for merge queue on main by @​castrojo in #782
  • fix(bonedigger): persist local report copies before cleanup by @​castrojo in #748
  • ci: bump testsuite pin to 8d9ca0b (fix common E2E failures) by @​castrojo in #752
  • fix(ci): revert to secrets.MERGERAPTOR_APP_ID matching track-common.yml by @​castrojo in #741
  • fix(ci): mark notify-downstream continue-on-error by @​castrojo in #740
  • fix(ci): use vars.MERGERAPTOR_APP_ID and client-id in notify-downstream by @​castrojo in #739
  • fix(ci): remove owner+repositories from create-github-app-token in notify-downstream by @​castrojo in #738
  • fix(ci): use workflow_dispatch for bluefin/bluefin-lts common tracking by @​castrojo in #735
  • fix(ci): add continue-on-error to dispatch steps by @​castrojo in #734
  • fix(ci): dispatch common-updated to dakota after manifest publish by @​castrojo in #733
  • ci: bump testsuite pin for custom-command-list checks by @​castrojo in #719
  • chore: ponytail shrink — dedup Justfile loops, extract OCI ref check, combine test deps install by @​castrojo in #725
  • fix(ci): remove unnecessary mergeraptor token from renovate-automerge; fix vars/secrets inconsistency by @​castrojo in #709
  • fix(ci): make downstream dispatch non-blocking by @​castrojo in #698
  • fix(ci): login to GHCR before cosign signing in manifest job by @​castrojo in #697
  • fix(ci): promote rootless buildah image to root storage before push by @​castrojo in #696
  • fix(ci): pass mergeraptor token to reusable automerge workflow by @​castrojo in #694
  • fix(keybinding): restore Super+E to open Files (Nautilus) by @​castrojo in #690
  • fix(ci): update create-github-app-token to v3 in build.yml by @​castrojo in #688
  • feat(report): add crash detection, PII scrubbing, and journal.txt to ujust report by @​castrojo in #684
  • fix(tests): remove orphaned uutils.sh tests from test_profile_d.bats by @​castrojo in #674
  • fix(update): detect layered rpm-ostree packages and block with guidance by @​castrojo in #663
  • fix(ci): restore btrfs storage backend so push-image can find built image by @​castrojo in #661
  • fix(ci): skip CVE scan in merge queue to fix SARIF upload ref error by @​castrojo in #660
  • test: add unit tests for profile.d scripts, dynamic-wallpaper, and geoclue-latitude by @​castrojo in #648
  • test(scripts): add bats coverage for ublue-image-info.sh by @​castrojo in #640
  • fix(ci): modernize build pipeline, restore Dakota E2E, event-driven releases by @​castrojo in #598
  • ci(tests): upload pytest coverage report as workflow artifact by @​castrojo in #630
  • test(just): add bats coverage for update.just and toggle-updates recipes by @​castrojo in #626
  • ci(factory): notify downstream repos when common publishes by @​castrojo in #632
  • fix(build): P0 — export image to tar before scan-image, non-blocking by @​castrojo in #625
  • feat(ci): supply chain hardening — keyless cosign, Trivy CVE gate, SBOM, SLSA L2 (Phase 6) by @​castrojo in #595
  • chore(renovate): group projectbluefin/actions ref updates by @​castrojo in #593
  • ci: add git-cliff + e2e gate to monthly release workflow by @​castrojo in #592
  • test(quality): add bats coverage for ublue-fastfetch, wire into CI by @​castrojo in #579
  • test(quality): bats tests for rechunker-group-fix, ublue-bling-fastfetch, changelog.just + coverage gate by @​castrojo in #573
  • fix(ujust): route lts/lts-hwe tags to projectbluefin/bluefin-lts in changelogs by @​castrojo in #582
  • fix(ci): bump lifecycle-caller SHA to 3025b5d3 (matches bluefin-lts) by @​castrojo in #581
  • chore(lifecycle): move lifecycle.yml to projectbluefin/actions by @​castrojo in #574
  • feat(testing): expand shellcheck + add bats by @​castrojo in #568
  • fix(ci): expand shellcheck to all shell scripts in system_files/ by @​castrojo in #554
  • feat: setup VMs for people by @​castrojo in #544
  • fix(just): remove rebase-helper and ublue-rollback-helper by @​castrojo in #567
  • feat(ci): auto-merge on lgtm label via merge queue by @​castrojo in #555
  • feat(ujust): add toggle-testing command by @​castrojo in #535
  • feat(testing): add unit tests for hooks.py and shell scripts by @​castrojo in #540
  • fix(ci): remove emoji from promotion-candidate E2E failure issue title by @​castrojo in #539
  • docs: add upstream-contributions tracking document by @​castrojo in #527
  • feat(ci): add AI commit attribution trailer check to validate.yml by @​castrojo in #515
  • fix(ci): use client-id and fail fast on missing mergeraptor secrets by @​castrojo in #510
  • ci: bump testsuite SHA to e2b36dc (all env + ptyxis quarantine + screenshot fixes) by @​castrojo in #506
  • Update curated.yaml: added Ecosia browser in the browser section by @​k3nsh0 in #466
  • chore: add Renovate automerge rule for digest/pin/patch/minor updates by @​castrojo in #495
  • feat(just): add caffeinate recipe to prevent system sleep by @​hanthor in #351
  • fix(ci): close factory determinism gaps in pipeline workflows by @​castrojo in #500
  • fix(ci): switch e2e to projectbluefin images, re-enable pr-e2e gate by @​castrojo in #496
  • fix(just): return to ujust menu after bbrew and cncf submenus by @​hanthor in #357
  • fix(ci): add bonedigger lifecycle workflow by @​castrojo in #490
  • fix(ci): add missing RUN for umotd curl and fix pre-commit violations by @​castrojo in #492
  • fix: bug batch may23 — toggle-devmode tag, branding update by @​castrojo in #488
  • feat(just): ship ujust report via common with Renovate tracking by @​hanthor in #382
  • docs(qa): define hardware canary program for post-promotion testing by @​hanthor in #447
  • feat(qa): formalize hardware testing into factory loop — template, labels, policy by @​castrojo in #486
  • fix(deps): add Renovate config for GHA version tracking by @​castrojo in #485
  • feat(ujust): wire flutter devcontainer recipe import by @​castrojo in #356
  • feat(just): add check-sb-key recipe for Secure Boot status by @​hanthor in #370
  • docs(skills): add frontmatter and Trail of Bits CI integration by @​hanthor in #444
  • docs(skills): add frontmatter and Trail of Bits skill-improver CI by @​castrojo in #461
  • feat(ci): add common factory guardrails by @​castrojo in #480
  • fix(ci): add skill-drift.yml to detect stale agent skills by @​castrojo in #463
  • fix(deps): track OCI image digests in Containerfile with Renovate by @​castrojo in #479
  • fix(security): pin curl fetches in Containerfile to verified hashes by @​castrojo in #455
  • fix(ci): add bonedigger lifecycle workflow by @​castrojo in #453
  • fix(docs): add aurorafin-shared and bluefin-branding submodules to AGENTS.md layout by @​castrojo in #454
  • docs(skills): update e2e-ci, governance for P0 session 2026-06-03 by @​castrojo in #452
  • fix(ci): add hive-progress-sync workflow by @​castrojo in #450
  • feat(ci): add pre-merge e2e composition gate for PRs by @​castrojo in #451
  • fix(scripts): Check for rpm-ostreed.conf existence before grep by @​dylanmtaylor in #387

Opportunistic Work​

  • fix: use generate_sbom_inline for release notes to avoid testing build SBOM OOM by @​castrojo in #740
  • fix(ci): pass explicit credentials to reusable-pkg-cadence by @​castrojo in #737
  • fix(sbom): add --parallelism 1 to gen-sbom Syft invocation by @​castrojo in #736
  • fix(release): use build-time SBOM artifact instead of inline scan by @​castrojo in #730
  • fix(ci): exclude main-targeting PRs from remaining pull_request triggers by @​castrojo in #718
  • fix(ci): remove pull_request:main triggers that block merge queue by @​castrojo in #717
  • fix(release): pass fast_forward_sha to reusable promotion by @​castrojo in #713
  • ci(sync): remove BLUEFINBOT dependency from sync-main-to-testing by @​castrojo in #704
  • ci(promote): post validate status to unblock merge queue enqueue by @​castrojo in #703
  • ci: move to daily releases, remove approval gate by @​castrojo in #702
  • feat: release notes redesign — richer key components by @​castrojo in #701
  • feat(ci): enable E2E release gate for bluefin by @​castrojo in #693
  • fix(ci): correct execute-release commit message trigger pattern by @​castrojo in #686
  • fix(ci): add guard against undeclared gitlinks in PR validation by @​castrojo in #685
  • fix(agents): revert bluefin-lts branch target to testing by @​castrojo in #673
  • test(hooks): add edge-case coverage for setup hook scripts by @​castrojo in #669
  • fix(ci): revert to generate_sbom_inline for release notes by @​castrojo in #667
  • ci: align testsuite with lts; remove pr-smoke; restore libratbag by @​castrojo in #666
  • ci: remove post-testing E2E and issue spam; simplify gate by @​castrojo in #661
  • fix(ci): add variants table and mesa to release notes by @​castrojo in #657
  • chore(ci): pin testsuite e2e.yml to @v1 by @​castrojo in #654
  • ci(promote): weekly Tuesday 04:00 UTC release with conditional auto-merge by @​castrojo in #652
  • chore: remove OEM hooks/icons, drop opendyslexic, fix sync token, remove noisy e2e reporter by @​castrojo in #637
  • test: add BATS coverage for runtime hook scripts and TAP artifact upload by @​castrojo in #639
  • chore: remove OEM hooks now in common, drop opendyslexic RPM, fix sync token by @​castrojo in #614
  • fix(ci): switch testsuite ref to @main managed tag by @​castrojo in #629
  • fix(ci): add event-driven common digest tracking by @​castrojo in #619
  • fix(ci): trigger promote on PR review for zero-touch merge queue enqueue by @​castrojo in #612
  • fix(ci): disable e2e gate in promote workflow, fix post-testing-e2e branches filter by @​castrojo in #611
  • fix(ci): remove invalid timeout-minutes from post-testing-e2e run-e2e job by @​castrojo in #597
  • fix(ci): use inline cosign_identity_regexp to avoid startup_failure by @​castrojo in #596
  • fix(ci): fix execute-release trigger and remove unknown reusable inputs by @​castrojo in #594
  • ci: kick post-testing-e2e after push-image fix by @​castrojo in #591
  • fix(ci): switch bonedigger caller to @main — eliminate SHA drift by @​castrojo in #582
  • revert: remove invalid workflows permission scope by @​castrojo in #581
  • fix(ci): add workflows write permission to promote caller by @​castrojo in #580
  • fix(ci): enable merge queue enqueue for promote PR by @​castrojo in #579
  • fix(ci): remove cosign pre-check for common/brew; bump cosign to v3.1.1; fix Renovate SHA pins by @​castrojo in #575
  • fix(tests): sync unit tests with removed packages and scripts by @​castrojo in #573
  • chore: remove niche/redundant packages and COPR bloat from base image by @​castrojo in #558
  • fix(ci): use @v1 managed tag for all projectbluefin/actions refs by @​castrojo in #552
  • fix(verify): switch common image verification to keyless Sigstore OIDC by @​castrojo in #561
  • refactor(build): extract package arrays to TOML manifest by @​castrojo in #539
  • feat(cadence): add pkg-interval cadence tracking by @​castrojo in #537
  • chore(ci): use reusable-vulnerability-scan from actions by @​castrojo in #534
  • chore(ci): use reusable validate-renovate workflow from actions by @​castrojo in #533
  • chore(ci): remove dead lifecycle-caller.yml by @​castrojo in #532
  • test: add unit tests for 03-packages.sh and 05-override-install.sh by @​castrojo in #515
  • ci: trigger build — v1 tag fixed at 549249ef by @​castrojo in #529
  • ci: retrigger Testing Images after v1 tag fix by @​castrojo in #528
  • chore(ci): bump actions SHA pin to 549249e (scan-image severity_rank fix) by @​castrojo in #526
  • fix(ci): bump actions SHA pin to v1 (6c2278ad) — drop broken 355f162b by @​castrojo in #523
  • fix(ci): replace artifact-metadata with issues:write in Testing Images by @​castrojo in #514
  • fix(test): run all BATS unit tests in just test-unit by @​castrojo in #509
  • fix(ci): enable shellcheck coverage for system_files scripts by @​castrojo in #510
  • ci: consumer validation — Design C promotion PR + release notes overflow fix (actions 9e4ba16) by @​castrojo in #508
  • fix(ci): auto-close stale e2e failure issues on success by @​castrojo in #504
  • test(bats): add 00-image-info.sh unit tests by @​castrojo in #503
  • fix(ci): expand promote-testing-to-main permissions for reusable workflow by @​castrojo in #500
  • fix(ci): remove duplicate lifecycle caller, fix validate-renovate paths by @​castrojo in #490
  • chore(ci): remove per-repo cleanup workflows (centralized in actions) by @​castrojo in #499
  • feat(ci): add cliff.toml for structured changelog generation by @​castrojo in #498
  • fix(factory): pin @main floating refs to SHA and adopt thin-caller promote by @​castrojo in #496
  • ci(promote): replace 343-line promote workflow with thin caller — no more merge friction by @​castrojo in #486
  • fix(security): remove dead SCORECARD_TOKEN PAT comment by @​castrojo in #485
  • ci(consistency): pin @main reusable-workflow refs to SHA by @​castrojo in #484
  • chore(ci): bump projectbluefin/actions SHA pins to 3025b5d31f34 by @​castrojo in #483
  • chore(lifecycle): call lifecycle.yml from projectbluefin/actions by @​castrojo in #481
  • fix(ci): promotion gate never stalls — e2e fires on testing builds + feedback trigger by @​castrojo in #480
  • fix: port several fixes from ublue-os/bluefin by @​castrojo in #475
  • feat(build): remove rpm-ostree rechunk, centralize through actions chunka by @​castrojo in #473
  • fix(ci): add projectbluefin/ exemption to no-floating-action-tags; remove dead generate-release.yml by @​castrojo in #472
  • feat(ci): replace weekly-testing-promotion with PR-based release gate by @​castrojo in #470
  • chore: promote testing to main by @​castrojo in #468
  • fix(renovate): enable automerge + add image-versions.yml manager for common by @​castrojo in #467
  • chore: remove stable branch build workflow by @​castrojo in #461
  • chore: remove :latest, :stable-daily, and :gts streams by @​castrojo in #460
  • fix(ci): remove environment: production from generate-release by @​castrojo in #454
  • fix(ci): restore local generate-release.yml with inline SBOM support by @​castrojo in #451
  • fix(ci): bump reusable-release to d290241 — remove secrets: inherit by @​castrojo in #448
  • fix(ci): bump reusable-release to beb89cf — add empty secrets block by @​castrojo in #445
  • fix(ci): bump reusable-release SHA — drop reserved github_token secret by @​castrojo in #442
  • chore: remove rechunker-group-fix duplicate — now in common by @​castrojo in #439
  • ci: centralise Renovate and release workflows via projectbluefin/actions reusables by @​castrojo in #438
  • ci: remove duplicate scheduled-stable-release workflow by @​castrojo in #436
  • ci: add environment:production gate to weekly stable promotion by @​castrojo in #432
  • fix(ci): generate SBOM inline with Syft in generate-release by @​castrojo in #431
  • fix(ci): tolerate runner preemption and add skopeo fallback in vulnerability-scan by @​castrojo in #430
  • fix(ci): bump reusable-release SHA pin and add mergeability poll loop by @​castrojo in #429
  • ci: handle missing SBOM in generate-release gracefully by @​castrojo in #425
  • ci: use sigstore/cosign-installer in promotion instead of curl by @​castrojo in #422
  • ci: fix cosign cert identity regexp in promotion verify by @​castrojo in #417
  • ci: fix cosign cert identity regexp in promotion verify by @​castrojo in #414
  • ci: remove software suite from weekly promotion e2e by @​castrojo in #410
  • chore: promote testing to main by @​castrojo in #409
  • fix(ci): unblock stable release — disable lifecycle gate and fix vuln scan by @​castrojo in #406
  • fix(ci): allow auto/promote-testing-to-main through base-branch check by @​castrojo in #405
  • fix(ci): squash testing commits into single branch for clean promotion PRs by @​castrojo in #402
  • fix(ci): correct vulnerability-scan artifact pattern and bonedigger workflow ref by @​castrojo in #399
  • fix(ci): disable SBOM in sign-and-publish for testing stream by @​castrojo in #395
  • fix(ci): skip SBOM generation for testing stream to unblock builds by @​castrojo in #393
  • feat(ci): add sync-main-to-testing workflow by @​castrojo in #389
  • fix: centralize scheduled stable release workflow by @​castrojo in #387
  • fix(ci): clean up promotion workflows — fix artifact name, stop comment spam, auto-close issues by @​castrojo in #385
  • fix(ci): update COPR health monitor to check uupd instead of ublue-update by @​castrojo in #381
  • ci: align all reusable-build pins to actions v1 (trivy oci-archive fix) by @​castrojo in #377
  • test: pin build-image-testing to actions fix/trivy-oci-archive-scan SHA by @​castrojo in #374
  • fix: retain default tag in tag-images so vulnerability scan can find the image by @​castrojo in #372
  • feat: add weekly gated stable release on Tuesday by @​castrojo in #371
  • feat: migrate generate-release to bootc-build/create-release by @​castrojo in #370
  • test(build): add bats unit tests for 17-cleanup.sh and 18-workarounds.sh by @​castrojo in #365
  • chore: remove stale 60-custom.just report recipe by @​castrojo in #367
  • ci: gate :testing tag behind post-build e2e (#518) by @​castrojo in #369
  • test(build): add bats unit tests for clean-stage.sh by @​castrojo in #361
  • test(build): add bats unit tests for disable-repos.sh by @​castrojo in #360
  • fix(ci): handle FORBIDDEN gracefully in promote-testing-to-main enqueue step by @​castrojo in #358
  • fix(ci): replace auto-merge with enqueuePullRequest for main merge queue by @​castrojo in #355
  • fix(ci): use GITHUB_TOKEN directly in promote-testing-to-main — remove GitHub App token by @​castrojo in #338
  • fix(ci): pin reusable-build to @v1 SHA — retire @fix/sha-skew validation ref by @​castrojo in #353
  • chore(ci): validate actions reusable-build SHA normalization by @​castrojo in #342
  • feat(ci): enforce PR base branch — require testing, block PRs targeting main by @​castrojo in #349
  • ci: validate shared generate-release-notes action by @​castrojo in #344
  • test(ci): validate actions pre-commit pinning by @​castrojo in #345
  • chore(ci): validate actions timeout pin by @​castrojo in #341
  • test(ci): run all bats unit tests in PR validation by @​castrojo in #350
  • chore(labels): retire type/* labels in issue templates by @​castrojo in #347
  • chore: promote testing to main by @​castrojo in #337
  • fix: add promotion conflict reporting and main PR builds by @​castrojo in #334
  • chore: switch lifecycle automation to common-owned workflow by @​castrojo in #332
  • ci: bump testsuite SHA to e2b36dc (all env + ptyxis quarantine + screenshot fixes) by @​castrojo in #315
  • test(build): add bats unit tests for validate-repos.sh and copr-helpers.sh by @​castrojo in #318
  • fix(ci): update COPR health monitor for new API response format by @​castrojo in #316
  • fix: use app token for promotion PRs by @​castrojo in #328
  • ci: add local Renovate runner by @​castrojo in #324
  • feat: generate GitHub release after weekly testing promotion by @​castrojo in #325
  • ci: automate testing→main branch promotion by @​castrojo in #326
  • feat(quality): add bats unit tests for package-lib.sh by @​castrojo in #298
  • fix(release): handle bootstrap case when no previous release tag exists [backport #264] by @​castrojo in #265
  • fix(ci): handle new GHCR repos in skopeo list-tags version probe by @​castrojo in #281
  • fix(ci): scope workflow permissions to job level, drop secrets:inherit by @​castrojo in #297
  • fix(ci): harden weekly testing promotion by @​castrojo in #294
  • fix(just): stop bootstrapping cosign from unverified container by @​castrojo in #295
  • fix(ci): centralize testsuite pin in pr-validation + pin pre-commit version by @​castrojo in #292
  • chore: automerge Renovate digest/pin/patch/minor updates when CI passes by @​castrojo in #286
  • fix(ci): resolve TOCTOU vuln scan, PR image namespace, testsuite SHA drift by @​castrojo in #250
  • fix(ci): centralize testsuite SHA pin through run-testsuite.yml by @​castrojo in #262
  • fix(ci): scope weekly-promotion permissions and drop secrets:inherit from build callers by @​castrojo in #255
  • fix(release): handle bootstrap case when no previous release tag exists by @​castrojo in #264
  • ci: remove E2E smoke test from PR validation by @​castrojo in #285
  • fix(security): make base image cosign verify fatal on failure by @​castrojo in #280
  • fix(ci): add hive-progress-sync workflow by @​castrojo in #279
  • chore: bump upgrade-test.yml SHA to 0527fe28 by @​castrojo in #276
  • feat(ci): wire lifecycle upgrade-test into post-build e2e gate by @​castrojo in #275
  • fix(ci): replace inline pr-validation steps with validate-pr composite action by @​castrojo in #271
  • fix(security): make base image cosign verification fatal in CI by @​castrojo in #244
  • ci(hive): add hive-progress-sync workflow by @​castrojo in #243
  • feat(ci): add skill-drift wrapper workflow by @​castrojo in #239
  • feat: add production environment gate to promotion workflow by @​castrojo in #237
  • chore: update centralized actions ref to @v1 by @​castrojo in #234
  • feat: port to centralized projectbluefin/actions reusable workflow by @​castrojo in #232
  • feat(ci): remove bluefin-dx image variant (retiring) by @​castrojo in #208
  • feat(build): split monolithic RUN into cacheable stages for build efficiency by @​castrojo in #198
  • feat(ci): enable previous-build delta for rechunking by @​castrojo in #195
  • security: pin base image by digest to prevent TOCTOU (CWE-494) by @​castrojo in #191
  • fix(build): remove version tag from cache-from/cache-to refs (Podman 5.x compat) by @​castrojo in #196
  • feat(ci): auto-file e2e test failures as GitHub issues by @​castrojo in #192
  • feat(build): tag large unpackaged assets with user.component for rechunking by @​castrojo in #190
  • feat(ci): add preflight job and rechunk metadata verification by @​castrojo in #189
  • feat(build): switch SBOM generation from podman-export to oci-dir scan by @​castrojo in #188
  • feat(ci): add Grype vulnerability scanning with SARIF upload by @​castrojo in #179
  • refactor(ci): extract reusable run-testsuite.yml wrapper workflow by @​castrojo in #185
  • refactor(ci): extract composite action for checkout+just bootstrap by @​castrojo in #184
  • feat(ci): add PR smoke test gate and Renovate risk-tier automerge by @​castrojo in #187
  • feat(ci): implement registry-side layer cache with --cache-from/--cache-to by @​castrojo in #183
  • feat(ci): add COPR repository health monitoring by @​castrojo in #182
  • security: vendor cosign public keys instead of fetching from mutable URLs by @​castrojo in #180
  • chore: remove dead rpm-ostreed.conf and migrate kargs to grubby by @​castrojo in #178
  • fix(ci): prevent /e2e dispatch from overwriting canonical :testing tags by @​castrojo in #177
  • refactor: read common/brew image refs from image-versions.yml at build time by @​castrojo in #176
  • fix(ci): retag tested digest instead of rebuilding for weekly promotion by @​castrojo in #175
  • fix(ci): upload SBOM as GitHub Actions artifact for release workflow by @​castrojo in #174
  • security: restrict GITHUB_TOKEN to GitHub-owned hosts in ghcurl (CWE-201) by @​castrojo in #172
  • fix(ci): pass explicit credentials to reusable-pkg-cadence by @​castrojo in #387
  • fix(release): use build-time SBOM artifact instead of inline scan by @​castrojo in #385
  • fix(ci): add statuses:write permission to promote workflow by @​castrojo in #384
  • fix(release): pass fast_forward_sha to reusable promotion by @​castrojo in #381
  • fix(ci): guard post-release-variants against duplicate prepend by @​castrojo in #379
  • ci: move to daily releases (04:00 UTC) by @​castrojo in #377
  • feat(ci): add E2E gate to post-merge workflow, enable run_e2e for lts by @​castrojo in #369
  • fix(ci): pin bonedigger lifecycle.yml SHA instead of floating @v1 tag by @​castrojo in #365
  • fix(ci): use build-time SBOM artifact to avoid 2GB inline extraction limit by @​castrojo in #363
  • fix(ci): update pkg-cadence comment :lts→:stable by @​castrojo in #353
  • fix(ci): guard publish_stream_tag on PR builds; drop main from pr-testsuite by @​castrojo in #352
  • ci: align testing-first branch model and drop :lts for :stable by @​castrojo in #351
  • ci: remove post-merge E2E gate — promote :testing on successful build by @​castrojo in #342
  • fix(ci): restore bonedigger @v1 — tag now exists in projectbluefin/bonedigger by @​castrojo in #341
  • fix(ci): revert bonedigger ref to @main — @v1 tag does not exist yet by @​castrojo in #340
  • ci(e2e): fix trailing blank line in post-merge-e2e.yml by @​castrojo in #339
  • ci(e2e): remove auto-issue-filing on E2E failure by @​castrojo in #338
  • chore(renovate): exclude projectbluefin/testsuite from SHA pinning by @​castrojo in #336
  • ci(promote): fully automate weekly lts release — no human approval required by @​castrojo in #330
  • ci(testsuite): switch run-testsuite.yml from SHA pin to @v1 managed tag by @​castrojo in #328
  • ci(pre-commit): exempt projectbluefin/testsuite from floating-tag check by @​castrojo in #327
  • chore(ci): pin testsuite e2e.yml to @v1 by @​castrojo in #322
  • ci(promote): weekly Thursday 04:00 UTC release with conditional auto-merge by @​castrojo in #320
  • fix(ci): exempt projectbluefin/testsuite from floating-tag hook by @​castrojo in #312
  • fix(ci): switch testsuite ref to @main managed tag; bonedigger @main → @v1 by @​castrojo in #311
  • fix(ci): add event-driven common digest tracking by @​castrojo in #301
  • fix(ci): revert bonedigger ref to @main — @v1 tag does not exist by @​castrojo in #295
  • feat(ci): add bonedigger lifecycle workflow by @​castrojo in #243
  • chore(oem): remove Framework hooks now shipped by common by @​castrojo in #220
  • revert: remove invalid workflows permission scope by @​castrojo in #238
  • fix(ci): add workflows write permission to promote caller by @​castrojo in #237
  • test: add pytest coverage for changelogs.py by @​castrojo in #222
  • test: add bats unit tests for build scripts by @​castrojo in #221
  • fix(ci): remove racing push trigger, fix stale squash-merge rules by @​castrojo in #236
  • fix(ci): align renovate and promote workflows with factory pattern by @​castrojo in #218
  • fix(ci): pass base_branch: main to renovate-automerge reusable by @​castrojo in #216
  • fix(ci): disable Renovate SHA-pinning for projectbluefin/ actions by @​castrojo in #215
  • fix(ci): replace stale testsuite SHA pin with @main by @​castrojo in #211
  • fix(ci): use @v1 managed tag for all projectbluefin/actions refs by @​castrojo in #204
  • fix(ci): bump actions SHA to e6aaccdf (fix sed title-case in render step) by @​castrojo in #200
  • fix(ci): bump actions SHA to 26a4fb2 (squash -X theirs, no conflict issues) by @​castrojo in #198
  • fix(ci): use printf to build variants table in execute-release by @​castrojo in #194
  • fix(ci): report correct image (bluefin-lts-hwe:testing) in e2e failure issues by @​castrojo in #193
  • fix(ci): add missing end-of-file newline to pkg JSON files by @​castrojo in #196
  • chore(ci): use reusable-vulnerability-scan from actions by @​castrojo in #179
  • chore(ci): use reusable validate-renovate workflow from actions by @​castrojo in #178
  • chore(ci): pin floating @v1 tags to SHA in renovate-automerge and release-reminder by @​castrojo in #177
  • refactor(build): extract package arrays to TOML manifest by @​castrojo in #182
  • feat(cadence): add pkg-interval cadence tracking by @​castrojo in #181
  • fix(ci): bump actions SHA pins to @v1 and skip rhc postun in container build by @​castrojo in #173
  • fix(ci): fix dead workflow_run triggers on promote-testing-to-main by @​castrojo in #169
  • fix(ci): normalize action SHAs, add renovate, remove vestigial workflows by @​castrojo in #164
  • feat(ci): add weekly standalone vulnerability scan by @​castrojo in #168
  • feat(ci): add cliff.toml for structured changelog generation by @​castrojo in #167
  • fix(ci): trigger post-merge-e2e on HWE build, not regular build by @​castrojo in #163
  • fix(ci): expand caller permissions to fix promote startup_failure by @​castrojo in #162
  • ci(promote): replace 354-line promote workflow with thin caller — no more merge friction by @​castrojo in #161
  • ci(consistency): pin @main reusable-workflow refs to SHA by @​castrojo in #159
  • fix(ci): set Renovate baseBranchPatterns to testing by @​castrojo in #158
  • chore(ci): bump projectbluefin/actions SHA pins to 3025b5d31f34 by @​castrojo in #157
  • chore(lifecycle): call lifecycle.yml from projectbluefin/actions by @​castrojo in #156
  • fix(ci): promotion gate never stalls — e2e fires on testing builds + feedback trigger by @​castrojo in #155
  • fix(ci): remove COPY of nonexistent system_files_overrides/base/ by @​castrojo in #154
  • fix(ci): bump testsuite SHA to include udev-settle mask (PR #419) by @​castrojo in #148
  • fix(ci): add actions: read to release-notes job to unblock startup_failure by @​castrojo in #141
  • fix(ci): add check-trigger regular job before reusable workflow calls by @​castrojo in #140
  • fix(ci): grant id-token at workflow level to unblock startup_failure by @​castrojo in #139
  • fix(ci): fix YAML syntax error in execute-release if condition by @​castrojo in #138
  • fix(ci): change execute-release trigger from pull_request to push by @​castrojo in #137
  • feat(build): remove vendored Containerfile.splitter, centralize through actions chunka by @​castrojo in #132
  • fix(ci): add mergeability poll loop and close-failure-issue job to promote workflow by @​castrojo in #129
  • feat(ci): replace scheduled-lts-release with PR-based release gate by @​castrojo in #128
  • fix(deps): bump common + fix Renovate tracking for critical fixes by @​castrojo in #123
  • fix(ci): bump projectbluefin/actions SHA to fcd2a6b — fix build failure by @​castrojo in #120
  • ci: centralise Renovate and release workflows via projectbluefin/actions reusables by @​castrojo in #118
  • ci: fix branch sync direction, Renovate flow, and promotion pipeline by @​castrojo in #117
  • ci: scope PR E2E smoke to image content changes only by @​castrojo in #115
  • ci: add environment:production gate and fix renovate automerge by @​castrojo in #114
  • fix(ci): restore blocking sign-and-publish, unblock Renovate auto-merge, add pre-merge e2e gate by @​castrojo in #111
  • fix(ci): skip lts fast-forward when sync-main-to-lts already merged it by @​castrojo in #107
  • fix(ci): use always() && needs.X.result on post-promote jobs by @​castrojo in #106
  • fix(ci): add explicit if conditions to update-lts-branch and generate-release by @​castrojo in #104
  • fix(ci): use lts repo main SHA for promote guard and branch update by @​castrojo in #103
  • fix(ci): make upgrade-test non-blocking until testsuite registry check fixed by @​castrojo in #102
  • fix(ci): use cosign v3 installer in verify-signatures job by @​castrojo in #101
  • fix(ci): broaden cosign cert-identity-regexp to include actions repo by @​castrojo in #100
  • feat(ci): replace scheduled rebuild with digest promotion + 7-day floor by @​castrojo in #92
  • fix(ci): use PACKAGES_TOKEN for GHCR login in verify-signatures by @​castrojo in #98
  • ci: restore sync-main-to-lts workflow by @​castrojo in #97
  • chore: promote main → lts (2026-06-06) by @​castrojo in #95
  • fix(ci): bump actions SHA — sign-and-publish non-blocking by @​castrojo in #91
  • fix: chown sbom_out after sudo gen-sbom so sign-and-publish can write by @​castrojo in #90
  • fix(hwe,gdx): dynamically follow Fedora CoreOS stable instead of pinned F43 by @​castrojo in #89
  • fix(ci): bump actions SHA — sudo podman inspect fix by @​castrojo in #88
  • fix(ci): bump actions SHA — PACKAGES_TOKEN + localhost image refs by @​castrojo in #86
  • fix(ci): bump actions SHA — disable Trivy scan blocking release by @​castrojo in #85
  • feat(ci): add sync-main-to-testing workflow by @​castrojo in #84
  • fix(ci): bump actions SHA — docker format for Trivy archive scan by @​castrojo in #83
  • fix(ci): bump projectbluefin/actions SHA to fix Trivy OCI scan by @​castrojo in #82
  • fix(justfile): use oci-dir export for SBOM generation by @​castrojo in #81
  • fix(ci): remove stale bonedigger.yml duplicate by @​castrojo in #78
  • ci: migrate to shared reusable-build.yml; rename images to bluefin-lts/bluefin-gdx by @​castrojo in #73
  • fix: add LTS release failure guards by @​castrojo in #70
  • feat: parallelize LTS build watching (~5h → ~90min) by @​castrojo in #71
  • chore: switch lifecycle automation to common-owned workflow by @​castrojo in #69
  • chore: add explicit renovate.json extending org config by @​castrojo in #67
  • ci: bump testsuite SHA to e2b36dc (all env + ptyxis quarantine + screenshot fixes) by @​castrojo in #63
  • fix: add failure issue auto-filing to LTS post-merge e2e by @​castrojo in #66
  • fix: wait for HWE builds and verify cosign signatures in scheduled LTS release by @​castrojo in #65
  • fix: remove trailing whitespace from Containerfile by @​castrojo in #59
  • chore(ci): add bonedigger.yml lifecycle workflow by @​hanthor in #40
  • feat(ci): upgrade podman via resolute, double-push, --compression-level 3, bootc unified storage by @​castrojo in #19
  • feat(qa): add post-merge E2E for bluefin-lts by @​hanthor in #41
  • feat(ci): migrate to shared projectbluefin/actions by @​castrojo in #46
  • fix(ci): add hive-progress-sync workflow by @​castrojo in #44
  • feat(ci): adopt validate-pr and detect-changes from projectbluefin/actions by @​castrojo in #37
  • ci(hive): add hive-progress-sync workflow by @​castrojo in #28
  • feat: migrate reusable-build-image.yml to projectbluefin/actions shared actions by @​castrojo in #23
  • chore(lockdown): add CODEOWNERS per-path entries and mandatory gates (Track C-2) by @​castrojo in #26
  • feat(ci): production environment gate on LTS release workflow (Track C-1) by @​castrojo in #25
  • feat(ci): add skill-drift wrapper workflow by @​castrojo in #24
  • Add formula and cask builder by @​jumpyvi in #459
  • ci: fix fw-fanctrl python 3.14 bundle by @​ahmedadan in #461
  • fix(hive): bypass CORS by fetching registry data at build time by @​castrojo in #956
  • feat(hive): fetch all GitHub Search data at build time using GITHUB_TOKEN by @​castrojo in #958
  • feat(dakota): add Alpha 3 ISO to downloads testing page by @​castrojo in #931
  • feat(hive): org-wide contributor wall + history trends pipeline by @​castrojo in #923
  • ci: remove Playwright E2E tests entirely by @​castrojo in #914
  • Revert "feat: Bluefin bootc-ISO builder (bootcDirect + containers-storage, 8 GB)" by @​hanthor in #66
  • feat: Bluefin bootc-ISO builder (bootcDirect + containers-storage, 8 GB) by @​hanthor in #61
  • chore: add CODEOWNERS by @​castrojo in #60
  • refactor: modernize template to projectbluefin/actions composite workflow pattern by @​Siddhj2206 in #94
  • fix(ci): cosign digest only by @​scrocquesel in #58
Dakota (GNOME OS Prototype)​
  • feat(bluefin): add Incus native library elements (1/2) by @​bketelsen in #1125
  • fix(bluefin-cli): correct sysupdate path, tar import, and mount masking by @​castrojo in #1108
  • Add snapd by @​valentindavid in #1117
  • fix(ci): trigger renovate automerge from validate by @​castrojo in #1122
  • chore(deps): batch common + sudo-rs updates by @​castrojo in #1116
  • ci(build-aarch64): remove push trigger (next) by @​castrojo in #1107
  • ci(build-aarch64): remove push trigger — workflow_run and dispatch only by @​castrojo in #1106
  • ci(next): sync CI fixes from testing — push config, exclude merge_group, aarch64 paths by @​castrojo in #1104
  • ci(build-aarch64): exclude .github/actions/** from push trigger by @​castrojo in #1103
  • fix(ci): generate push config so bst artifact push actually warms CAS by @​castrojo in #1102
  • ci(build): switch to strict daily build model, drop push triggers by @​castrojo in #1099
  • ci(build): disable CAS push/remote-exec — server still unstable by @​castrojo in #1098
  • fix(ci): remove undeclared build_run_id input causing execute-release startup_failure by @​castrojo in #1096
  • ci(build): disable remote execution to fix CAS workaround by @​castrojo in #1093
  • ci(build): disable remote CAS push to unblock builds by @​castrojo in #1092
  • fix(ci): remove ${{ }} wrapper from post-release-verify if condition by @​castrojo in #1091
  • fix(ci): replace !inputs.dry_run with inputs.dry_run != true to avoid startup_failure by @​castrojo in #1089
  • fix(release): harden OCI-native promotion (supply chain + ARM signing + post-release cleanup + rollback) by @​castrojo in #1086
  • fix(build-aarch64): resolve correct SHA in workflow_run context by @​castrojo in #1084
  • fix(publish): only move stream tags from trunk builds, not merge queue by @​castrojo in #1085
  • fix(release): pin promotion to immutable SHA; guard testing SHA drift by @​castrojo in #1083
  • ci(build): add daily 13:00 schedule; trigger ARM from publish by @​castrojo in #1079
  • ci: delete workflows obsoleted by OCI-native promotion by @​castrojo in #1078
  • chore(ci): delete release-reminder workflow by @​castrojo in #1075
  • ci(release): adopt OCI-native daily promotion in execute-release by @​castrojo in #1077
  • ci(next): skip nightly dispatch if next build already running by @​castrojo in #1076
  • ci: retarget workflows from main to testing by @​castrojo in #1080
  • feat(audio): add lsp-plugins-lv2 for PipeWire DSP filter-chain by @​castrojo in #974
  • fix(ci): add statuses:write permission to promote caller by @​castrojo in #1070
  • fix(ci): guard count-elements step against bst show failures by @​castrojo in #1069
  • ci(build): enforce serial BST builds — max-parallel: 1 by @​castrojo in #1068
  • feat: add .github/release.yml for release notes categorization by @​castrojo in #1065
  • fix(ci): add workflows permission to renovate-automerge by @​castrojo in #1054
  • fix(ci): run validate job on merge_group events by @​castrojo in #1052
  • ci(aarch64): standalone build workflow, decoupled from x86_64 release by @​castrojo in #1051
  • fix(bst-progress): correct action priority dedup and count step exit handling by @​castrojo in #1049
  • ci(build): live BST progress monitor with cache hit/miss stats by @​castrojo in #1048
  • ci(aarch64): standalone build workflow, decoupled from x86_64 release by @​castrojo in #1045
  • chore(just): remove just-overrides, use common recipes directly by @​castrojo in #1035
  • fix(ci): pin bonedigger lifecycle.yml SHA instead of floating @v1 tag by @​castrojo in #1037
  • ci(cache-warm): add parallel aarch64 warm-cache job by @​castrojo in #1036
  • fix(ci): restore next branch workflows after main merge by @​castrojo in #1032
  • fix(ci): remove dangling .workflow-scripts submodule, add PR guard by @​castrojo in #1030
  • fix(ci): remove validate from testing branch protection to unblock sync by @​castrojo in #1014
  • ci(triage): merge on maintainer ack — no more stuck approved PRs by @​castrojo in #1011
  • ci: use @v1 for all projectbluefin/actions refs, stop renovate managing org actions by @​castrojo in #1010
  • feat(countme): report to Fedora countme infrastructure by @​castrojo in #1003
  • feat(deps): add flatpak-builder by @​castrojo in #993
  • fix(ci): allow all testing-targeted PRs in pr-triage gate by @​castrojo in #1009
  • fix(ci): renovate automerge base_branch testing (testing-first model) by @​castrojo in #1008
  • fix(ci): restore :testing publishing — independent branch, paths-ignore by @​castrojo in #1004
  • fix(ci): use BST SBOM for release notes, add variants table by @​castrojo in #998
  • ci(build): drop push-to-testing trigger — eliminates redundant 5h build by @​castrojo in #997
  • chore(ci): pin testsuite e2e.yml to @v1 by @​castrojo in #994
  • ci(promote): weekly Tuesday 04:00 UTC release with conditional auto-merge by @​castrojo in #991
  • fix(motd): add missing env.sh, remove duplicate umotd.sh profile hook by @​castrojo in #992
  • fix(ci): remove persist-credentials: false from sync workflow by @​castrojo in #990
  • ci: add sync-next-from-main workflow to main branch by @​castrojo in #987
  • fix(ci): fix automerge and auto-update for mergeraptor dep PRs by @​castrojo in #989
  • chore(next): sync from main — bring next up to date with all main changes by @​castrojo in #986
  • feat(next): update bootc to v1.16.1 matching main branch by @​castrojo in #983
  • fix(ci): exclude promotion PR from pr-autoupdate by @​castrojo in #971
  • fix(ci): exempt projectbluefin/testsuite from floating-tag hook by @​castrojo in #959
  • fix(ci): switch testsuite ref to @main managed tag; bonedigger @main → @v1 by @​castrojo in #958
  • fix(ci): make common tracking event-driven, CI-gated via testing by @​castrojo in #942
  • fix(ci): align execute-release trigger with actual promotion commit format by @​castrojo in #932
  • fix(ci): guard squash branch deletion when promotion PR is open by @​castrojo in #931
  • feat(ci): nightly next branch build at 03:00 UTC by @​castrojo in #926
  • fix(ci): enable auto-merge silently on maintainer approval by @​castrojo in #927
  • fix(ci): drop GitHub App token from sync-main-to-testing by @​castrojo in #922
  • fix(ci): wait for multi-user.target before health check by @​castrojo in #919
  • fix(ci): check gdm not-failed instead of is-active in headless QEMU by @​castrojo in #918
  • fix(ci): find OSTREE_PATH from boot.1 tree instead of BLS entries by @​castrojo in #915
  • fix(ci): add --bootloader none and --ipc=host to boot-check by @​castrojo in #912
  • fix(ci): use ext4 for boot-check; add xfsprogs to bootc runtime deps by @​castrojo in #909
  • fix(ci): unblock dakota publish pipeline by @​castrojo in #908
  • fix(ci): unstick dakota publish pipeline by @​castrojo in #899
  • fix(ci): pre-partition disk before bootc to avoid udev race on node creation by @​castrojo in #889
  • fix(ci): use losetup -P (PARTSCAN) so bootc can find partition nodes by @​castrojo in #883
  • fix(ci): also exempt projectbluefin/bonedigger from floating-tag hook by @​castrojo in #878
  • fix(ci): switch bonedigger caller to @main — eliminate SHA drift by @​castrojo in #875
  • fix(ci): add workflows write permission; unpin reusable SHA to @v1 by @​castrojo in #871
  • revert: remove invalid workflows permission scope by @​castrojo in #872
  • fix(ci): pre-create host loop device for boot-check; drop --via-loopback by @​castrojo in #864
  • ci(pr): enable auto-merge after approval; add pr-autoupdate workflow by @​castrojo in #858
  • fix(bootc): require xfs root filesystem in install config by @​castrojo in #859
  • fix(ci): read OSTREE_PATH from BLS entry; detach loop device by @​castrojo in #852
  • ci(publish): make smoke gate observational, not a promote blocker by @​castrojo in #849
  • fix(sbom): mkdir -p pip cache dir before podman bind-mount by @​castrojo in #848
  • fix(export): revert buildah mount+commit to podman build --squash-all by @​castrojo in #846
  • chore: remove standalone report recipe and OTel config duplicate by @​castrojo in #845
  • ci(publish): speed up pipeline — skopeo promote, job split, buildah export, pip cache by @​castrojo in #832
  • fix(ci): use @v1 managed tag for all projectbluefin/actions refs by @​castrojo in #830
  • fix(ci): bump reusable-renovate-automerge SHA — drop --auto by @​castrojo in #829
  • ci: restore testing→main promotion pipeline — parity with bluefin by @​castrojo in #822
  • chore(deps): update projectbluefin/actions SHA pins to c4e9e551 by @​castrojo in #823
  • fix(ci): use direct merge for auto-merge group — bypass not honoured by --auto by @​castrojo in #820
  • fix(ci): revert promote SHA to 6c2278 — release-gate@5f8abb not found by @​castrojo in #819
  • fix(ci): add missing packages: read and actions: read to promote workflow by @​castrojo in #817
  • chore(ci): use reusable-vulnerability-scan from actions by @​castrojo in #813
  • chore(ci): use reusable validate-renovate workflow from actions by @​castrojo in #812
  • chore(ci): migrate promote-testing-to-main to reusable-promote-squash by @​castrojo in #811
  • feat(ci): add cache-warm scheduled workflow by @​castrojo in #782
  • chore(ci): allow common.bst updates to automerge without review by @​castrojo in #807
  • ci: consumer validation — Design C promotion PR + release notes overflow fix (actions 9e4ba16) by @​castrojo in #805
  • feat(umotd): add umotd element by @​castrojo in #762
  • fix(ci): switch execute-release to push trigger + commit-msg gate by @​castrojo in #800
  • fix(ci): add workflow_dispatch to execute-release; fix if guard by @​castrojo in #799
  • fix(ci): grant required permissions to execute-release caller by @​castrojo in #798
  • ci: promote testing images to stable (96dec33c80b7b4e3) by @​castrojo in #797
  • fix: use @projectbluefin/maintainers team in CODEOWNERS by @​castrojo in #796
  • chore(ci): remove per-repo GHCR cleanup (centralized in actions) by @​castrojo in #795
  • feat(ci): add weekly standalone vulnerability scan by @​castrojo in #794
  • feat(ci): add cliff.toml for structured changelog generation by @​castrojo in #793
  • fix(ci): fix lifecycle wiring, remove duplicate GHCR cleanup by @​castrojo in #789
  • chore(lifecycle): call lifecycle.yml from projectbluefin/actions by @​castrojo in #780
  • fix(ci): bump projectbluefin/actions SHA to 2a09e72e9be1 — fix 65% publish failure by @​castrojo in #792
  • fix(renovate): align config with org standard — extend shared config, automerge digests by @​castrojo in #790
  • ci(C1): thin caller for reusable-promote workflow by @​castrojo in #788
  • ci: add scheduled cache-warm workflow for BST remote cache by @​castrojo in #787
  • fix(ci): pin reusable-workflow @main refs to SHA by @​castrojo in #786
  • chore(ci): bump projectbluefin/actions SHA pins to 3025b5d31f34 by @​castrojo in #781
  • fix(ci): gh pr create has no --json flag — capture URL instead by @​castrojo in #778
  • fix(ci): fire build on main push; auto-merge PRs target main; force-sync testing mirror by @​castrojo in #777
  • feat(ci): use centralized bootc-build/chunka action; remove dead code by @​castrojo in #773
  • fix(ci): track-bst-sources: use --squash for auto-merge, not --merge by @​castrojo in #767
  • fix(ci): publish :testing on every testing merge; fix track-bst branch base by @​castrojo in #766
  • chore(build): upgrade chunkah v0.5.0 to v0.6.0 by @​castrojo in #761
  • fix(ci): point Renovate at main, exempt bonedigger from pinning by @​castrojo in #741
  • fix(ci): remove dead release.yml, add daily promote schedule, fix project_name casing by @​castrojo in #760
  • feat(ci): add PR-based release gate; replace weekly-testing-promotion by @​castrojo in #757
  • fix(ci): skip storage-service in export/publish jobs by @​castrojo in #756
  • ci(next): wire next branch into main CI pipeline by @​castrojo in #751
  • fix(sbom): use runc runtime to bypass crun 1.21 GHA runner failures by @​castrojo in #749
  • fix(sbom): add seccomp=unconfined to just sbom podman invocations by @​castrojo in #747
  • fix(sbom): drop --privileged from bst show / buildstream-sbom runs by @​castrojo in #745
  • ci(e2e): remove pull_request trigger from e2e workflow by @​castrojo in #740
  • revert(uutils-coreutils): remove ghost-specific LTO override by @​castrojo in #737
  • ci: centralise Renovate runner via projectbluefin/actions reusable by @​castrojo in #735
  • ci: fix Renovate to target testing branch and add runner workflow by @​castrojo in #734
  • ci: relax TOCTOU guards from exact-equality to ancestor check by @​castrojo in #732
  • ci: replace inline cosign curl install with sigstore/cosign-installer by @​castrojo in #730
  • ci: ship :testing on every merge, drop nightly schedule and e2e gate by @​castrojo in #731
  • ci: harden release.yml and publish.yml pipeline by @​castrojo in #729
  • ci: harden promotion pipeline and fix lifecycle workflow by @​castrojo in #728
  • fix(uutils-coreutils): override LTO to thin to fix SIGABRT on ghost by @​castrojo in #726
  • feat: switch to weekly gated release on Tuesday by @​castrojo in #720
  • feat: migrate release.yml to bootc-build/create-release by @​castrojo in #719
  • ci: align weekly promotion pipeline to spec (#520 #521 #522 #524) by @​castrojo in #718
  • chore: switch lifecycle automation to common-owned workflow by @​castrojo in #717
  • ci: bump testsuite SHA to e2b36dc (all env + ptyxis quarantine + screenshot fixes) by @​castrojo in #714
  • chore(ci): clarify bonedigger @main is intentional managed tag by @​castrojo in #715
  • fix(deps): add Renovate config for GHA version tracking by @​castrojo in #707
  • fix(ci): block floating GitHub Action tags in pre-commit by @​castrojo in #702
  • feat(justfile): push-local recipe + zstd + SC2129 lint fix by @​castrojo in #642
  • fix: improve gh gist upload guidance in report recipe by @​dylanmtaylor in #646
  • feat(just): add debug-session recipe with serial capture and journal logging (#558) by @​hanthor in #600
  • fix(ujust): read actual booted image from bootc status for toggle-devmode by @​hanthor in #599
  • build: parallelize validate and consolidate CI BST config by @​castrojo in #602
  • feat: add weekly GHCR cleanup workflow by @​castrojo in #672
  • feat: add bluefin-countme weekly user count ping by @​castrojo in #616
  • fix: remove bootc installer flatpak on first boot by @​castrojo in #656
  • feat(justfile): feedback loop tooling — preflight, serial log, boot-test expansion, OTLP hint by @​castrojo in #561
  • ci: switch to projectbluefin/[email protected] by @​castrojo in #641
  • ci: fix reporting-triage-review-verification loop by @​castrojo in #583
  • chore(agents): remove PR rate limit — gate is human now by @​castrojo in #669
  • chore(ci): add .pre-commit-config.yaml by @​hanthor in #682
  • chore(ci): add renovate.json5 configuration by @​hanthor in #683
  • chore(ci): add bonedigger.yml lifecycle workflow by @​hanthor in #684
  • fix(publish): remove job-level permissions from e2e-gate reusable workflow call by @​castrojo in #699
  • fix(publish): remove invalid artifact-metadata permission causing startup_failure by @​castrojo in #698
  • fix(publish): replace read-all with explicit permissions by @​castrojo in #697
  • fix(publish): add packages:write to e2e-gate, pin testsuite SHA by @​castrojo in #696
  • chore(deps): land testing dep updates into main by @​castrojo in #695
  • fix(ci): count hive p1 in status sync by @​castrojo in #691
  • fix(ci): use hive labels in status sync by @​castrojo in #690
  • fix(shellcheck): rework writes to GitHub output by @​dylanmtaylor in #647
  • ci(e2e): always report status — skip for non-image PRs by @​castrojo in #666
  • fix(ci): group consecutive GITHUB_OUTPUT redirects (SC2129) by @​hanthor in #663
  • ci(hive): migrate to org board and hive/* labels in hive-status-sync by @​castrojo in #662
  • chore(lockdown): add CODEOWNERS per-path entries and mandatory gates (Track C-2) by @​castrojo in #661
  • feat(ci): add skill-drift wrapper workflow by @​castrojo in #660
  • feat: add production environment gate to promotion workflow by @​castrojo in #659
  • chore(ci): run weekly testing promotion on Sundays by @​castrojo in #658

Documentation​

kind/documentation

Documentation improvements and additions

Planned Work​

  • docs(agents): staging audit rule, duplicate PR check, lts branch target, copilot setup by @​castrojo in #757
  • docs(factory): align bluefin-lts to completed testing-first migration by @​castrojo in #754
  • fix(ci): exclude docs/factory and specs from ublue-os ref check by @​castrojo in #749
  • docs(release-promotion): fix e2e gate model — run_e2e is false for bluefin and dakota by @​castrojo in #724
  • chore(docs): drop completed audits and stale planning docs by @​castrojo in #642
  • docs(factory): deprecate housekeeping repo — actions is canonical home by @​castrojo in #636
  • ci: delete docs-quality workflow by @​castrojo in #556
  • chore(ci): remove hive-progress-sync workflow and PROJECT_TOKEN dependency by @​castrojo in #529
  • feat(labels): add hardware/* labels to labels.json by @​castrojo in #512
  • fix(governance): add knuckle to sync-codeowners matrix by @​castrojo in #491
  • docs(ci): CI lifecycle bot consolidation strategy by @​hanthor in #443
  • docs: establish common as org brain — factory docs, skills hub, migration status by @​castrojo in #426
  • docs(agents): add missing workflows to AGENTS.md inventory by @​castrojo in #462
  • docs(skills): add lifecycle automation table and common workflow inventory by @​castrojo in #456
  • docs(skills): add all OS factory skills to common by @​castrojo in #427

Opportunistic Work​

  • docs(release): rewrite release.md with correct build-time SBOM pattern by @​castrojo in #731
  • docs: replace skills/README.md with redirect to SKILL.md by @​castrojo in #728
  • docs: add merge queue operational failure modes to AGENTS.md by @​castrojo in #726
  • docs(ci): document merge queue AWAITING_CHECKS and locked branch failure modes by @​castrojo in #724
  • chore: remove orphaned gif; fix README stable promotion cadence by @​castrojo in #723
  • docs(ci): remove pr-release-gate.yml from pipeline diagram by @​castrojo in #722
  • docs: fix remaining stale references from full docs audit by @​castrojo in #720
  • docs: brutal accuracy pass — kill stale facts and broken links by @​castrojo in #719
  • docs: final audit — fix remaining stale references by @​castrojo in #711
  • docs: require Context7 tool lookup before any tool or library use by @​castrojo in #694
  • docs(ci): add failure modes for SBOM OOM, merge queue dequeue, statuses 403 by @​castrojo in #707
  • docs: brutal audit — delete stale files, align to daily automated factory by @​castrojo in #708
  • docs(agents): add CI verification command and done-means-verified rule by @​castrojo in #684
  • docs(agents): fix lts branch target, add staging audit and pr dedup check by @​castrojo in #671
  • docs: onboard factory skill-improvement mandate; fix CI docs by @​castrojo in #668
  • docs(skills): add dracut EXDEV nvidia failure mode to build.md by @​castrojo in #587
  • fix(ci): pin testsuite SHA, fix stale known-bug docs, narrow hook exemptions by @​castrojo in #583
  • docs: update AGENTS.md — fix promotion model, remove deleted workflow refs by @​castrojo in #578
  • docs(ci): record testing branch recovery learnings by @​castrojo in #531
  • docs(skills): update ci.md for expanded shellcheck and full bats inventory by @​castrojo in #513
  • docs: quality follow-up — fix missing entries and stale notes by @​castrojo in #512
  • docs: link copr-security.md from SKILL.md router by @​castrojo in #511
  • docs: install-hooks step, remote trap warning, 2-human gate, skill-drift CI docs, iso.md fix by @​castrojo in #479
  • docs: update all docs/skills to reflect two-stream model (testing + stable) by @​castrojo in #464
  • docs(ci): document cosign installer rule and SBOM promotion gap by @​castrojo in #426
  • docs(ci): document SBOM dual-scan runner timeout pattern by @​castrojo in #397
  • docs(ci): document stable branch's local reusable-build.yml exception by @​castrojo in #392
  • docs(agents): add analysis-vs-implementation, cross-repo, and issue comment rules by @​castrojo in #384
  • docs(ci): update promotion pipeline docs for org-wide consistency by @​castrojo in #382
  • docs: update AGENTS.md and workflow.md with current patterns by @​castrojo in #366
  • docs: extend comment policy to cover issues, add close+comment anti-pattern by @​castrojo in #363
  • docs: remove stale ublue-os/bluefin origin remote references by @​castrojo in #352
  • docs(skills): update ci.md and AGENTS.md for main merge queue and branch sync by @​castrojo in #331
  • docs(skills): update ci and build skills for current state by @​castrojo in #320
  • docs(ci): clarify shared workflow boundaries by @​castrojo in #303
  • docs(agents): document floating-tag pre-commit guard by @​castrojo in #302
  • docs: update workflow and renovate skill with current process by @​castrojo in #288
  • docs: update CI/PR workflow docs for validate-only PRs and automerge by @​castrojo in #287
  • docs(workflow): document agent label checklist when opening a PR by @​castrojo in #245
  • docs(skills): integrate session learnings into ci and release skills by @​castrojo in #268
  • docs: restructure README with consistent structure and release cards by @​castrojo in #269
  • docs(workflow): document stuck-PR patterns and bulk-merge flow by @​castrojo in #261
  • docs(ci): document shared CI architecture; add CI-fix-first workflow for agents by @​castrojo in #256
  • docs(workflow): add hive/p0 and hive/p1 to label reference by @​castrojo in #242
  • docs(THEPATTERN): add user/developer impact section, fix stale facts by @​castrojo in #238
  • docs: add SECURITY.md and fix stale ublue-os references by @​castrojo in #171
  • docs: require Context7 tool lookup before any tool or library use by @​castrojo in #370
  • docs(agents): add CI verification command and done-means-verified rule by @​castrojo in #362
  • docs(factory): onboard to factory self-improvement model by @​castrojo in #297
  • docs: add ublue-os/bluefin-lts migration plan and skill by @​castrojo in #321
  • docs(skills): fix stale testsuite SHA-pin policy and README image name by @​castrojo in #294
  • fix(ci): pin testsuite SHA, fix stale docs, narrow hook exemptions by @​castrojo in #245
  • docs: update AGENTS.md — branch model alignment, remove outdated references by @​castrojo in #228
  • docs(skills): update factory state after 2026-06-14 session by @​castrojo in #217
  • docs(skills): add image verification and bootc /boot notes to release.md by @​castrojo in #195
  • fix(docs): fix stale ublue-os image refs, NVIDIA :latest→:lts, add SECURITY.md and expanded CONTRIBUTING by @​castrojo in #152
  • docs(skills): update ci-cd runbooks from 2026-06-10 session by @​castrojo in #149
  • docs(skills): rewrite skills as runbooks, remove session-log artifacts by @​castrojo in #145
  • docs(skills): document execute-release startup_failure root cause and fix by @​castrojo in #142
  • fix(ci): resolve post-merge E2E #135 — mask systemd-udev-settle + skill doc by @​castrojo in #136
  • docs(skills): document rechunker-group-fix pattern and emergency promotion runbook by @​castrojo in #134
  • docs(skills): remove testlab skill by @​castrojo in #113
  • docs(agents,skills): align with org-wide pattern; audit and fix skill files by @​castrojo in #112
  • docs(skills): update release pipeline and pitfalls by @​castrojo in #110
  • docs(skills): clarify COPR chroot naming and add bonedigger to workflow map by @​castrojo in #56
  • docs(agents): document floating-tag pre-commit guard by @​castrojo in #52
  • docs: consolidate doc updates from PRs 29, 49, 50 by @​castrojo in #54
  • docs: fix stale image refs and flesh out CONTRIBUTING.md by @​castrojo in #45
  • docs(ci): clarify lts workflow overrides by @​castrojo in #53
  • docs: update skills for shared-actions migration (PR #46) by @​castrojo in #47
  • docs(skills): document projectbluefin/actions adoption by @​castrojo in #38
  • docs: restructure README with consistent structure and release cards by @​castrojo in #36
  • docs(music): move Children of Jensen to Origins, Requiem to Kettle by @​castrojo in #994
  • docs(music): update top section title and playlist order by @​castrojo in #993
  • feat(music): add 'The War of Generations' soundtracks by @​castrojo in #992
  • fix: correct YAML syntax in refresh-sbom-seed.yml by @​castrojo in #990
  • chore: add workflow to refresh SBOM seed files via PR by @​castrojo in #989
  • revert: remove SBOM seed commit step (branch protection blocks push) by @​castrojo in #988
  • chore: auto-commit SBOM seed files from nightly workflow by @​castrojo in #987
  • fix: add search-insights as explicit dep to sync package-lock by @​castrojo in #986
  • chore: migrate ublue-os image repos to projectbluefin org by @​castrojo in #985
  • chore: remove gaming stub page by @​castrojo in #982
  • fix(sparklines): fix trend guard and Sparkline default fill by @​castrojo in #974
  • fix(hive): switch snapshot from broken HTML URL to /api/status by @​castrojo in #952
  • fix(hive): move Guardians/Ghosts to main fetch batch to avoid search rate limit by @​castrojo in #957
  • feat(nav): restructure sidebar — promote Platform section to top by @​castrojo in #976
  • feat(hive): wire public registry API for live governor and frame data by @​castrojo in #955
  • feat(nav+analytics): add Hive to navbar, replace analytics page with LFX widgets by @​castrojo in #977
  • feat(hive): ops center layout — factory floor hero, 3-col intelligence zone, fixed stats grid by @​castrojo in #954
  • feat(hive): governor meter to top, accurate marker, new stats strip cards by @​castrojo in #951
  • feat(hive): remove commit-centric panels, rank contributors by project breadth by @​castrojo in #953
  • feat(docs): show last-update timestamps, hide edit on data pages, fix stale content by @​castrojo in #978
  • feat(projects): add CNCF and OpenSSF section to projects page by @​castrojo in #968
  • docs(agents): add Sparkline component docs, CNCF section policy, update worktrees by @​castrojo in #975
  • chore: remove GTS announcement banner by @​castrojo in #967
  • chore(docs): brutal audit — fix ublue-os refs, update outdated commands by @​castrojo in #980
  • chore(docs): factory audit — delete stale docs, fix supply chain, update agentic guide by @​castrojo in #981
  • docs: add supply-chain security page by @​castrojo in #979
  • fix(hive): 2-column Guardians/Ghosts, full-width Recently Merged by @​castrojo in #959
  • fix(deps): add glob as direct dependency, fix fetch-github-profiles token guard by @​castrojo in #949
  • feat(hive): source from hosted instance + community showcase overhaul by @​castrojo in #930
  • docs(agentic-contributing): update for current projectbluefin state (June 2026) by @​castrojo in #929
  • Replaced Dev Containers guide with last archive version by @​liachra in #928
  • docs: document Hive Factory Dashboard in AGENTS.md by @​castrojo in #925
  • feat(hive): contributor leaderboard with weekly/monthly milestones by @​castrojo in #924
  • feat(hive): expand dashboard with timeline, budget, nous, full merged grid by @​castrojo in #922
  • fix: add missing [email protected] to package-lock.json by @​castrojo in #921
  • fix(hive): drop "The" from title, add factory tagline by @​castrojo in #920
  • feat(hive): The Bluefin Operating System Factory by @​castrojo in #917
  • docs(agentic): add queue dashboard and review-guide pointers by @​castrojo in #912
  • docs: add agentic contributor guide for projectbluefin org by @​castrojo in #910
  • refactor: overhaul agent UX — skill-based docs, slim AGENTS.md by @​Siddhj2206 in #100
Dakota (GNOME OS Prototype)​
  • docs: clean house — align with OCI-native daily factory, delete stale content by @​castrojo in #1090
  • docs(skills): record statuses:write startup_failure pattern by @​castrojo in #1071
  • docs(skills): update ci.md — merge_group excluded from build, new lessons learned by @​castrojo in #1105
  • docs: sweep and remove all stale references to push-driven CI and old PR flow by @​castrojo in #1100
  • docs(skills): move CI failure patterns to correct skill files by @​castrojo in #1095
  • docs(ci): document execute-release startup_failure and CAS mid-build drop patterns by @​castrojo in #1094
  • docs: update CI/promotion docs for OCI-native daily promotion by @​castrojo in #1081
  • docs: require Context7 tool lookup before any tool or library use by @​castrojo in #1050
  • docs(agents): add CI verification command and done-means-verified rule by @​castrojo in #1031
  • docs(skills): fix workflow-map — testing-first is the model by @​castrojo in #1029
  • docs(agents): align trailer rule with org standard, add staging audit by @​castrojo in #1013
  • docs: factory compliance audit and cleanup by @​castrojo in #1012
  • docs(skills): fix code fence label in ci.md by @​castrojo in #1005
  • docs(skills): document next-branch-specific patches by @​castrojo in #988
  • docs(skills): onboard factory self-improvement infrastructure by @​castrojo in #982
  • docs(skills): split CI knowledge into focused skills by @​castrojo in #900
  • docs(ci): document run_e2e=false design, narrow hook exemptions to actions only by @​castrojo in #876
  • docs: update AGENTS.md — fix repo map, remove deleted workflow reference by @​castrojo in #869
  • docs(skills): ci — lessons from 2026-06-12 session by @​castrojo in #816
  • docs(skills): ci — release pipeline lessons from 2026-06-11 session by @​castrojo in #802
  • docs(skills): ci + pr-review — lessons from 2026-06-10 session by @​castrojo in #774
  • docs: expand CONTRIBUTING.md with BST build context and AGENTS.md reference by @​castrojo in #776
  • docs(skills): add live build diagnosis and gnome-build-meta nightly delta patterns by @​castrojo in #742
  • docs: document :next/:btw stream, export CAS fix, and next branch ops by @​castrojo in #758
  • docs(skills): add ci.md lessons from PR 751 by @​castrojo in #752
  • docs: add image streams section to README by @​castrojo in #736
  • docs(skills): fix stale CI references and add rubber duck review pattern by @​castrojo in #733
  • docs(skills): 2026-06-07 lessons — CAS outage, ghost LTO, meson systemd dep by @​castrojo in #727
  • docs: complete skill audit — frontmatter, correctness fixes, real lessons by @​castrojo in #724
  • docs(agents): document floating-tag pre-commit guard by @​castrojo in #703
  • docs: reinforce dakota build boundaries by @​castrojo in #704
  • fix(docs): update overview.md gap table — fwupd and uupd are present by @​castrojo in #679
  • docs(skills): add merge-queue skill — retarget, rebase, and fleet patterns by @​castrojo in #668
  • docs(skills): add lab:fail PR reset policy — update in place, no comment spam by @​castrojo in #601
  • docs: clarify push-to-upstream rule — dep-update PRs are same-repo by @​castrojo in #619
  • docs: document publish pipeline, stream model, and factory restart by @​castrojo in #701
  • docs(skills): document publish.yml startup_failure root causes by @​castrojo in #700
  • docs(skills): add merge-queue skill — dep-update PR retarget/cherry-pick/merge flow by @​castrojo in #692
  • docs: restructure README with consistent structure and release cards by @​castrojo in #671

Tech Debt​

kind/tech-debt kind/parity

Maintenance work and feature parity between variants

Planned Work​

  • chore(ci): remove fragile cross-repo workflows by @​castrojo in #786
  • ci(renovate): use platformAutomerge, remove redundant automerge workflow by @​castrojo in #783
  • refactor(system): move ujust helpers into libexec by @​castrojo in #720
  • ci: exempt internal projectbluefin/ refs from floating-tag hook by @​castrojo in #716
  • fix(ci): drop dead downstream dispatch and sync-labels by @​castrojo in #701
  • revert(ai): remove nvidia/amd AI stacks erroneously merged in #684 by @​castrojo in #687
  • chore(assets): remove unreferenced fedora SVG icons (−2.4MB) by @​castrojo in #650
  • fix(ci): update lifecycle-caller SHA — fixes all PR branch failures by @​castrojo in #638
  • chore(ci): validate release-state.yaml against JSON schema by @​castrojo in #634

Opportunistic Work​


Automation​

kind/automation kind/github-action kind/renovate

CI/CD pipelines, GitHub Actions, and automated dependency updates

Planned Work​

Opportunistic Work​

Status: ChillOps


Localization​

kind/translation

Translation and internationalization work

Status: ChillOps


Bot Activity​

Automation Percentage: 39.4% (551 bot PRs out of 1400 total PRs)

RepositoryBot PRs% of Total
dakota15611.1%
bluefin1399.9%
bluefin-lts1238.8%
common493.5%
finpilot392.8%
documentation70.5%
artwork20.1%
View bot activity details

Contributors​

Wayfinders​

"Define yourself by your actions."

—Lord Saladin

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Want to see the latest OS releases? Check out the Changelogs. For announcements and deep dives, read our Blog.

This report was automatically generated from todo.projectbluefin.io.


Generated on 2026-07-02
View Project Board | Report an Issue

Megalosaurus May 2026

· 75 min read
Project Bluefin
Automation & Factory
Total Items290 (33 planned, 257 opportunistic)
Automation53.4% (332 bot PRs out of 622 total PRs)
Contributors37 total, 17 new

Desktop​

area/gnome area/aurora area/bling

GNOME desktop environment, Aurora variant (KDE), and terminal enhancements

Planned Work​

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Development​

area/dx

Development tools and IDE integrations

Planned Work​

Opportunistic Work​

Dakota (GNOME OS Prototype)​
  • fix(ujust): dx-group — guard PKEXEC_UID, offer reboot by @​castrojo in #597

Homebrew​

New Applications​

The following applications were added to our Homebrew taps this month:

ApplicationDescriptionStatus
antigravity-cli-linuxTerminal interface for Antigravity agentsStable
antigravity-ide-linuxAI Coding Agent IDEStable
antigravity-ide-linuxNo description availableExperimental
antigravity-linuxNo description availableExperimental
antigravity-sdkPython SDK for building with Google AntigravityExperimental
vmbuddyQEMU wrapper with sensible defaultsExperimental

Use ujust bbrew to browse and install these packages. Follow the tap instructions if you want to do it by hand.

Package Updates​

Production Tap Experimental Tap

90 automated updates this month via GitHub Actions. Homebrew tap version bumps ensure Bluefin users always have access to the latest stable releases.

Quick Summary​
TapUpdates
production-tap23
experimental-tap67
View all production-tap updates (23)
PackageVersionsPR
goose-linux1.34.0 → 1.36.0 (4 updates)#421
lm-studio-linux0.4.13 → 0.4.15 (3 updates)#422
framework-tool0.6.3#386
visual-studio-code-linux1.119.0#388
View all experimental-tap updates (67)
PackageVersionsPR
zed-linux1.0.1 → 1.4.4 (12 updates)#432
opencode-desktop-linux1.14.30 → 1.15.11 (11 updates)#430
cursor-linux3.2.21 → 3.5.38 (9 updates)#428
craft-agents-linux0.8.13 → 0.10.0 (8 updates)#427
emdash-linux1.1.16 → 1.1.25 (4 updates)#429
dockerd-linux29.4.2 → 29.5.2 (3 updates)#411
dataspell-linux2026.1.1 → 2026.1.2 (2 updates)#422
rustrover-linux2026.1.2 → 2026.1.2 (2 updates)#415
phpstorm-linux2026.1.2 → 2026.1.2 (2 updates)#414
clion-linux2026.1.2#395
rider-linux2026.1.2#407
goland-linux2026.1.2#386
intellij-idea-linux2026.1.2#387
pycharm-linux2026.1.2#388
rubymine-linux2026.1.2#389
webstorm-linux2026.1.2#390
datagrip-linux2026.1.3#360

Ecosystem​

area/brew area/bluespeed area/flatpak

Homebrew packages, AI/ML tools (Bluespeed), and Flatpak applications

Planned Work​

  • fix(ujust): only run brew bundle when enabling bluefin-cli by @​hanthor in #358
  • Hooks for bazaar by @​jumpyvi in #254
  • spec: Add Bluespeed architecture spec (v0.1) for local-first AI on Bluefin by @​lazypower in #236
  • Removal of Sound Recorder in favor of Decibels by @​pfanzola in #325
  • feat(bazaar): add Rclone Manager and Tube Converter to curated apps by @​repires in #332
  • chore(apps): add gitte (git gui) flatpak to curated apps in Bazaar by @​Ilan-Sperber in #319
  • chore(bazaar): update curated jellyfin to org.jellyfin.JellyfinDesktop by @​coxde in #322

Opportunistic Work​

Dakota (GNOME OS Prototype)​
  • fix(systemd): guard flatpak-preinstall.service against missing subcommand by @​castrojo in #588

System Services & Policies​

area/services area/policy

Systemd services and system-level policies

Planned Work​

Opportunistic Work​

  • Revert "fix: ensure xdg-desktop-portal starts after gnome-keyring-dae… by @​coxde in #4685
Dakota (GNOME OS Prototype)​
  • fix(fdsdk): squash pipewire ref bump and separate policy flags by @​castrojo in #587
  • fix: Remove passwordless sudo policy by @​coxde in #374

Hardware​

area/hardware area/nvidia aarch64

Hardware support, drivers, NVIDIA GPU, and ARM64 architecture

Planned Work​

Status: ChillOps

Opportunistic Work​

  • chore(hwe): bump kernel to 6.19.12-200.fc43 and coreos stable to 43 by @​castrojo in #1334
  • chore(hwe): bump kernel pin to 6.19.12-100.fc42 by @​castrojo in #1333
  • fix(sbom): store cacheKey as tag so nvidia overlay matches correctly by @​castrojo in #840
  • fix(changelogs): fall back to most-recent nvidia SBOM entry for Dakota by @​castrojo in #815
  • fix(changelogs): populate LTS HWE Kernel from lts-hwe SBOM stream by @​castrojo in #779
  • fix(driver-versions): detect kernel and mesa patch-level version bumps by @​castrojo in #776
  • fix(driver-versions): populate LTS HWE kernel from lts-hwe SBOM stream by @​castrojo in #778
  • fix: add dakota-nvidia SBOM stream and BST nvidia-driver extraction by @​castrojo in #808
  • fix: install oras in pages.yml so Dakotaraptor driver versions populate by @​castrojo in #807
  • fix: add bluefin-nvidia-open-stable SBOM stream for stable nvidia driver versions by @​castrojo in #806
  • data(sbom): update sbom-attestations.json seed with GDX nvidia versions by @​castrojo in #805
  • fix: extract nvidia-driver from GDX SBOM, remove release-notes fallback by @​castrojo in #804
Dakota (GNOME OS Prototype)​

Infrastructure​

area/iso area/upstream area/buildstream area/finpilot area/just area/testing

ISO images, upstream integration, build systems, and testing frameworks

Planned Work​

  • chore: update codeowners and add pull request template by @​inffy in #354
  • fix(just): make validation recipe properly fail on errors and fix syntax errors by @​hanthor in #384
  • ci: add e2e PR gate for Bluefin LTS, Stable, and Dakota by @​castrojo in #366
  • fix(just): add volume preview before pruning in clean-system by @​hanthor in #363
  • fix: ignore commented LockLayering setting by @​joshyorko in #300
  • feat(just): add overlay command for sysext testing by @​tulilirockz in #158
  • fix(opentabletdriver): fix opentabletdriver recipe by @​inffy in #343
  • fix(ujust): typo in toggle-user-motd disable message by @​sebjag in #329
  • fix(apps): remove duplicate VideoTrimmer from productivity section by @​EsmeAioli in #320
  • chore: Bump game-devices-udev. Restore the priority prefixes. by @​fardragon in #331
  • chore: bump game-devices-udev by @​renner0e in #330
  • docs: mention LUKS in toggle-tpm2 comment for better ujust --choose discoverability by @​L0g0ff in #299

Opportunistic Work​

Dakota (GNOME OS Prototype)​
  • feat(ci): add testing/latest/stable stream layout by @​castrojo in #636
  • fix(ci): grant packages:write so testsuite can push desktop screenshot by @​castrojo in #617
  • feat(report): add boot error log and per-unit journal to ujust report by @​castrojo in #589
  • fix(renovate): use stable PyPI URL format for plugins junctions by @​castrojo in #482
  • feat(ujust): add flutter devcontainer scaffold recipe by @​castrojo in #594
  • fix(ujust): show issue URL with template in not-signed-in path of ujust report by @​castrojo in #586
  • feat(actionadon): 5-stage pipeline with you-are-here widget by @​castrojo in #590
  • fix(publish): call just chunkify after export to restore 120-layer output by @​castrojo in #585
  • ci: fix 10 audit issues — SHA resolution, cosign bump, retry, pins, e… by @​castrojo in #390
  • feat(ujust): add probe recipe for AI-assisted diagnostics by @​castrojo in #559
  • ci(hive-status-sync): update project title with live queue stats by @​castrojo in #567
  • ci(hive-status-sync): also trigger on push to main by @​castrojo in #566
  • fix(hive-status-sync): use correct GraphQL field for project status by @​castrojo in #565
  • fix(hive-status-sync): skip posting when PROJECT_TOKEN is not set by @​castrojo in #564
  • ci: hourly Hive status sync to project board by @​castrojo in #563
  • feat(agents): add in-repo skills knowledge base at .github/skills/ by @​castrojo in #543
  • Add contributor discovery table to AGENTS.md by @​castrojo in #545
  • Human-first issue templates — specificity drives velocity by @​castrojo in #550
  • fix: remove emojis from issue templates by @​castrojo in #542
  • fix: ghost copy wording + streamlined issue templates by @​castrojo in #541
  • feat: opt-in AI report stash + Dakota-specific MOTD with gum polish by @​castrojo in #540
  • fix: batch papercut fixes (#304, #352, #456, #465) by @​castrojo in #486
  • feat(just): add ujust report — system information donation by @​castrojo in #494
  • fix(firstboot-date): mkdir -p wants/ before symlink by @​castrojo in #500
  • ci: disable aarch64 build temporarily by @​castrojo in #499
  • ci: re-enable aarch64 build on cron/dispatch only by @​castrojo in #495
  • fix(ci): use app token for checkout in track jobs by @​castrojo in #481
  • fix(release): add full SBOM diff tables to release notes by @​castrojo in #455
  • ci: automated GitHub releases with SBOM-diffed release card by @​castrojo in #443
  • ci: filter publish workflow_run trigger to main and merge queue branches by @​castrojo in #442
  • ci: use mergeraptor app token for PR creation in tracking workflows by @​castrojo in #440
  • ci: fix timeout ceiling, cancel-on-push, redundant step guard by @​castrojo in #438
  • ci: add validate job, move full build off PRs, drop Blacksmith by @​castrojo in #437
  • fix(ci): atomic junction tracking + block Renovate from pinning dakot… by @​castrojo in #425
  • fix(ujust): generate ujust completions by @​coxde in #364
  • refactor(tealdeer): use inline arch dispatcher pattern by @​ahmedadan in #413
  • feat: add document thumbnailers by @​coxde in #409
  • fix(chunkah): bump to v0.5.0 and fix Renovate tracking by @​castrojo in #408
  • fix(renovate): rename managerFilePatterns to fileMatch by @​castrojo in #405
  • feat(deps): add tealdeer (tldr) v1.8.1 by @​axel-kaliff in #116
  • chore: remove Saturn and its exclusive dependencies by @​castrojo in #395
  • ci: serialize PR builds to avoid buildbox contention by @​castrojo in #397
  • fix(ci): update scorecard-action to verified commit SHA by @​castrojo in #393
  • feat(security): OpenSSF Scorecard, CodeQL SAST, SECURITY.md, hardened token permissions by @​castrojo in #391
  • ci: fix oras attach digest capture for SBOM signing by @​castrojo in #389
  • ci: inline export in publish with correct BST_FLAGS by @​castrojo in #388
  • ci: fix BST_FLAGS key mismatch in export and add explicit artifact push by @​castrojo in #387
  • ci: move export to separate job to fix BST artifact checkout by @​castrojo in #386
  • ci: pull BST artifact to local cache before export by @​castrojo in #385
  • ci: move export/chunkify/sbom to build, publish loads artifact by @​castrojo in #384
  • ci: add docker login so cosign can authenticate to GHCR by @​castrojo in #383
  • project.conf: Add x86_64_v3 option and enable it by default by @​alatiera in #91
  • fix(ci): per-SHA concurrency for merge_queue publishes by @​castrojo in #380
  • fix(ci): use --merge instead of --squash for merge queue compatibility by @​castrojo in #379
  • fix(ci): move Blacksmith to publish only, schedule on standard runners by @​castrojo in #378
  • feat(ci): split build/publish workflows, add SBOM+signing by @​castrojo in #377

Documentation​

kind/documentation

Documentation improvements and additions

Planned Work​

Status: ChillOps

Opportunistic Work​

Dakota (GNOME OS Prototype)​
  • docs: add actionable fix notes (fixes #180 #501 #503 #524 #527 #536 #603 #606) by @​hanthor in #607
  • docs(agents): define /lab slash commands, restrict to maintainers/wranglers by @​castrojo in #604
  • docs: add 20 community skills to .github/skills/, slim AGENTS.md to pointer file by @​castrojo in #572
  • docs: trim AGENTS.md by 51%, tighten skills for token efficiency by @​castrojo in #570
  • docs(readme,motd): rewrite readme around feedback loop, overhaul motd by @​castrojo in #560
  • feat: built-in feedback loop — boot-test, actionadon commands, architecture doc by @​castrojo in #534
  • docs(AGENTS.md): fix content gaps from gap analysis by @​castrojo in #508
  • docs: add AGENTS.md for contributor and agent guidance by @​castrojo in #507

Tech Debt​

kind/tech-debt kind/parity

Maintenance work and feature parity between variants

Planned Work​

Opportunistic Work​


Automation​

kind/automation kind/github-action kind/renovate

CI/CD pipelines, GitHub Actions, and automated dependency updates

Planned Work​

Status: ChillOps

Opportunistic Work​


Localization​

kind/translation

Translation and internationalization work

Planned Work​

Status: ChillOps

Opportunistic Work​


Bot Activity​

Automation Percentage: 53.4% (332 bot PRs out of 622 total PRs)

RepositoryBot PRs% of Total
bluefin8714.0%
bluefin-lts7512.1%
dakota579.2%
common71.1%
documentation71.1%
finpilot50.8%
artwork30.5%
iso10.2%
View bot activity details

Build Health​

Raptor Race​

Keep Bluefin healthy with green builds. Wranglers apply within!

ImageSuccess RateSuccessesFailuresMonthly Change
bluefin:stable76%19060-19.7%
bluefin:latest84.3%20438-9.5%
bluefin:lts46.3%119138-50.3%
bluefin:lts-hwe45.4%118142-51.8%
bluefin-dx:lts45.9%118139-50.7%
bluefin-gdx:lts46.1%119139-48.8%
bluefin-dx:lts-hwe46.3%120139-50.5%

This Month's Highlights​

MetricValue
📊 Total Builds1783 builds across all images
🏆 Most Activebluefin:lts-hwe (260 builds)
💯 100% ClubNone. Vegeta is displeased.
⏱️ Avg Build Time17 minutes across all variants

Contributors​

New Lights​

We welcome our newest Guardians to the project.

"I do not know what the future holds. But I know this: with you at our side, there is nothing we cannot face."

—Commander Zavala

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Wayfinders​

"Define yourself by your actions."

—Lord Saladin

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Want to see the latest OS releases? Check out the Changelogs. For announcements and deep dives, read our Blog.

This report was automatically generated from todo.projectbluefin.io.


Generated on 2026-06-01
View Project Board | Report an Issue

Allosaurus April 2026

· 59 min read
Project Bluefin
Automation & Factory
Total Items186 (12 planned, 174 opportunistic)
Automation62.3% (308 bot PRs out of 494 total PRs)
Contributors22 total, 11 new

Desktop​

area/gnome area/aurora area/bling

GNOME desktop environment, Aurora variant (KDE), and terminal enhancements

Planned Work​

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Development​

area/dx

Development tools and IDE integrations

Planned Work​

Status: ChillOps

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Homebrew​

New Applications​

The following applications were added to our Homebrew taps this month:

ApplicationDescriptionStatus
asusctl-linuxASUS laptop control CLI and immutable-friendly system daemon payloadStable
fw-fanctrl-linuxFramework laptop fan controller daemon and CLIExperimental
rocm-smi-libAMD ROCm System Management Interface library (provides librocm_smi64.so)Experimental
rog-control-center-linuxASUS ROG Control Center GUI and user daemon with XDG-first installationStable
visual-studio-code-linux@insidersOpen-source code editor (Insiders build)Stable
zed-linuxHigh-performance, multiplayer code editorExperimental
zed-linux@previewHigh-performance, multiplayer code editor (preview build)Experimental

Use ujust bbrew to browse and install these packages. Follow the tap instructions if you want to do it by hand.

Package Updates​

Production Tap Experimental Tap

103 automated updates this month via GitHub Actions. Homebrew tap version bumps ensure Bluefin users always have access to the latest stable releases.

Quick Summary​
TapUpdates
production-tap45
experimental-tap58
View all production-tap updates (45)
PackageVersionsPR
goose-linux1.29.0 → 1.33.1 (7 updates)#375
visual-studio-code-linux1.114.0 → 1.118.1 (5 updates)#377
lm-studio-linux0.4.9 → 0.4.12 (4 updates)#359
1password-gui-linux8.12.10 → 8.12.12 (2 updates)#363
antigravity-linux1.22.2 → 1.23.2 (2 updates)#357
linux-mcp-server1.4.0 → 1.4.1 (2 updates)#345
vscodium-linux1.116.02821#370
jetbrains-toolbox-linux3.4.3.81140#356
pmbootstrap3.10.1#330
framework-tool0.6.2#321
View all experimental-tap updates (58)
PackageVersionsPR
opencode-desktop-linux1.3.13 → 1.14.29 (15 updates)#340
craft-agents-linux0.8.2 → 0.8.12 (8 updates)#328
cursor-linux3.0.13 → 3.2.16 (5 updates)#339
emdash-linux0.4.47 → 0.4.50 (3 updates)#316
zed-linux0.233.10 → 1.0.0 (2 updates)#347
rider-linux2026.1.0.1 → 2026.1.1 (2 updates)#338
dockerd-linux29.4.0 → 29.4.1 (2 updates)#303
datagrip-linux2026.1.1 → 2026.1.2 (2 updates)#280
pycharm-linux2026.1.1#341
webstorm-linux2026.1.1#332
phpstorm-linux2026.1.1#331
clion-linux2026.1.1#320
goland-linux2026.1.1#321
intellij-idea-linux2026.1.1#322
rubymine-linux2026.1.1#324
rustrover-linux2026.1.1#325

Ecosystem​

area/brew area/bluespeed area/flatpak

Homebrew packages, AI/ML tools (Bluespeed), and Flatpak applications

Planned Work​

  • feat(bazaar): add SpeedOfSound to AI and Machine Learning section by @​repires in #286

Opportunistic Work​

Dakota (GNOME OS Prototype)​

System Services & Policies​

area/services area/policy

Systemd services and system-level policies

Planned Work​

  • fix(custom-command-menu): add menu icon settings to dconf distro database by @​dylanmtaylor in #274
  • feat(nvidia): add service to sync Flatpak driver version by @​ledif in #257

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Hardware​

area/hardware area/nvidia aarch64

Hardware support, drivers, NVIDIA GPU, and ARM64 architecture

Planned Work​

  • Remove carriage returns in ublue-nvidia-flatpak-runtime-sync script that cause it to fail by @​akeeton in #279

Opportunistic Work​

  • fix(cards): restore foil prevVersion and LTS HWE kernel carry-forward by @​castrojo in #761
  • fix(ci): always re-fetch driver versions data on every build by @​castrojo in #701
  • fix(driver-versions): make shimmer visible in light mode by @​castrojo in #700
Dakota (GNOME OS Prototype)​

Infrastructure​

area/iso area/upstream area/buildstream area/finpilot area/just area/testing

ISO images, upstream integration, build systems, and testing frameworks

Planned Work​

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Documentation​

kind/documentation

Documentation improvements and additions

Planned Work​

Status: ChillOps

Opportunistic Work​

  • docs: remove GTS badges from README by @​repires in #4474
  • fix(readme): use picture element for dark/light mode card embed by @​castrojo in #4466
  • chore: delete docs directory by @​hanthor in #1250
  • blog: add video embed to Dakota Alpha 1 post by @​castrojo in #766
  • Update 2026-04-19-dakota-alpha-1.md by @​castrojo in #764
  • fix: use object-fit cover on playlist thumbnails to eliminate letterboxing by @​castrojo in #763
  • feat(music): add Syrens of Metal playlist as first in Legendary Adventures by @​castrojo in #762
  • fix(lts): parse new lts.YYYYMMDD release format by @​castrojo in #759
  • fix(sbom): fix GHCR tag pagination regex — \b fails after closing quote by @​castrojo in #757
  • fix(sbom): parse SPDX JSON format for LTS changelog card version chips by @​castrojo in #756
  • fix(artwork): remove duplicate Duality (Ultrawide) entry by @​castrojo in #754
  • feat(changelogs): rolling 12-month window for updates stream by @​castrojo in #750
  • feat(changelogs): show all apps by default; click header to expand card by @​castrojo in #749
  • feat(changelogs): collapse app cards by default in updates stream by @​castrojo in #748
  • fix(embed): use picture element for dark/light mode card snippet by @​castrojo in #747
  • fix(lint): remove unused chipName destructuring in loadStableDailyEve… by @​castrojo in #746
  • fix(changelogs): SBOM null-fallback, GHCR tag enumeration, cache key … by @​castrojo in #743
  • fix(sbom): SBOM-primary chips + resolve amd64 digest for oras discover by @​castrojo in #742
  • feat(changelogs): add embeddable PNG cards with dark/light themes and… by @​castrojo in #741
  • fix(images): make downloads optional to prevent crash when field abse… by @​castrojo in #740
  • feat(changelogs,ui): SBOM-driven chips, Dakota placeholder, pipewire/… by @​castrojo in #739
  • feat(changelogs,ui): SBOM-driven chips, Dakota placeholder, pipewire/… by @​castrojo in #738
  • feat(changelogs): SBOM-driven OS card chips — Dakota placeholder + pi… by @​castrojo in #737
  • feat(changelogs): unified OS releases stream with stable-daily, LTS, … by @​castrojo in #736
  • bugfix(docs): preserve homepage hero aspect ratio by @​castrojo in #735
  • fix(docs): replace hero PNGs with WebP, add trailingSlash, add perf t… by @​castrojo in #733
  • Feature/artwork gallery page by @​castrojo in #732
  • Feature/artwork gallery page by @​castrojo in #731
  • feat(docs): add Artwork gallery page with wallpapers, lightbox, and a… by @​castrojo in #728
  • fix(images): remove Metadata cache chip from images page by @​castrojo in #724
  • feat: add link to upstream docs about MOK enrollment by @​sebjag in #720
  • fix(reports): replace history query with GHA cache for new contributo… by @​castrojo in #723
  • feat: quick update by @​castrojo in #719
  • fix(eslint): remove unused FlatTimelineEvent import by @​castrojo in #717
  • feat(changelogs): OS release card design polish by @​castrojo in #716
  • feat(changelogs): add prominent OS release cards interleaved in timeline by @​castrojo in #715
  • fix(sbom): enforce sbom-only version sources across docs site by @​castrojo in #712
  • fix(sbom): enforce sbom-only version sources across docs surfaces by @​castrojo in #711
  • fix(firehose): seed firehose-apps.json with empty data; atomic write … by @​castrojo in #709
  • fix(audit): quick-win fixes from site-wide audit by @​castrojo in #708
  • feat(changelogs): add Firehose page with per-release package diffs by @​castrojo in #707
  • fix(changelogs): flatten firehose feed into per-release event stream … by @​castrojo in #706
  • feat(changelogs): add hero section with dinosaur and Firehose title by @​castrojo in #704
  • feat(changelogs): port Bluefin Firehose to /changelogs page by @​castrojo in #702
  • fix: remove a bunch of dead code by @​castrojo in #699
Dakota (GNOME OS Prototype)​

Tech Debt​

kind/tech-debt kind/parity

Maintenance work and feature parity between variants

Status: ChillOps


Automation​

kind/automation kind/github-action kind/renovate

CI/CD pipelines, GitHub Actions, and automated dependency updates

Planned Work​

Opportunistic Work​


Localization​

kind/translation

Translation and internationalization work

Status: ChillOps


Bot Activity​

Automation Percentage: 62.3% (308 bot PRs out of 494 total PRs)

RepositoryBot PRs% of Total
bluefin9318.8%
bluefin-lts6012.1%
dakota316.3%
common122.4%
documentation91.8%
View bot activity details

Build Health​

Raptor Race​

Keep Bluefin healthy with green builds. Wranglers apply within!

ImageSuccess RateSuccessesFailuresMonthly Change
bluefin:stable91.3%21120+10.7%
bluefin:latest89.8%20323+7%
bluefin:lts93.1%18814+18.4%
bluefin:lts-hwe94.1%19012+23%
bluefin-dx:lts93.1%18814+23%
bluefin-gdx:lts90%18120+136.8%
bluefin-dx:lts-hwe93.5%18813+20.2%

This Month's Highlights​

MetricValue
📊 Total Builds1465 builds across all images
🏆 Most Activebluefin:stable (231 builds)
💯 100% ClubNone. Vegeta is displeased.
⏱️ Avg Build Time20 minutes across all variants

Contributors​

New Lights​

We welcome our newest Guardians to the project.

"I do not know what the future holds. But I know this: with you at our side, there is nothing we cannot face."

—Commander Zavala

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Wayfinders​

"Define yourself by your actions."

—Lord Saladin

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Want to see the latest OS releases? Check out the Changelogs. For announcements and deep dives, read our Blog.

This report was automatically generated from todo.projectbluefin.io.


Generated on 2026-05-01
View Project Board | Report an Issue

Mesozoic March 2026

· 47 min read
Project Bluefin
Automation & Factory
Total Items118 (8 planned, 110 opportunistic)
Automation68.6% (258 bot PRs out of 376 total PRs)
Contributors17 total, 4 new

Desktop​

area/gnome area/aurora area/bling

GNOME desktop environment, Aurora variant (KDE), and terminal enhancements

Planned Work​

Opportunistic Work​

  • fix: upgrade selinux-policy to 43.x for GNOME 49 to resolve GDM failure by @​hanthor in #1242
  • feat: add Bazaar Companion extension by @​castrojo in #1243
  • fix(build): resolve dracut EXDEV and libjxl conflict in gnome-50 builds by @​hanthor in #1240
  • fix: install jxl-pixbuf-loader for JPEG-XL desktop backgrounds by @​hanthor in #1230
  • feat: add GNOME 50 full build pipeline with GNOME_VERSION build arg by @​hanthor in #1218
  • feat: add GNOME 50 testing builds (lts-testing-50, lts-hwe-testing-50) by @​hanthor in #1209
  • feat: switch from GNOME 48 to GNOME 49 by @​hanthor in #1207
  • Revert "feat(GNOME) : gnome 49 backport" by @​hanthor in #1192
  • feat(GNOME) : gnome 49 backport by @​hanthor in #1187
  • feat(driver-versions): add foil effects, Mesa/GNOME cards, CodeBlock refactor by @​castrojo in #694
Dakota (GNOME OS Prototype)​

Development​

area/dx

Development tools and IDE integrations

Planned Work​

Status: ChillOps

Opportunistic Work​

Homebrew​

Package Updates​

Production Tap Experimental Tap

78 automated updates this month via GitHub Actions. Homebrew tap version bumps ensure Bluefin users always have access to the latest stable releases.

Quick Summary​
TapUpdates
production-tap34
experimental-tap44
View all production-tap updates (34)
PackageVersionsPR
antigravity-linux1.20.3 → 1.21.9 (6 updates)#317
visual-studio-code-linux1.110.0 → 1.113.0 (5 updates)#311
vscodium-linux1.110.01571 → 1.112.01907 (4 updates)#309
goose-linux1.27.0 → 1.28.0 (4 updates)#304
jetbrains-toolbox-linux3.3.1.75249 → 3.4.1.78303 (3 updates)#310
lm-studio-linux0.4.7 → 0.4.8 (2 updates)#314
1password-gui-linux8.12.6 → 8.12.8 (2 updates)#302
framework-tool0.6.1#292
View all experimental-tap updates (44)
PackageVersionsPR
opencode-desktop-linux1.3.2 → 1.3.9 (5 updates)#253
emdash-linux0.4.41 → 0.4.45 (4 updates)#250
rider-linux2025.3.3 → 2026.1 (3 updates)#255
rustrover-linux2025.3.5 → 2026.1 (2 updates)#256
pycharm-linux2025.3.4 → 2026.1 (2 updates)#254
cursor-linux2.6.21 → 2.6.22 (2 updates)#240
craft-agents-linux0.8.0 → 0.8.1 (2 updates)#239
clion-linux2025.3.4 → 2026.1 (2 updates)#238
goland-linux2025.3.4 → 2026.1 (2 updates)#243
phpstorm-linux2025.3.4 → 2026.1 (2 updates)#245
rubymine-linux2025.3.4 → 2026.1 (2 updates)#247
dataspell-linux2026.1#252
datagrip-linux2026.1#241
dockerd-linux29.3.1#225
intellij-idea-linux2026.1#228
webstorm-linux2026.1#235

Ecosystem​

area/brew area/bluespeed area/flatpak

Homebrew packages, AI/ML tools (Bluespeed), and Flatpak applications

Planned Work​

Opportunistic Work​

  • feat: add Bazaar Companion extension by @​coxde in #4089
  • fix: turn off bazaar.service by @​renner0e in #4264
  • fix(antigravity): URL scheme handling, user guidance, and added path by @​hanthor in #290
  • chore: bump craft-agents-linux 0.6.0 by @​KiKaraage in #196
  • fix(emacs-app-linux): avoid on_arch_conditional errors and improve WM_CLASS handling by @​dtg01100 in #189
  • fix: use experimental tap path throughout bottle workflow by @​hanthor in #201
  • fix: fully-qualify bluefin-cli tap in bottle workflow by @​hanthor in #199
  • fix: use supported macOS x86 runner for bluefin-cli bottles by @​hanthor in #198
  • chore: switch bluefin-cli to Homebrew Go formula + bottles by @​hanthor in #197
  • Update Homebrew installation command for bluefin-cli by @​hanthor in #672
  • feat(reports): add 'New Applications' section for Homebrew additions by @​castrojo in #653
  • chore(deps): pin homebrew/actions action to 8f52032 by @​mergeraptor in #42

System Services & Policies​

area/services area/policy

Systemd services and system-level policies

Planned Work​

Status: ChillOps

Opportunistic Work​


Hardware​

area/hardware area/nvidia aarch64

Hardware support, drivers, NVIDIA GPU, and ARM64 architecture

Planned Work​

Status: ChillOps

Opportunistic Work​

  • fix(ci): replace cosign attest with oras attach and use RPM-bundled nvidia-install.sh by @​buggerman in #4274
  • fix:DRACUT_TMPDIR export for kernel swap by @​hanthor in #1251
  • fix(gdx): guard nvidia-modeset.conf copy for arm64 by @​hanthor in #1232
  • fix(gdx): remove stale kernel-pin, follow coreos-stable akmods by @​hanthor in #1231
  • feat(driver-versions): rebuild page as timeline with per-release reba… by @​castrojo in #684
  • Feat/driver versions redesign by @​castrojo in #665

Infrastructure​

area/iso area/upstream area/buildstream area/finpilot area/just area/testing

ISO images, upstream integration, build systems, and testing frameworks

Planned Work​

Status: ChillOps

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Documentation​

kind/documentation

Documentation improvements and additions

Planned Work​

Status: ChillOps

Opportunistic Work​

  • chore(renovate): group eslint and @typescript-eslint in one PR by @​castrojo in #698
  • chore(deps): update step-security/harden-runner action to v2.16.1 by @​mergeraptor in #689
  • docs(downloads): add weekly lts-hwe testing download table by @​castrojo in #695
  • fix(images): address issue #20 reviewer feedback — cert identity, par… by @​castrojo in #690
  • fix(images): wire fetch-github-images into fetch-data chain by @​castrojo in #686
  • docs(downloads,driver-versions): fix links and remove backup ISO section by @​castrojo in #685
  • feat(images): add images catalog page by @​castrojo in #683
  • feat(changelogs): prototype changelog card UI with supply chain and c… by @​castrojo in #682
  • docs: Docs/lts hwe testing download links by @​castrojo in #681
  • doc: include podman settings in devcontainers doc resolves #661 by @​NahsiN in #673
  • fix(reports): correct workflow ID and add PR pagination by @​castrojo in #679
  • Remove 'mods' from AI tools documentation by @​mmartinortiz in #659
  • fix(docs): correct Goose and OpenCode MCP config for dosu by @​castrojo in #669
  • blog: add hanthor profile card to bluefin-cli announcement by @​castrojo in #667
  • blog: announce bluefin-cli for Mac and Windows (WSL) by @​castrojo in #666
  • feat(changelogs): redesign changelog page with combined feed and commit view by @​castrojo in #664
  • docs: remove retired GTS references from active documentation by @​castrojo in #663
  • Update installation instructions for Lenovo ThinkPad users by @​jfmongrain in #656
  • Document early alpha bluefin-cli for cross-platform use by @​hanthor in #662
  • feat: goobye Bluefin GTS by @​castrojo in #654
  • docs(agents): rewrite AGENTS.md and remove stale planning artifacts by @​castrojo in #38

Tech Debt​

kind/tech-debt kind/parity

Maintenance work and feature parity between variants

Planned Work​

Opportunistic Work​

  • fix(packages): add autofs and restrict ROCm to non-nvidia dx by @​castrojo in #4370

Automation​

kind/automation kind/github-action kind/renovate

CI/CD pipelines, GitHub Actions, and automated dependency updates

Planned Work​

Opportunistic Work​


Localization​

kind/translation

Translation and internationalization work

Planned Work​

Opportunistic Work​

Status: ChillOps


Other​


Bot Activity​

Automation Percentage: 68.6% (258 bot PRs out of 376 total PRs)

RepositoryBot PRs% of Total
bluefin8422.3%
bluefin-lts7319.4%
dakota133.5%
documentation92.4%
common10.3%
View bot activity details

Build Health​

Raptor Race​

Keep Bluefin healthy with green builds. Wranglers apply within!

ImageSuccess RateSuccessesFailuresMonthly Change
bluefin:stable82.1%18440+23.6%
bluefin:latest83.5%18236+6.5%
bluefin:lts78.6%27274+15.2%
bluefin:lts-hwe76.5%26080+5.8%
bluefin-dx:lts75.7%25682+26.4%
bluefin-gdx:lts38%128209-25.9%
bluefin-dx:lts-hwe77.8%26375+30.8%

This Month's Highlights​

MetricValue
📊 Total Builds2141 builds across all images
🏆 Most Activebluefin:lts (346 builds)
💯 100% ClubNone. Vegeta is displeased.
⏱️ Avg Build Time17 minutes across all variants

Contributors​

New Lights​

We welcome our newest Guardians to the project.

"I do not know what the future holds. But I know this: with you at our side, there is nothing we cannot face."

—Commander Zavala

Loading...
Loading...
Loading...

Wayfinders​

"Define yourself by your actions."

—Lord Saladin

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Want to see the latest OS releases? Check out the Changelogs. For announcements and deep dives, read our Blog.

This report was automatically generated from todo.projectbluefin.io.


Generated on 2026-04-02
View Project Board | Report an Issue

Fossil February 2026

· 31 min read
Project Bluefin
Automation & Factory
Total Items71 (9 planned, 62 opportunistic)
Automation70.2% (167 bot PRs out of 238 total PRs)
Contributors17 total, 7 new

Desktop​

area/gnome area/aurora area/bling

GNOME desktop environment, Aurora variant (KDE), and terminal enhancements

Planned Work​

Status: ChillOps

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Development​

area/dx

Development tools and IDE integrations

Planned Work​

Status: ChillOps

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Homebrew​

New Applications​

The following applications were added to our Homebrew taps this month:

ApplicationDescriptionStatus
craft-agents-linuxWork with most powerful agents in the world, with the UX they deserveExperimental
emdash-linuxAgentic development environment for running multiple coding agents in parallelExperimental

Use ujust bbrew to browse and install these packages. Follow the tap instructions if you want to do it by hand.

Package Updates​

Production Tap Experimental Tap

58 automated updates this month via GitHub Actions. Homebrew tap version bumps ensure Bluefin users always have access to the latest stable releases.

Quick Summary​
TapUpdates
production-tap42
experimental-tap16
View all production-tap updates (42)
PackageVersionsPR
goose-linux1.22.2 → 1.26.1 (9 updates)#276
antigravity-linux1.16.5 → 1.19.6 (6 updates)#274
vscodium-linux1.108.20787 → 1.109.51242 (6 updates)#261
lm-studio-linux0.4.2 → 0.4.6 (5 updates)#277
visual-studio-code-linux1.109.0 → 1.109.5 (5 updates)#259
1password-gui-linux8.12.2 → 8.12.5 (3 updates)#273
linux-mcp-server1.3.0 → 1.3.2 (3 updates)#257
jetbrains-toolbox-linux3.3.0.74186#271
View all experimental-tap updates (16)
PackageVersionsPR
opencode-desktop-linux1.1.48 → 1.1.53 (5 updates)#182
cursor-linux2.4.28 → 2.4.30 (2 updates)#184
datagrip-linux2025.3.4 → 2025.3.5 (2 updates)#181
pycharm-linux2025.3.2.1#176
webstorm-linux2025.3.2#160
rubymine-linux2025.3.2#159
phpstorm-linux2025.3.2#158
intellij-idea-linux2025.3.2#156
clion-linux2025.3.2#153

Ecosystem​

area/brew area/bluespeed area/flatpak

Homebrew packages, AI/ML tools (Bluespeed), and Flatpak applications

Planned Work​

Opportunistic Work​


System Services & Policies​

area/services area/policy

Systemd services and system-level policies

Planned Work​

Opportunistic Work​

Status: ChillOps


Hardware​

area/hardware area/nvidia aarch64

Hardware support, drivers, NVIDIA GPU, and ARM64 architecture

Planned Work​

Status: ChillOps

Opportunistic Work​


Infrastructure​

area/iso area/upstream area/buildstream area/finpilot area/just area/testing

ISO images, upstream integration, build systems, and testing frameworks

Planned Work​

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Documentation​

kind/documentation

Documentation improvements and additions

Planned Work​

Status: ChillOps

Opportunistic Work​


Tech Debt​

kind/tech-debt kind/parity

Maintenance work and feature parity between variants

Planned Work​

Status: ChillOps

Opportunistic Work​


Automation​

kind/automation kind/github-action kind/renovate

CI/CD pipelines, GitHub Actions, and automated dependency updates

Planned Work​

Status: ChillOps

Opportunistic Work​

  • feat: migrate changelog generation to external action by @​hanthor in #1125
  • feat: fix changelog generation and add HWE kernel comparison table by @​castrojo in #1116
  • chore(renovate): enable automerge for additional container digests by @​castrojo in #1106

Localization​

kind/translation

Translation and internationalization work

Planned Work​

Opportunistic Work​

Status: ChillOps


Other​


Bot Activity​

Automation Percentage: 70.2% (167 bot PRs out of 238 total PRs)

RepositoryBot PRs% of Total
bluefin5021.0%
bluefin-lts3615.1%
documentation166.7%
dakota72.9%
View bot activity details

Build Health​

Raptor Race​

Keep Bluefin healthy with green builds. Wranglers apply within!

ImageSuccess RateSuccessesFailuresMonthly Change
bluefin:stable54.7%8772-37.2%
bluefin:gts53.8%5648-33.8%
bluefin:latest64.1%9855-26.8%
bluefin:lts68.2%10750+14%
bluefin:lts-hwe72.3%11544+22.3%
bluefin-dx:lts59.9%9463+0.8%
bluefin-gdx:lts51.3%8177+60.8%
bluefin-dx:lts-hwe0%00+0%

This Month's Highlights​

MetricValue
📊 Total Builds1047 builds across all images
🏆 Most Activebluefin:stable (159 builds)
💯 100% ClubNone. Vegeta is displeased.
⏱️ Avg Build Time18 minutes across all variants

Contributors​

New Lights​

We welcome our newest Guardians to the project.

"I do not know what the future holds. But I know this: with you at our side, there is nothing we cannot face."

—Commander Zavala

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Wayfinders​

"Define yourself by your actions."

—Lord Saladin

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Want to see the latest OS releases? Check out the Changelogs. For announcements and deep dives, read our Blog.

This report was automatically generated from todo.projectbluefin.io.


Generated on 2026-03-01
View Project Board | Report an Issue

Jurassic January 2026

· 33 min read
Project Bluefin
Automation & Factory
Total Items129 (36 planned, 93 opportunistic)
Automation53.9% (151 bot PRs out of 280 total PRs)
Contributors19 total, 9 new

Desktop​

area/gnome area/aurora area/bling

GNOME desktop environment, Aurora variant (KDE), and terminal enhancements

Planned Work​

  • feat: Add org.gnome.SoundRecorder to system-flatpaks by @​LorbusChris in #183
  • fix(mise): Auto install and activate mise unless told otherwise by @​rwaltr in #161
  • fix(fish): trigger ublue-motd from fish by default by @​rwaltr in #151
  • feat(bluefin, gschemas): specify mutter experimental features directly on gschema by @​tulilirockz in #124
  • chore(bluefin, motd): documentation should be https instead of http by @​tulilirockz in #114
  • fix: #3919 add no-op for appimage files by @​sebjag in #109
  • feat: add everything from bluefin-schemas and bluefin(lts) by @​renner0e in #101

Opportunistic Work​


Development​

area/dx

Development tools and IDE integrations

Planned Work​

Opportunistic Work​

Homebrew​

New Applications​

The following applications were added to our Homebrew taps this month:

ApplicationDescriptionStatus
antigravity-linuxAI Coding Agent IDEStable
goose-linuxOpen source, extensible AI agent that goes beyond code suggestionsStable
linux-mcp-serverMCP server for Linux system administration and diagnosticsStable
opencode-desktop-linuxOpen source AI coding agent desktop clientExperimental

Use ujust bbrew to browse and install these packages. Follow the tap instructions if you want to do it by hand.

Package Updates​

Production Tap Experimental Tap

75 automated updates this month via GitHub Actions. Homebrew tap version bumps ensure Bluefin users always have access to the latest stable releases.

Quick Summary​
TapUpdates
production-tap31
experimental-tap44
View all production-tap updates (31)
PackageVersionsPR
goose-linux1.21.1 → 1.22.1 (8 updates)#228
lm-studio-linux0.3.39 → 0.4.1 (5 updates)#229
antigravity-linux1.15.8 → 1.14.2 (3 updates)#201
visual-studio-code-linux1.108.2 → 1.108.0 (3 updates)#197
pmbootstrap3.8.0 → 3.9.0 (2 updates)#214
framework-tool0.5.0#212
linux-mcp-server1.2.1#222
vscodium-linux1.108.10359#203
1password-gui-linux8.12.0#211
View all experimental-tap updates (44)
PackageVersionsPR
opencode-desktop-linux1.1.36 → 1.1.47 (12 updates)#173
cursor-linux2.4.21 → 2.4.22 (9 updates)#167
rustrover-linux2025.3.2 → 2025.3.3 (2 updates)#169
pycharm-linux2025.3.1.1 → 2025.3.2 (2 updates)#166
goland-linux2025.3.1.1 → 2025.3.1 (2 updates)#112
dataspell-linux2025.3.2#171
rider-linux2025.3.2#172
intellij-idea-linux2025.3.1.1#113
phpstorm-linux2025.3.1.1#114
webstorm-linux2025.3.1.1#115
datagrip-linux2025.3.3#117
clion-linux2025.3.1.1#128
rubymine-linux2025.3.1.1#130

Ecosystem​

area/brew area/bluespeed area/flatpak

Homebrew packages, AI/ML tools (Bluespeed), and Flatpak applications

Planned Work​

  • feat: add Multiplication Puzzle to Education curation for Bazaar by @​KiKaraage in #96
  • feat: add Whis to "AI & Machine Learning" Bazaar curation by @​KiKaraage in #178
  • feat: add jetbrains-mono-nerd-font to font brewfile by @​inffy in #177
  • fix: update brewfiles with latest homebrew packages by @​hanthor in #173
  • chore: move opencode from homebrew-core to developer tap by @​ahmedadan in #168
  • fix: make installed-pill more readable by @​renner0e in #112
  • feat(bluefin): add system-flatpaks brewfiles on this repository so we dont need them on every repo by @​tulilirockz in #113
  • feat(ai): add goose-linux gui by @​castrojo in #107
  • feat: add Jan flatpak to ai-tools Brewfile by @​coxde in #98

Opportunistic Work​


System Services & Policies​

area/services area/policy

Systemd services and system-level policies

Planned Work​

Opportunistic Work​


Hardware​

area/hardware area/nvidia aarch64

Hardware support, drivers, NVIDIA GPU, and ARM64 architecture

Planned Work​

Status: ChillOps

Opportunistic Work​


Infrastructure​

area/iso area/upstream area/buildstream area/finpilot area/just area/testing

ISO images, upstream integration, build systems, and testing frameworks

Planned Work​

Opportunistic Work​

Dakota (GNOME OS Prototype)​

Documentation​

kind/documentation

Documentation improvements and additions

Planned Work​

Opportunistic Work​


Tech Debt​

kind/tech-debt kind/parity

Maintenance work and feature parity between variants

Planned Work​

Opportunistic Work​


Automation​

kind/automation kind/github-action kind/renovate

CI/CD pipelines, GitHub Actions, and automated dependency updates

Planned Work​

Opportunistic Work​


Localization​

kind/translation

Translation and internationalization work

Planned Work​

Opportunistic Work​

Status: ChillOps


Other​


Bot Activity​

Automation Percentage: 53.9% (151 bot PRs out of 280 total PRs)

RepositoryBot PRs% of Total
bluefin3412.1%
bluefin-lts248.6%
documentation103.6%
iso72.5%
common10.4%
View bot activity details

Build Health​

Raptor Race​

Keep Bluefin healthy with green builds. Wranglers apply within!

ImageSuccess RateSuccessesFailuresMonthly Change
bluefin:stable87.1%23635+7.1%
bluefin:gts81.3%12629+10.9%
bluefin:latest87.6%23433+4.5%
bluefin:lts59.8%189127-23.8%
bluefin:lts-hwe59.1%185128-26.9%
bluefin-dx:lts59.4%186127-24.3%
bluefin-gdx:lts31.9%100213-37.2%
bluefin-dx:lts-hwe0%00+0%

This Month's Highlights​

MetricValue
📊 Total Builds1948 builds across all images
🏆 Most Activebluefin:lts (316 builds)
💯 100% ClubNone. Vegeta is displeased.
⏱️ Avg Build Time18 minutes across all variants

Contributors​

New Lights​

We welcome our newest Guardians to the project.

"I do not know what the future holds. But I know this: with you at our side, there is nothing we cannot face."

—Commander Zavala

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Wayfinders​

"Define yourself by your actions."

—Lord Saladin

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Want to see the latest OS releases? Check out the Changelogs. For announcements and deep dives, read our Blog.

This report was automatically generated from todo.projectbluefin.io.


Generated on 2026-03-01
View Project Board | Report an Issue

Deinonychus December 2025

· 16 min read
Project Bluefin
Automation & Factory
Total Items83 (49 planned, 34 opportunistic)
Automation34.1% (43 bot PRs out of 126 total PRs)
Contributors16 total, 14 new

Desktop​

area/gnome area/aurora area/bling

GNOME desktop environment, Aurora variant (KDE), and terminal enhancements

Planned Work​

Opportunistic Work​

  • refactor: migrate GNOME extensions from COPR to git submodules by @​ahmedadan in #938
  • feat(prompts): add conventional commit prompt and guidelines by @​castrojo in #529

Development​

area/dx

Development tools and IDE integrations

Planned Work​

Opportunistic Work​

Homebrew​

New Applications​

The following applications were added to our Homebrew taps this month:

ApplicationDescriptionStatus
docker-rootless-linuxDocker static binaries with rootless extrasExperimental
libvirt-fullC virtualization API, now with udev supportExperimental
ydotoolGeneric command-line automation tool (no X!)Experimental

Use ujust bbrew to browse and install these packages. Follow the tap instructions if you want to do it by hand.

Package Updates​

Production Tap Experimental Tap

37 automated updates this month via GitHub Actions. Homebrew tap version bumps ensure Bluefin users always have access to the latest stable releases.

Quick Summary​
TapUpdates
production-tap16
experimental-tap21
View all production-tap updates (16)
PackageVersionsPR
vscodium-linux1.107.18605 → 1.107.18627 (2 updates)#183
lm-studio-linux0.3.35 → 0.3.36 (2 updates)#181
jetbrains-toolbox-linux3.2.0.65851#180
visual-studio-code-linux1.107.1#179
View all experimental-tap updates (21)
PackageVersionsPR
cursor-linux2.2.36 → 2.3.15 (5 updates)#105
datagrip-linux2025.3.1 → 2025.3.2 (2 updates)#92
bluefin-cli0.0.2 → 0.0.3 (2 updates)#89
dataspell-linux2025.3.1#91
rustrover-linux2025.3.1#86
phpstorm-linux2025.3.1#85
antigravity-linux1.13.3#83
webstorm-linux2025.3.1#87
clion-linux2025.3.1#75
intellij-idea-linux2025.3.1#78
pycharm-linux2025.3.1#79

Ecosystem​

area/brew area/bluespeed area/flatpak

Homebrew packages, AI/ML tools (Bluespeed), and Flatpak applications

Planned Work​

Opportunistic Work​


System Services & Policies​

area/services area/policy

Systemd services and system-level policies

Planned Work​

Opportunistic Work​

Status: ChillOps


Hardware​

area/hardware area/nvidia aarch64

Hardware support, drivers, NVIDIA GPU, and ARM64 architecture

Planned Work​

Status: ChillOps

Opportunistic Work​

  • ci: enable automerge for driver version PRs by @​castrojo in #530
  • fix: remove duplicate driver version entries and prevent future duplicates by @​castrojo in #519

Infrastructure​

area/iso area/upstream area/buildstream area/finpilot area/just area/testing

ISO images, upstream integration, build systems, and testing frameworks

Planned Work​

  • feat: add loading message to ujust bbrew command by @​castrojo in #97
  • feat(ci): add justfile validation by @​renner0e in #94
  • chore(ujust, bluefin): do not run rollback helper on centos by @​tulilirockz in #92
  • feat(just): add a generic shared just recipe by @​inffy in #84
  • feat: add ujust powerwash command for factory reset by @​castrojo in #75
  • fix: also install cli.Brewfile for bluefin-cli by @​renner0e in #69
  • feat(just): add clean-system back by @​renner0e in #66
  • feat: refactor opentabletdriver just recipe by @​inffy in #56
  • fix: use ujust and remove urrllink function by @​renner0e in #54
  • fix(ujust, update): always use bootc upgrade unless packages are being layered (for legacy rpm-ostree systems) by @​tulilirockz in #51
  • ujust: don't hardcode to /usr/bin/just so we can use homebrew just for ujust! by @​tulilirockz in #50
  • fix: remove resolve ujust recipe by @​castrojo in #47
  • chore(just): optionally include custom just recipes by @​tunix in #22

Opportunistic Work​

  • Fix style so actions can pass by @​jumpyvi in #107
  • chore(devcontainer): install legacy npm deps, add just, and configure port forwarding by @​eltorrero in #552

Documentation​

kind/documentation

Documentation improvements and additions

Planned Work​

Status: ChillOps

Opportunistic Work​


Tech Debt​

kind/tech-debt kind/parity

Maintenance work and feature parity between variants

Planned Work​

Opportunistic Work​

Status: ChillOps


Automation​

kind/automation kind/github-action kind/renovate

CI/CD pipelines, GitHub Actions, and automated dependency updates

Planned Work​

  • feat: enable merge queue in build workflow by @​castrojo in #46
  • Add regex manager for ublue-os artwork releases by @​inffy in #26

Opportunistic Work​

Status: ChillOps


Localization​

kind/translation

Translation and internationalization work

Status: ChillOps


Other​


Bot Activity​

Automation Percentage: 34.1% (43 bot PRs out of 126 total PRs)

RepositoryBot PRs% of Total
documentation54.0%
common10.8%
View bot activity details

Build Health​

Raptor Race​

Keep Bluefin healthy with green builds. Wranglers apply within!

ImageSuccess RateSuccessesFailuresMonthly Change
bluefin:stable81.3%22251+8.8%
bluefin:gts73.3%12646+7.8%
bluefin:latest83.8%22343+39.2%
bluefin:lts78.5%10228-1.6%
bluefin:lts-hwe80.8%10525+2.7%
bluefin-dx:lts78.5%10228-3%
bluefin-gdx:lts50.8%6664-28.8%
bluefin-dx:lts-hwe0%00+0%

This Month's Highlights​

MetricValue
📊 Total Builds1231 builds across all images
🏆 Most Activebluefin:stable (273 builds)
💯 100% ClubNone. Vegeta is displeased.
⏱️ Avg Build Time22 minutes across all variants

Contributors​

New Lights​

We welcome our newest Guardians to the project.

"I do not know what the future holds. But I know this: with you at our side, there is nothing we cannot face."

—Commander Zavala

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Wayfinders​

"Define yourself by your actions."

—Lord Saladin

Loading...
Loading...

Want to see the latest OS releases? Check out the Changelogs. For announcements and deep dives, read our Blog.

This report was automatically generated from todo.projectbluefin.io.


Generated on 2026-03-01
View Project Board | Report an Issue