Stegosaurus September 2026
Activity
Completed work across the configured factory portfolio.
Daily merged pull requests
Show the numbers
| Label | Merged pull requests |
|---|---|
| 2026-09-01 | 9 |
| 2026-09-02 | 14 |
| 2026-09-03 | 2 |
| 2026-09-04 | 10 |
| 2026-09-05 | 39 |
| 2026-09-06 | 47 |
| 2026-09-07 | 38 |
| 2026-09-08 | 35 |
| 2026-09-09 | 20 |
| 2026-09-10 | 76 |
| 2026-09-11 | 6 |
| 2026-09-12 | 34 |
| 2026-09-13 | 33 |
| 2026-09-14 | 39 |
| 2026-09-15 | 6 |
| 2026-09-16 | 14 |
| 2026-09-17 | 16 |
| 2026-09-18 | 39 |
| 2026-09-19 | 41 |
| 2026-09-20 | 78 |
| 2026-09-21 | 22 |
| 2026-09-22 | 81 |
| 2026-09-23 | 113 |
| 2026-09-24 | 48 |
| 2026-09-25 | 75 |
| 2026-09-26 | 63 |
| 2026-09-27 | 50 |
| 2026-09-28 | 15 |
| 2026-09-29 | 88 |
| 2026-09-30 | 49 |
Merged pull requests by repository
Show the numbers
| Label | Merged pull requests |
|---|---|
| projectbluefin/actions | 96 |
| projectbluefin/bonedigger | 7 |
| projectbluefin/common | 133 |
| projectbluefin/dakota | 133 |
| projectbluefin/documentation | 255 |
| projectbluefin/finpilot | 85 |
| projectbluefin/iso | 2 |
| projectbluefin/server | 134 |
| projectbluefin/testsuite | 77 |
| projectbluefin/utah | 150 |
| projectbluefin/utah-packages | 128 |
Merged pull requests by label
Show the numbers
| Label | Label assignments |
|---|---|
| 2-discussing | 5 |
| 3-clanker-queue | 26 |
| 3-human-queue | 26 |
| 4-review | 41 |
| agent/architect | 19 |
| agent/ci-maintainer | 4 |
| agent/quality | 32 |
| agent/scanner | 41 |
| agent/security | 4 |
| architecture | 17 |
| automerge | 83 |
| blocked | 4 |
| build | 10 |
| chore/deps | 82 |
| dependencies | 7 |
| flatcar-base | 6 |
| full-build | 2 |
| hive/hosted-projectbluefin-knuckle-gjvq | 82 |
| hold | 112 |
| javascript | 7 |
| kde | 11 |
| lgtm | 72 |
| needs-human | 14 |
| pr/needs-review | 63 |
| quality | 36 |
| release/blocked | 1 |
| release/ready | 4 |
| runner | 11 |
| security | 6 |
| size:XS | 1 |
| tech-debt | 1 |
| testing | 35 |
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
Publishing-lane cadence
Show the numbers
| Label | Dakota |
|---|---|
| 2026-09-01 | 0 |
| 2026-09-02 | 0 |
| 2026-09-03 | 0 |
| 2026-09-04 | 0 |
| 2026-09-05 | 0 |
| 2026-09-06 | 0 |
| 2026-09-07 | 5 |
| 2026-09-08 | 10 |
| 2026-09-09 | 0 |
| 2026-09-10 | 0 |
| 2026-09-11 | 0 |
| 2026-09-12 | 0 |
| 2026-09-13 | 0 |
| 2026-09-14 | 0 |
| 2026-09-15 | 0 |
| 2026-09-16 | 0 |
| 2026-09-17 | 0 |
| 2026-09-18 | 0 |
| 2026-09-19 | 0 |
| 2026-09-20 | 0 |
| 2026-09-21 | 0 |
| 2026-09-22 | 0 |
| 2026-09-23 | 0 |
| 2026-09-24 | 0 |
| 2026-09-25 | 14 |
| 2026-09-26 | 10 |
| 2026-09-27 | 22 |
| 2026-09-28 | 2 |
| 2026-09-29 | 2 |
| 2026-09-30 | 0 |
Release events
Show the numbers
| Label | Release events |
|---|---|
| 2026-09-21 | 1 |
| 2026-09-18 | 1 |
| 2026-09-16 | 1 |
| 2026-09-14 | 1 |
| 2026-09-09 | 1 |
| 2026-09-04 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-30 | 1 |
| 2026-09-29 | 1 |
| 2026-09-29 | 1 |
| 2026-09-29 | 1 |
| 2026-09-29 | 1 |
| 2026-09-29 | 1 |
| 2026-09-29 | 1 |
| 2026-09-28 | 1 |
| 2026-09-08 | 1 |
Release details remain on the canonical /changelogs surface.
Participation
Human and automated contributions with current contributors.
Human and automation activity
Show the numbers
| Label | Human | Automation |
|---|---|---|
| Report period | 780 | 420 |
Hive Leaderboard: Community Heroes
Celebrating our top community builders across the Project Bluefin factory
@castrojo272 PRscommondakotatestsuite+7Top Hero#02
@hanthor110 PRscommontestsuiteserver+4High Velocity#03
@kylerankin67 PRscommontestsuiteserver+6High Velocity#04
@mrbobbytables65 PRstestsuiteserveractions+4High Velocity#05
@Danathar59 PRscommondakotatestsuite+7High Velocity#06
@ahmedadan47 PRscommondakotadocumentationHigh Velocity#07
@mendezr32 PRscommontestsuiteserver+5New Light#08
@jeefy29 PRsserverNew Light#09
@Siddhj220616 PRscommonactionsfinpilotHigh Velocity#10
@repires15 PRscommontestsuiteactions+3High Velocity#11
@buggtb14 PRscommontestsuiteactions+2New Light#12
@dtg0110013 PRsserveractionsdocumentation+1High Velocity#13
@sramkrishna12 PRscommontestsuiteactions+2New Light#14
@arteeh5 PRscommonserverutah-packagesNew Light#15
@KiKaraage5 PRscommonactionsutahHigh Velocity#16
@HuntedRaven73 PRscommonactionsutahCross-Fleet#17
@clubanderson3 PRscommonutah-packages#18
@eltorrero3 PRscommonactions#19
@TB5162 PRsserverdocumentationNew Light#20
@bronson1 PRserverNew LightWelcome New Lights (11)
First-time guardians who made their mark in the factory this month.
Ecosystem context
Public ecosystem measures labelled with their native source windows.
Homebrew tap additions
Show the numbers
| Label | Additions |
|---|---|
| Production tap | 1 |
| Experimental tap | 3 |
Flathub downloads
Show the numbers
| Label | Downloads |
|---|---|
| 2026-09-01 | 3847891 |
| 2026-09-02 | 3704773 |
| 2026-09-03 | 3346979 |
| 2026-09-04 | 3546709 |
| 2026-09-05 | 3606051 |
| 2026-09-06 | 3971490 |
| 2026-09-07 | 4269175 |
| 2026-09-08 | 3641711 |
| 2026-09-09 | 3430562 |
| 2026-09-10 | 3964229 |
| 2026-09-11 | 4223264 |
| 2026-09-12 | 3427171 |
| 2026-09-13 | 3209228 |
| 2026-09-14 | 3253176 |
| 2026-09-15 | 6879476 |
| 2026-09-16 | 9581954 |
| 2026-09-17 | 5635105 |
| 2026-09-18 | 5799594 |
| 2026-09-19 | 6441098 |
| 2026-09-20 | 5626597 |
| 2026-09-21 | 5122010 |
| 2026-09-22 | 5022777 |
| 2026-09-23 | 4330136 |
| 2026-09-24 | 4717927 |
| 2026-09-25 | 4303001 |
| 2026-09-26 | 4377214 |
| 2026-09-27 | 4183987 |
| 2026-09-28 | 5367481 |
| 2026-09-29 | 5826789 |
| 2026-09-30 | 4203369 |
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 --trustwithbrew tap+brew trustby @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)
- feat(bluefin): ship ChairLift's privileged helper, policy and schemas by @castrojo in #1680
- fix(next): apply Dakota fdsdk patches and mesa-extra on next by @ahmedadan in #1700
- fix(next): apply Dakota fdsdk patches and mesa-extra on next by @ahmedadan in #1696
- feat(image): enable hardware video codecs for host apps by @ahmedadan in #1687
- fix(ghostscript): avoid CMYK crash in ROM profiles by @ahmedadan in #1682
- feat(image): ship nspawn for OCI-backed nspawn machines by @ahmedadan in #1681
- fix(libvirt): restore PolicyKit-authorized access by @ahmedadan in #1673
- fix(image): make /usr/local a real link to /var/usrlocal by @ahmedadan in #1661
- fix(ci): require diagnostic report intake by @castrojo in #1528
- feat(bluefin): add user-configured IBus Rime with Lua support by @KOTONEX in #1662
- revert(countme): restore pre-session common pin (#1649, #1656) by @castrojo in #1657
- fix(countme): pin shared weekly reporter by @castrojo in #1656
- fix(image): vendor libvirt and make shadowed packages actually ship by @ahmedadan in #1651
- fix(countme): ship shared Dakota reporter by @castrojo in #1649
- feat(countme): remove local countme client and units by @castrojo in #1622
- ci(release): require explicit stable promotion by @ahmedadan in #1637
- fix(gnome-shell): use portable unzip flags for extension installs by @ahmedadan in #1628
- fix(virtualization): prevent default NAT firewall failures by @ahmedadan in #1625
- fix(ujust): drop flatpak -y so polkit can prompt by @ahmedadan in #1630
- fix(bluefin): stop GDM fingerprint retry loop on unenrolled readers by @ahmedadan in #1627
- ci: gate merges on the PR build when a PR is labeled build by @ahmedadan in #1618
- fix(kernel): carry hid-asus build fix for OGC 7.2.6-ogc1 by @ahmedadan in #1617
- fix(kernel): carry hid-asus build fix for OGC 7.2.6-ogc1 on next by @ahmedadan in #1616
- chore(kernel): bump OGC gaming kernel to 7.2.6-ogc1 on testing by @ahmedadan in #1613
- chore(kernel): bump next to 7.3-rc3 and OGC 7.2.6-ogc1 by @ahmedadan in #1612
- ci: label-gated PR builds and SBOM job repair by @ahmedadan in #1610
- fix(ci): smoke-test the image Publish built, not the default-branch tip by @Danathar in #1605
- fix(ci): pin cosign to a digest-pinned installer instead of releases/latest by @Danathar in #1606
- chore(just): drop the monitor-pipeline recipe whose script no longer exists by @Danathar in #1607
- feat(ghostty): disable resize overlay by default to prevent Wayland loop by @castrojo in #1571
- fix(kernel): restore desktop capabilities across streams by @ahmedadan in #1598
- ci(next): empty NEXT_MERGED and track GBM master by @ahmedadan in #1590
- chore(next): track gnome-build-meta master by @ahmedadan in #1589
- feat: NVIDIA 615.71.09 and freedesktop-sdk 26.08.1 on testing by @ahmedadan in #1588
- feat: GNOME 51 and freedesktop-sdk 26.08 on testing by @ahmedadan in #1579
- ci(arm): pause automation until boot validation works by @ahmedadan in #1566
- fix(chunkah): fetch remote companion data before reading by @ahmedadan in #1564
- feat(chunkah): generate ownership during image builds by @ahmedadan in #1563
- feat(extensions): update syncthing-toggle to bluefin-bling v2 by @castrojo in #1557
- fix(ci): isolate ChairLift tests from runner defaults by @ahmedadan in #1550
- fix(brew): migrate ChairLift off the Frostyard tap by @ahmedadan in #1542
- fix(desktop): avoid broken and intrusive defaults by @ahmedadan in #1538
- fix(next): avoid adjacent dependency sync conflict by @ahmedadan in #1526
- fix(skills): make factory frontmatter parseable by @ahmedadan in #1525
- fix(extensions): preserve metadata when extracting ZIPs by @ahmedadan in #1518
- docs(factory): audit documentation and standardize skills by @castrojo in #1516
- feat(launcher): package vicinae and bind launcher toggle to Super+Space by @castrojo in #1515
- feat(ghostty): configure dual-theme to track GNOME Dark/Light style by @castrojo in #1514
- feat(extensions): swap bluetooth-battery-meter for budslink-companion and preinstall flatpak by @castrojo in #1512
- feat(extensions): package and enable quick-settings-audio-panel by @castrojo in #1511
- feat(extensions): package curated gnome shell extensions by @castrojo in #1510
- fix(devmode): adapt developer setup to Dakota by @ahmedadan in #1509
- fix(fastfetch): inherit Bluefin presentation from common by @ahmedadan in #1507
- chore(build): remove unreachable architecture configuration by @ahmedadan in #1499
- fix(scripts): gen-filemap refuses partial caches, tests pin kernel match by @ahmedadan in #1484
- feat(kernel): Linux 7.2 bump with Fedora-audited hardware enablement by @ahmedadan in #1473
- ci: revalidate retargeted PRs and document CI-run Justfile recipes by @ahmedadan in #1485
- fix(ci): open monthly filemap PRs against testing, not main by @ahmedadan in #1467
- fix(ci): sync-next owns files/linux-ogc with the rest of the kernel set by @ahmedadan in #1475
- chore(packages): bump uwelcome to v0.3.5 for the portal timeout fix by @ahmedadan in #1462
Contributors
Sources
github-activity: available (2026-09-01 to 2026-09-30): sourcegithub-lanes: available (2026-09-01 to 2026-09-30): sourcegithub-releases: available (2026-09-01 to 2026-09-30): sourcegithub-releases: available (2026-09-01 to 2026-09-30): sourcegithub-releases: available (2026-09-01 to 2026-09-30): sourcecountme: unavailable — Countme active-system measurement is incomplete. (2026-09-01 to 2026-09-30): sourcehomebrew: available (2026-09-01 to 2026-09-30): sourceflathub: available (2026-09-01 to 2026-09-30): source























