Skip to main content

Ornithopod October 2026

· 148 min read
Project Bluefin
Automation & Factory
Completed work
865
117 planned • 748 opportunistic
Contributors
24
6 first-time contributors

Activity

Completed work across the configured factory portfolio.

Daily merged pull requests

1,542merged pull requests
Source: GitHub GraphQL · October 2026 UTC (2026-10-01 to 2026-10-31)
Show the numbers
Daily merged pull requests data for October 2026 UTC (2026-10-01 to 2026-10-31)
LabelMerged pull requests
2026-10-0196
2026-10-0233
2026-10-03113
2026-10-0452
2026-10-0536
2026-10-0660
2026-10-0727
2026-10-0818
2026-10-0935
2026-10-1055
2026-10-1127
2026-10-1263
2026-10-1330
2026-10-1412
2026-10-1552
2026-10-1627
2026-10-1725
2026-10-1830
2026-10-1920
2026-10-2016
2026-10-2122
2026-10-2260
2026-10-2331
2026-10-2477
2026-10-2576
2026-10-2643
2026-10-27118
2026-10-2887
2026-10-2947
2026-10-3081
2026-10-3173

Merged pull requests by repository

1,542merged pull requests
Source: GitHub GraphQL · October 2026 UTC (2026-10-01 to 2026-10-31)
Show the numbers
Merged pull requests by repository data for October 2026 UTC (2026-10-01 to 2026-10-31)
LabelMerged pull requests
projectbluefin/actions59
projectbluefin/bonedigger12
projectbluefin/common171
projectbluefin/dakota62
projectbluefin/documentation131
projectbluefin/finpilot124
projectbluefin/iso1
projectbluefin/server167
projectbluefin/testsuite100
projectbluefin/utah422
projectbluefin/utah-packages293

Merged pull requests by label

1,627label assignments
Source: GitHub GraphQL · October 2026 UTC (2026-10-01 to 2026-10-31)
Show the numbers
Merged pull requests by label data for October 2026 UTC (2026-10-01 to 2026-10-31)
LabelLabel assignments
3-human-queue24
agent/quality1
agent/scanner61
approved219
architecture1
author/clanker163
author/hive38
automerge37
build31
chore/deps38
dco170
dependencies6
full-build40
hold59
javascript6
kde21
kind/bug1
kind/documentation1
lgtm2
merge-method/merge23
needs-human6
no-dco171
pr/needs-review3
release/ready19
reviewer-passed6
role/contributor31
role/newcomer2
role/trusted143
role/untrusted15
runner21
security1
sentinel-alert70
size:XS1
stage/050-review-pending78
stage/060-reviewed6
stage/070-fixing5
stage/071-needs-author2
stage/072-returned-to-contributor16
stage/074-adopted-by-hive8
stage/080-awaiting-merge-admission3
stage/085-needs-decision47
stage/090-ready-for-human-merge11
stage/095-pre-merge-soak10
stage/100-merge-queue7
stage/stalled2
triage/accepted1

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

24Passed
2Failed
26mMedian Run
Run History

Publishing-lane cadence

26publish runs
Source: GitHub Actions · October 2026 UTC (2026-10-01 to 2026-10-31)
Show the numbers
Publishing-lane cadence data for October 2026 UTC (2026-10-01 to 2026-10-31)
LabelDakota
2026-10-010
2026-10-020
2026-10-030
2026-10-040
2026-10-050
2026-10-060
2026-10-070
2026-10-080
2026-10-090
2026-10-100
2026-10-110
2026-10-120
2026-10-130
2026-10-140
2026-10-150
2026-10-160
2026-10-170
2026-10-180
2026-10-190
2026-10-200
2026-10-210
2026-10-220
2026-10-230
2026-10-244
2026-10-256
2026-10-260
2026-10-272
2026-10-284
2026-10-290
2026-10-302
2026-10-318

Release events

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

Participation

Human and automated contributions with current contributors.

Human and automation activity

1,542pull requests
Source: GitHub GraphQL · October 2026 UTC (2026-10-01 to 2026-10-31)
Show the numbers
Human and automation activity data for October 2026 UTC (2026-10-01 to 2026-10-31)
LabelHumanAutomation
Report period865677

Ecosystem context

Public ecosystem measures labelled with their native source windows.

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

Homebrew tap additions

0package additions
Source: Homebrew taps · October 2026 UTC (2026-10-01 to 2026-10-31)
Show the numbers
Homebrew tap additions data for October 2026 UTC (2026-10-01 to 2026-10-31)
LabelAdditions
Production tap0
Experimental tap0

Flathub downloads

188,449,724calendar-month downloads
Source: Flathub · 2026-10-01 to 2026-10-31 UTC
Show the numbers
Flathub downloads data for 2026-10-01 to 2026-10-31 UTC
LabelDownloads
2026-10-013790664
2026-10-024178757
2026-10-035839774
2026-10-045807313
2026-10-055485186
2026-10-064076079
2026-10-073932159
2026-10-084699786
2026-10-094371138
2026-10-104212819
2026-10-113947779
2026-10-124161937
2026-10-136569881
2026-10-149426095
2026-10-156103350
2026-10-165278367
2026-10-174847317
2026-10-185512393
2026-10-194974984
2026-10-204959750
2026-10-215610235
2026-10-2216799391
2026-10-238927907
2026-10-247862408
2026-10-256344634
2026-10-266614279
2026-10-279967883
2026-10-287439218
2026-10-295853787
2026-10-305220053
2026-10-315634401

Release details remain on the canonical /changelogs surface.

Completed work​

  • fix(bootc): treat composefs "already up to date" refusal as success by @​kylerankin in #1568
  • fix(flatpak): make FlatPark filter readable from sandboxed app stores by @​castrojo in #1595
  • chore: update motd by @​theMimolet in #1567
  • feat(bazaar): add popular AI editors to curated section by @​castrojo in #1552
  • fix(bazaar): offer native installs for Cursor and Antigravity by @​mendezr in #1573
  • feat(desktop): ship Compass launcher defaults by @​castrojo in #1356
  • ci: keep pull request check tools at reviewed versions by @​thatguywob in #1589
  • fix(brewfiles): trust third-party tap items so Homebrew 6+ loads them by @​hanthor in #1590
  • docs: correct the test workflow version note by @​j1mc in #1581
  • feat: add dakota extensions defaults + some renaming by @​theMimolet in #1523
  • feat(flatpak): add flatpark system remote with deduplication filter by @​castrojo in #1549
  • ci(release): install a pinned, checksum-verified git-cliff by @​Danathar in #1553
  • ci(renovate): label the testsuite pin # v1 so Renovate can bump it by @​Danathar in #1546
  • feat(gnome): bind Goose to Copilot+Enter and Ctrl+Alt+Backspace by @​castrojo in #1485
  • fix(brew): drop Tavern from system-dx-flatpaks Brewfile by @​castrojo in #1551
  • ci: keep assistant setup tools up to date by @​mendezr in #1574
  • fix: route Bluefin and Bluefin LTS bug reports to projectbluefin/common by @​kylerankin in #1566
  • fix: stop the bug-report tool repeating the shared-logs link on retry by @​kylerankin in #1561
  • fix(fastfetch): drop rpm-ostree and ship stat placeholders for bootc images by @​castrojo in #1491
  • docs(chairlift): update the vendored attribution to the cask-pin release by @​kylerankin in #1550
  • docs(skills): document ChairLift GUI vs helper version skew by @​kylerankin in #1547
  • docs(renovate): correct stale ChairLift rationale in packageRule by @​kylerankin in #1548
  • fix: skip app catalog refreshes on metered connections by @​arteeh in #1538
  • ci(validate): survive transient GitHub API failures in required checks by @​castrojo in #1470
  • fix(gnome): launch Mission Center directly from the system menu by @​castrojo in #1500
  • fix: clean-system prune only dangling images to match preview by @​kylerankin in #1488
  • fix(check-oci-refs): time out the registry check so a stalled build cannot hang forever by @​kylerankin in #1522
  • fix(homebrew): use the core casks for Zed and Antigravity CLI by @​Danathar in #1531
  • fix: drop disabled font-opendyslexic cask from the Fonts collection by @​kylerankin in #1536
  • docs(ghostty): link Dakota-specific theme override by @​castrojo in #1528
  • fix: clarify the drawing tablet installer description by @​arteeh in #1537
  • fix: stop audio configuration errors at login by @​arteeh in #1539
  • fix(bazaar): denylist Steam by @​castrojo in #1542
  • fix(ci): retry truncated GHCR bodies and malformed JSON in check-oci-refs by @​j1mc in #1472
  • feat: added a more ptyxis like look to ghostty by @​HuntedRaven7 in #1495
  • chore(motd): update sha + remove umotd tags by @​theMimolet in #1483
  • docs(skills): replace deleted docs/design link in image-identity.md by @​castrojo in #1492
  • ci(e2e): bump testsuite pin to pick up extension-default fix by @​castrojo in #1465
  • test(brew-preinstall): cover stranded ublue-os/tap chairlift migration and rollback by @​castrojo in #1469
  • fix(brew-preinstall): migrate legacy chairlift before the hash early-exit by @​dtg01100 in #1422
  • fix(prow): pass app-ref pin to reusable transfer workflow by @​dtg01100 in #1451
  • fix: point Ask Bluefin at ChairLift --ask-bluefin dispatcher by @​dtg01100 in #1430
  • chore(deps): enable automerge for ChairLift release bumps by @​castrojo in #1425
  • fix(actions-security): strip YAML quotes from uses: and catch flow-list pull_request_target by @​Danathar in #1434
  • fix(chairlift): bump CHAIRLIFT_SCHEMA_REF to match the shipped cask by @​kylerankin in #1463
  • feat(brew): install chairlift and bluefin-wallpapers-extra from projectbluefin/tap by @​castrojo in #1459
  • feat(artwork): swap wallpaper container to projectbluefin/bluefin-wallpapers-gnome by @​castrojo in #1435
  • fix(chairlift): point Help links at the pages their titles name by @​castrojo in #1414
  • fix(apps): stop OpenTabletDriver user service on uninstall by @​kylerankin in #1457
  • fix(chairlift): bump CHAIRLIFT_SCHEMA_REF to match the shipped cask by @​dtg01100 in #1452
  • fix(oem): install the Framework system tool under its upstream cask name by @​dtg01100 in #1450
  • chore: update motd by @​theMimolet in #1448
  • fix: record setup version only after the hook body succeeds by @​kylerankin in #1196
  • chore(prow): add /transfer command support for triagers by @​castrojo in #1444
  • chore(printing): remove printer CI, fixtures, and tracking docs by @​castrojo in #1439
  • feat: gate Prow triage commands and open area classification by @​castrojo in #1429
  • feat: move to Prow-based development by @​castrojo in #1426
  • fix(countme): report Bluefin Server (DDI, no bootc) by @​dtg01100 in #1419
  • fix(chairlift): bump CHAIRLIFT_SCHEMA_REF to match the shipped cask by @​dtg01100 in #1403
  • docs: remove dead specs, configs, and duplicated checks by @​castrojo in #1401
  • fix(ci): restore literal @v1 on issue lifecycle workflow refs by @​castrojo in #1404
  • docs(label-workflow): clarify manual maintainer release and verification gates by @​castrojo in #1398
  • feat(lifecycle): expand intake autolabelling and enforce 4-kind taxonomy by @​castrojo in #1397
  • docs(printer-app): record the unreviewed-release limit common cannot verify by @​dtg01100 in #1384
  • docs(label-workflow): match shared bot messages and released gate behavior by @​castrojo in #1390
  • feat: adopt shared issue lifecycle and reusable onboarding by @​castrojo in #1383
  • fix(nvidia): save VRAM where systemd-sleep may write it by @​hanthor in #1374
  • docs(bonedigger): correct stale lifecycle ownership in SKILL.md by @​dtg01100 in #1382
  • docs: complete common label migration guidance by @​castrojo in #1378
  • fix: preserve maintainer and reporter lifecycle Markdown formatting by @​castrojo in #1381
  • fix: preserve human issue acceptance until actual implementation merges by @​castrojo in #1380
  • fix: state exact Common lifecycle actions by @​castrojo in #1379
  • fix: keep common backlog migration quiet by @​castrojo in #1376
  • feat: streamline common issue intake and lifecycle by @​castrojo in #1367
  • docs(devmode): correct moby-engine claim in docker daemon caveat by @​dtg01100 in #1363
  • docs(factory-improvement): note common uses pilot lifecycle, not 1-triage/3-clanker-queue by @​dtg01100 in #1369
  • feat(ci): check the printer forks' shared FSDK junction contract by @​dtg01100 in #1291
  • docs: update gutenprint FSDK junction testing HEAD by @​kylerankin in #1352
  • docs(skills): update clankers to agents.projectbluefin.io redirect landing page by @​castrojo in #1364
  • fix(toggle-testing): refuse on testing-only and dated-testing tags by @​kylerankin in #1334
  • fix(libsetup): create versioning dir before opening the flock lock by @​kylerankin in #1326
  • docs(factory): reframe lifecycle ownership as Hive-managed by @​dtg01100 in #1351
  • docs(workflows): correct lifecycle ownership framing by @​mendezr in #1360
  • fix(bonedigger-report): restore hardware info capture in ujust report by @​dtg01100 in #1340
  • docs: correct lifecycle ownership in SHA pinning guidance by @​mendezr in #1348
  • docs(release-promotion): point fsdk-junction doc at scripts/check-printing-junction.py by @​dtg01100 in #1345
  • docs(skills): record bootc upgrade unified-storage overlay bug + workaround (#1332) by @​dtg01100 in #1344
  • docs: quality sweep and specification alignment by @​castrojo in #1349
  • feat(chairlift): ship the helper, policy and schemas from the pinned release by @​castrojo in #1279
  • fix(pwquality): disable dictionary check so initial-setup password reads strong by @​kylerankin in #1282
  • feat(just): wire up ujust contribute by @​buggtb in #1278
  • ci: derive the unit-tests catalog from disk (#1105) by @​kylerankin in #1261
  • fix(just): drop the needlessly-escaped }} from clean-system preview and gate justfile brace syntax by @​dtg01100 in #1286
  • feat(gnome): enable rounded blur on the shell popups by @​dtg01100 in #1287
  • docs(release): record printer-app version semantics contract and check it by @​dtg01100 in #1289
  • docs(security): establish org-wide GitHub Actions security baseline by @​repires in #1189
  • feat(countme): replace bluefin-countme with a daily projectbluefin-countme ping by @​castrojo in #1205
  • fix(flatpaks): drop Warehouse and Smile from default system-flatpaks by @​castrojo in #1284
  • fix(goose): ship fixed Linux diagnostics preset by @​castrojo in #1321
  • docs: reword stale bonedigger lifecycle ownership claim by @​dtg01100 in #1339
  • feat(brew): add opt-in nsl bundle by @​arteeh in #1322
  • docs: add knuckle to lifecycle caller pin lists by @​kylerankin in #1308
  • fix: restore Justfile test exclusion format and update skill index by @​castrojo in #1337
  • fix(clean-system): guard rpm-ostree cleanup for bootc images by @​kylerankin in #1335
  • docs(ci-tooling): add Internal refs heading for cross-skill anchor by @​dtg01100 in #1316
  • docs: document ipp-usb and raw USB ownership coexistence by @​kylerankin in #1223
  • docs(release-promotion): record the shared FSDK junction baseline for the printer appliances by @​dtg01100 in #1292
  • docs: correct false libvirt exclusion comment by @​castrojo in #1301
  • docs: correct stale issue-routing ownership attribution (bonedigger, not actions) by @​kylerankin in #1302
  • docs(design): add OGC branding decision record for gaming images by @​dtg01100 in #1288
  • docs(design): record Bluefin-contract centralization RFC for #1328 by @​dtg01100 in #1329
  • feat(skills): publish bluefin-review as the team review skill by @​castrojo in #1230
  • docs(braille-maturity): assess braille-printer-app before an OCI appliance by @​castrojo in #1290
  • docs(bonedigger): consolidate lifecycle workflow table by @​arteeh in #1314
  • fix: reconcile ci-tooling SKILL.md with bonedigger retention-pin exception by @​kylerankin in #1311
  • docs(wallpaper): explain Hidamari movie setup by @​arteeh in #1323
  • docs: correct stale bonedigger lifecycle references by @​mendezr in #1312
  • fix(e2e): publish v1-gate desktop screenshots on the stream tag by @​castrojo in #1079
  • ci(e2e): free runner disk with the org setup-runner action by @​castrojo in #1077
  • test(software): cover Compass FlatPark lifecycle and real Bazaar UI by @​castrojo in #1075
  • fix(e2e): opt CI VMs out of the daily countme ping by @​hanthor in #1072
  • fix(e2e): default the test image to dakota:testing by @​Danathar in #1061
  • feat(e2e): test that first-boot setup really installs the default apps and tools by @​Danathar in #1051
  • docs: show how to run the GNOME 51 check on the published test image by @​Karibhou in #1029
  • feat(gnome): add a GNOME OS desktop check with real keyboard input by @​thatguywob in #1065
  • fix(e2e): run kde-smoke as one job instead of two shards by @​Danathar in #1064
  • fix(smoke): stop desktop tests waiting far too long when an app is missing by @​Danathar in #1056
  • docs: explain which service failures tests tolerate by @​Karibhou in #1052
  • fix(common): let the two immutable-OS checks ask with admin rights so a failure shows its cause by @​Karibhou in #1062
  • fix(e2e): gate the Bazzite suite and route assert_passed.py edits to kde-smoke by @​Danathar in #1050
  • fix(v1): hold v1 only for failures the tests at v1 do not have by @​Danathar in #1060
  • feat(v1): move v1 only after the merged tests boot (Option A) by @​Danathar in #1055
  • fix(smoke): stop Text Editor, Calculator, Settings and Firefox tests waiting far too long by @​Danathar in #1054
  • feat(gnome-e2e): check the GNOME OS test machine before it starts and record which build was tested by @​codebymarshall in #1035
  • fix(e2e): mandatory-coverage verdict blocks GNOME and KDE false green by @​kylerankin in #1045
  • feat(ci): list which real test-machine runs a change needs before it ships by @​codebymarshall in #1042
  • test(e2e): list every service the fast test run switches off and why by @​codebymarshall in #1040
  • fix(lifecycle): require proof that the updated image actually ran by @​thatguywob in #1047
  • docs: define how to test desktop startup and first login by @​thatguywob in #1043
  • fix(lifecycle): require a real upgrade instead of skipping no-op qualification by @​kylerankin in #1039
  • docs(gnome): update line citation for suite input in action.yml by @​mrbobbytables in #1041
  • fix(e2e): clone grim from its new home, pinned, with retry by @​Danathar in #1034
  • fix(smoke): restore checks for default PDF, image, and video apps by @​thatguywob in #1028
  • docs(gnome): fix the GNOME OS extension-validation lane doc, which still said the gate was not wired by @​kylerankin in #1031
  • test: Protect extension test reports in consumer projects by @​thatguywob in #1020
  • feat(gnome-e2e): gate extension-validation runs with mandatory service gate by @​j1mc in #991
  • fix(e2e): name the CI sudoers drop-in so it sorts after wheel by @​Danathar in #1011
  • feat(gnome): add GNOME OS extension-validation gate and lane docs (#908) by @​castrojo in #916
  • docs: correct the GNOME launch-wait time in the testing guide by @​kylerankin in #1008
  • fix(smoke): skip Search Light scenario where the extension is not shipped by @​hanthor in #987
  • fix(smoke): unblock power_status and GNOME Settings panel scenarios by @​hanthor in #986
  • fix(quarantine): keep the quarantine date across a feature-file rename by @​Danathar in #971
  • fix(scripts): keep validate_docs.py from tracebacking on out-of-repo links or list-valued category/status by @​dtg01100 in #958
  • test(gnome): cover Shade overview clones and widget helper/dependency errors by @​dtg01100 in #936
  • fix(ci): list build-runner.yml in its own paths filter by @​dtg01100 in #947
  • docs(gnome): include extensions in e2e suite descriptions by @​mendezr in #946
  • docs(e2e): align Promote step wording in distribution paragraph by @​dtg01100 in #943
  • docs(ci): capture workflow-self-paths rule (ci-ops reference skill) by @​dtg01100 in #940
  • fix(gnome): reject unsafe extension ZIP members before staging by @​mendezr in #930
  • fix(ci): tolerate all-skipped suites in the desktop screenshot gate by @​kylerankin in #924
  • ci: validate runner-image builds on pull_request by @​kylerankin in #933
  • test(gnome): collect Hive extensions with behavioral Behave coverage by @​castrojo in #914
  • fix(e2e): add the test user to wheel so privileged user setup can run by @​juanresendiz813 in #925
  • fix(e2e): salvage truncated results.json from a crashed smoke lane by @​castrojo in #889
  • feat(gnome): add packaged-extension ZIP validator for #909 step 1 by @​kylerankin in #915
  • fix(common): gate the Logo Menu/custom-command-list dconf scenarios on the image contract by @​juanresendiz813 in #904
  • fix(dashboard): guard all required converter arguments by @​arteeh in #922
  • feat: package NetBird as opt-in sysext by @​mrbobbytables in #555
  • chore: add pyproject.toml and pin python 3.14 floor by @​mrbobbytables in #557
  • docs: an unpublished upstream tag now fails the local build with a clear message by @​kylerankin in #553
  • fix: make the weekly homelab cluster test stop failing at random by @​mrbobbytables in #566
  • fix(dogfood): open the installer's journal mirror after the journal flush by @​jeefy in #554
  • fix(sysext): order boot-time sysext refreshes after the module loads by @​jeefy in #547
  • ci(renovate): automerge through the merge queue with platformAutomerge by @​jeefy in #546
  • fix(homelab): pull Argo CD's Redis from Docker Hub, not ECR Public by @​jeefy in #545
  • ci(prow): enqueue with PROW_TOKEN so merge groups get their checks by @​jeefy in #542
  • fix(os): arm the hardware watchdog while the system runs by @​jeefy in #538
  • ci: merge queue with required checks, weekly opt-in e2e, coverage floor by @​jeefy in #536
  • feat: package Tailscale as opt-in sysext by @​castrojo in #537
  • docs: ruff target-version is the oldest Python caller, not the setup-python version by @​kylerankin in #533
  • feat(home-server): package and bundle nspawn.org CLI tool by @​castrojo in #535
  • test(installer): check that prompts and failures stay readable by @​arteeh in #529
  • docs: keep NVIDIA driver examples current by @​arteeh in #526
  • docs: link system container operators to the published guide by @​castrojo in #528
  • build(junction): bump fsdk-containers for the brew machine ssh client by @​castrojo in #515
  • feat(homebrew): install tmux and neovim for the Home Server owner by @​castrojo in #514
  • Revise README with installation profiles and updates by @​castrojo in #513
  • ci(release): stop the oras pin comments naming a version by @​jeefy in #505
  • test: assert each contract once; name tests for what they check by @​jeefy in #498
  • ci(boot-test): split the image artifact so each bucket downloads only what it reads by @​jeefy in #497
  • test: shellcheck every tracked shell script at one severity by @​jeefy in #499
  • test: run the unit tests in parallel and report coverage by @​jeefy in #500
  • fix: extra reboot attempts only with FleetLock; keep sshd starting after the homebrew sysext is unmerged by @​jeefy in #494
  • ci(release): publish image sizes and flag growth; report boot-test bucket durations by @​jeefy in #493
  • docs(ci): label ownership map and the automations that write them by @​jeefy in #492
  • feat(kernel): drop firmware-less Wi-Fi, Bluetooth and GPU drivers; compress vmlinuz with zstd by @​jeefy in #491
  • ci(boot-test): run the scenarios as a matrix behind one gate, preflight the host tools by @​jeefy in #490
  • feat(image): prune ICU from the initrd and the leftover tools from both trees by @​jeefy in #489
  • feat(installer): add Home Server as an explicit opt-in profile by @​castrojo in #486
  • feat(homebrew): ship the transparent bridge as an opt-in sysext by @​castrojo in #485
  • feat(runtimes): ship opt-in rootless Podman and Docker sysexts by @​castrojo in #484
  • feat(image): prune gnupg, cracklib, lvm2 and other command-line tools from /usr by @​jeefy in #487
  • feat(host): one static Go binary for the runtime helpers, replacing twelve bash scripts by @​jeefy in #488
  • fix(dogfood): do not judge console muting on the first held frame by @​jeefy in #481
  • ci(prow): mark the issue_comment trigger as a reviewed zizmor ignore by @​jeefy in #480
  • feat(prow): onboard server to Prow by @​castrojo in #441
  • fix(tpm): skip PCR-lock services on unsupported hardware by @​TB516 in #469
  • fix(build): declare explicit sed build-depend for image assembly by @​j1mc in #458
  • fix(build): declare explicit gzip build-depend for image assembly by @​j1mc in #460
  • fix(installer): mute console spam during prompts and boot by @​castrojo in #446
  • fix(installer): stop userspace wait-online on offline USB installer boots by @​mrbobbytables in #452
  • fix(installer): copy blocks directly from loop partitions during diskless install by @​mrbobbytables in #447
  • docs: streamline README and add skills documentation index by @​castrojo in #455
  • fix: refresh taiki-e/install-action pins to current v2 tip by @​kylerankin in #434
  • feat(updates): FleetLock reboot lock for non-Kubernetes fleets by @​jeefy in #426
  • ci(track): open a tracking issue when a scheduled tracker fails by @​jeefy in #425
  • docs: element path note, image-version dev default, record the #249 kernel decision by @​jeefy in #423
  • feat(boot): build shim with the Bluefin vendor cert behind a shim option by @​jeefy in #427
  • fix(dogfood): end the Secure Boot enrollment step on the enrolled marker by @​jeefy in #424
  • docs(installer): add step-by-step developer stick burn runbook by @​castrojo in #420
  • feat(image): prune unused files from /usr and the initrd, guarded by check-image by @​jeefy in #419
  • ci: pin taiki-e/install-action to v2.87.26 by @​jeefy in #415
  • feat: appliance hostname, Bash prompt and mDNS for every install by @​jeefy in #412
  • fix(sysupdate): make updatectl features work on installed and diskless nodes by @​jeefy in #411
  • feat: dedicated Ignition config keyring, allow-unsigned as one build option by @​jeefy in #410
  • fix(countme): re-track the reporter to common main and declare image-tag latest by @​jeefy in #408
  • ci: lint Python with ruff and type-check the scripts with mypy by @​jeefy in #409
  • ci: cache the dev-key kernel with a committed INSECURE dev module key by @​jeefy in #404
  • test(join): wait for the source slot between rate-limit attempts by @​jeefy in #406
  • ci: Go tests, unfiltered checks, pinned CI deps, workflow linting, nightly alerts by @​jeefy in #401
  • ci: reproducibility covers every shipped element, shared CI scripts, doc drift by @​jeefy in #403
  • ci: main-only environments for secrets, build/boot-test/release correctness by @​jeefy in #402
  • fix(homelab): align dogfood checks with seeded sysexts by @​mendezr in #396
  • fix(cache): add Bluefin CAS to freedesktop-sdk junction project.conf by @​castrojo in #400
  • fix(homelab): add HSTS to add-on HTTPRoutes (issue #389) by @​dtg01100 in #390
  • feat(os): current IANA protocols/services, tracked by date (Fixes #318) by @​jeefy in #397
  • feat(installer): console path from disk choice to login (#311) by @​jeefy in #394
  • fix(join): same-source replay rejected as busy while slot still held by @​kylerankin in #392
  • fix(ignition): apply unit presets beyond first boot by @​arteeh in #379
  • feat(homelab): terminate HTTPS on the Gateway for the LAN add-ons by @​dtg01100 in #383
  • feat(installer): check Secure Boot before erasing anything (#309) by @​jeefy in #388
  • fix(kernel): enable hardware watchdog core and drivers (issue #377) by @​dtg01100 in #384
  • fix(updates): enable bluefin-update-status.service on nodes that updated into this image by @​dtg01100 in #368
  • test: discover sysupdate feature/transfer pairs from disk; cover .feature schema by @​dtg01100 in #386
  • fix(kubestellar-console): raise memory limit so it stops getting OOM-killed by @​kylerankin in #381
  • fix(kubeadm): remove MetalLB exclude label on a single node by @​kylerankin in #378
  • fix(installer): install onto disks that are not empty (#359) by @​jeefy in #369
  • feat(updates): stick installs update out of the box, visibly (#310) by @​jeefy in #366
  • docs: add release asset guide and USB quick start by @​arteeh in #362
  • ci(kernel-cache): seed the project CAS instead of a ghcr.io tarball by @​ahmedadan in #365
  • feat(homelab): KubeStellar Console without GitHub OAuth, behind a gated login by @​jeefy in #363
  • docs: preserve README links for native rendering by @​castrojo in #364
  • feat(homelab): Argo Workflows, MCP server and KubeStellar Console add-on sysexts by @​jeefy in #358
  • fix(kubeadm): migrate /etc/containerd/config.toml to declare imports on next start by @​dtg01100 in #352
  • feat(nvidia): ship nvidia-container-runtime (CDI mode) so GPU Operator operands with runtimeClassName nvidia can start by @​jeefy in #350
  • fix(homelab): report a join rate limit before "busy" by @​jeefy in #357
  • feat: Bluefin Server Homelab profile (opt-in sysexts + Ignition templates, multi-node join) by @​jeefy in #353
  • fix(nvidia): blacklist nouveau and evict it before loading the open modules by @​jeefy in #348
  • ci(release): skip a release whose commit can no longer be tagged by @​jeefy in #332
  • ci(track-binaries): track the NVIDIA Container Toolkit by its tag's commit by @​jeefy in #333
  • build(kernel-modules): sign and compress modules in parallel by @​jeefy in #331
  • fix(renovate-automerge): skip instead of failing when a dependency update changed just before merge by @​Danathar in #701
  • docs(composite-actions): retire legacy queue labels and reference Prow management by @​castrojo in #706
  • fix(reusable-build): fail the build when a published image is left unsigned by @​codebymarshall in #693
  • feat(pinned-fetches): supply-chain gate for unpinned, unverified downloads by @​kylerankin in #703
  • fix: pass branch-sync inputs via environment instead of inline shell by @​kylerankin in #675
  • docs(governance): remove obsolete 3-clanker-queue and align with prow management by @​castrojo in #705
  • fix(scan-image): warn when the security scan cannot check operating system packages by @​codebymarshall in #692
  • feat(promote-squash): forward a merge_note override to the PR body by @​Danathar in #680
  • fix(chunka): stop the build when its tool can't be downloaded instead of continuing as if it worked by @​kylerankin in #676
  • chore(ci): remove an unused workflow that could push test images to stable by @​codebymarshall in #696
  • fix(ci): catch alternate spellings of unapproved credentials by @​thatguywob in #684
  • chore: let the maintainers team approve as code owners by @​hanthor in #704
  • docs(supply-chain): list the Discord release-announcement key among approved secrets by @​codebymarshall in #694
  • fix(reusable-release): generate the inline SBOM in its own job by @​Danathar in #682
  • feat(create-release): add enable-desktop-screenshot input to omit screenshot section by @​castrojo in #673
  • feat(execute-release): add gate_test_ref to pin the release-gate testsuite by @​hanthor in #660
  • fix(ci): remove bluefin-lts from consumer workflows and docs by @​castrojo in #659
  • fix(factory): exclude pre-merge runs from factory health success rate by @​mendezr in #528
  • fix(ci): pin renovate automerge merge to the qualified commit by @​kylerankin in #649
  • fix(pkg-cadence): let first-seen packages reach bootstrap_interval() by @​Danathar in #641
  • feat(execute-release): plumb gate_extra_tags to the release gate by @​hanthor in #658
  • fix(render-pr-body): omit the screenshot section when the testsuite published none by @​tunix in #651
  • docs(skills): align pkg-cadence bootstrap doc with PR-based workflow by @​kylerankin in #643
  • fix(tests): reframe release-gate pin rationale onto testsuite repo by @​kylerankin in #637
  • fix(docs): point testsuite e2e pin at testsuite repo, not archived bluefin by @​kylerankin in #635
  • fix(workflows): drop misleading bluefin SHA-pin parenthetical in release-gate comment by @​dtg01100 in #627
  • docs(action-reference): bump download-artifact example to current SHA by @​dtg01100 in #632
  • fix(docs): align reusable-workflow pin check with bluefin floating @v1 by @​kylerankin in #620
  • fix(ci): align testsuite e2e.yml pins with release gate v1 pin by @​Danathar in #610
  • chore: preserve Markdown hard breaks in pre-commit and clean bats/Python fixtures by @​dtg01100 in #607
  • fix(issue-policy): allow trusted maintainer removal of human-only label by @​castrojo in #609
  • fix(issue-lifecycle): Hive decision pauses accepted issues instead of un-accepting by @​castrojo in #612
  • fix(issue-lifecycle): shorten lifecycle and Prow bot messages by @​castrojo in #611
  • feat: share reviewed issue lifecycle and constrained Prow onboarding by @​castrojo in #605
  • ci(sync-templates): stop syncing to archived bluefin and bluefin-lts by @​Danathar in #100
  • ci: add pull_request validation workflow for tests and pre-commit by @​kylerankin in #94
  • fix(ci): detect untracked templates and add workflow_dispatch trigger by @​castrojo in #82
  • docs: add ujust report screenshot analysis spec by @​castrojo in #43
  • fix(dakota): show NVIDIA driver, downloads first, left-aligned species by @​castrojo in #1641
  • feat(dakota): hero layout with dakotaraptor, wordmark, and inline release card by @​castrojo in #1640
  • Update video link in GitHub Universe trip report by @​castrojo in #1639
  • feat(blog): GitHub Universe 2026 Trip Report by @​castrojo in #1634
  • fix: exclude image bot from contributor counts by @​Karibhou in #1622
  • feat(analytics): show Utah's published images on the analytics page by @​hanthor in #1632
  • fix(reports): stop counting actions-user as a contributor by @​mrbobbytables in #1616
  • refactor: remove a leftover duplicate copy of the release-data checks by @​codebymarshall in #1617
  • fix: keep published update measurements unchanged by @​mendezr in #1604
  • i18n(de): translate installation.md for German by @​kylerankin in #1580
  • docs: explain how to sync files between two Bluefin computers by @​arteeh in #1579
  • fix(i18n/ko): fix garbled wording in the Press Kit by @​kylerankin in #1599
  • fix(analytics): make failed refreshes visible and isolate failure tests by @​castrojo in #1597
  • ci: run the lockfile's wrangler instead of a stale pinned copy by @​Danathar in #1596
  • fix(analytics): show actual org-wide contributor participation by @​castrojo in #1595
  • docs(ko): clean Konglish words and second-person in Korean prose by @​kylerankin in #1577
  • fix(analytics): align contributor layout, methodology, and chart series by @​castrojo in #1594
  • fix(analytics): align PR basis, add prsOpened, and remove synthetic fallbacks by @​castrojo in #1593
  • feat(analytics): add org contributor analytics pipeline and charts by @​castrojo in #1592
  • fix(analytics): plot the sum of all three Bluefin histories by @​castrojo in #1591
  • docs(analytics): separate contributor metrics section by @​castrojo in #1590
  • fix(analytics): include Classic total and remove churn charts by @​castrojo in #1589
  • fix(analytics): simplify charts and add daily Bluefin total by @​castrojo in #1588
  • Remove streams and throttle settings section by @​castrojo in #1586
  • Remove GNOME extensions recommendation section by @​castrojo in #1587
  • docs: add System Containers operator guide by @​castrojo in #1582
  • docs(troubleshooting): remove ujust probe references by @​castrojo in #1578
  • feat(changelogs): add Dakota release notes to changelog cards by @​castrojo in #1575
  • ci(countme): fail up front when Cloudflare secrets are missing by @​Danathar in #1573
  • Update downloads-testing.mdx with HP machines note by @​castrojo in #1574
  • docs(blog): Still Roaring: Bluefin Classic and LTS by @​juanresendiz813 in #1572
  • fix(tests): guard missing image releases data in catalog test by @​castrojo in #1570
  • feat(server): add versioned download boxes and release timeline by @​castrojo in #1569
  • fix(docs): redesign server page header and streamline hero layout by @​castrojo in #1568
  • docs(server): add enabling-extensions guide and remove gap-analysis-distros by @​castrojo in #1565
  • docs: simplify server operator guides for Linux sysadmins by @​castrojo in #1563
  • docs(navigation): rename User Guide to Desktop Guide and reorder sidebar categories by @​castrojo in #1562
  • docs(server): break out Bluefin Server into top-level collapsible section and render guide index by @​castrojo in #1561
  • fix(images): streamline Utah identity artwork and remove FanCollector chart by @​castrojo in #1543
  • docs(blog): add Fedora Hummingbird Linux podcast video post by @​castrojo in #1541
  • Revise title and add introduction to blog post by @​castrojo in #1542
  • fix(images): remove LTS card from images page by @​castrojo in #1534
  • fix(docs): remove lts from sidebar by @​castrojo in #1533
  • feat(images): replace the catalog with product cards and version pills by @​castrojo in #1531
  • Remove 't2-mac' from sidebar items by @​castrojo in #1530
  • feat(navigation): restore missing pages and organize into Lore category by @​castrojo in #1528
  • ci(pdf): patch import assertions for Node 24 compatibility by @​mrbobbytables in #1518
  • feat(pages): composite image template with testsuite QA screenshots by @​castrojo in #1527
  • feat(leaderboards): add season week groups, local model highlights, and section anchors by @​castrojo in #1524
  • feat: redesign recent milestones into moments of triumph emblems by @​castrojo in #1523
  • fix(driver-versions): omit Mesa and GNOME cards on Bluefin Server stream by @​castrojo in #1522
  • feat(driver-versions): add Bluefin Server stream and normalize tab shortcuts by @​castrojo in #1521
  • fix: refresh monthly social cards from projectbluefin artwork by @​castrojo in #1520
  • fix(drivers): recover historical snapshots and Mesa for Dakota by @​castrojo in #1519
  • docs: translate remaining Korean (ko) docs by @​kylerankin in #1479
  • Remove common contribution areas from guidelines by @​castrojo in #1513
  • docs(contributing): document issue triage and prow commands by @​castrojo in #1512
  • i18n(nl,zh-Hans): define Alpaca [^1] in translated ai.md by @​dtg01100 in #1496
  • i18n(de): translate administration.md, ai.md, bluefin-dx.md by @​dtg01100 in #1492
  • fix(churn): give Bluefin a discovered stable-daily tag series by @​kylerankin in #1507
  • fix(churn): make compareTagsByDate a strict total order under partial created_at coverage by @​dtg01100 in #1501
  • fix(churn): page build-time lookup until every matched tag is covered by @​dtg01100 in #1499
  • fix(reports): readable monthly report — leaderboard, bots, charts, drop projectbluefin/bluefin by @​castrojo in #1491
  • fix(blog): escape unclosed JSX tags in Stegosaurus report by @​castrojo in #1490
  • docs: translate remaining zh-Hans docs (agentic-contributing, contributors) by @​kylerankin in #1469
  • ci(monthly-reports): drop actions/cache restore for known-contributors.json by @​dtg01100 in #1486
  • i18n(it): translate mission.md and values.md by @​dtg01100 in #1474
  • docs: translate downloads page into Brazilian Portuguese by @​arteeh in #1468
  • docs: translate download and image pages into Korean by @​arteeh in #1467
  • docs: translate the installation guide into Italian by @​arteeh in #1466
  • fix: escape angle brackets in markdown-generator PR titles by @​kylerankin in #1487
  • docs(skills): update shipping-and-verifying branch rules and action_required pattern by @​castrojo in #1465
  • docs: translate download guides and image catalog into Simplified Chinese by @​arteeh in #1459
  • docs: translate code-of-conduct.md into German by @​dtg01100 in #1445
  • docs: translate zh-Hans core pages by @​kylerankin in #1446
  • docs: Dutch (nl) translations for core docs by @​kylerankin in #1443
  • fix(de): "Images" not "Bilder" for the container-image sidebar category by @​kylerankin in #1454
  • docs: translate command-line, supply-chain, dinosaurs and images into German by @​kylerankin in #1452
  • fix(de): use "image-basiert" not "bilderbasiert" for image-based updates by @​dtg01100 in #1457
  • docs: Fix headings in bluefin-dx by @​xordspar0 in #1456
  • Update downloads documentation to remove old content by @​castrojo in #1464
  • Remove outdated warning from downloads documentation by @​castrojo in #1463
  • feat(docs): render server README at build time by @​castrojo in #1462
  • feat(leaderboards): de-duplicate sections and showcase Hive newcomers by @​castrojo in #1458
  • docs(agents): reconcile data-pipeline contract with run-parallel.mjs by @​castrojo in #1328
  • i18n(ko): translate installation, command-line, mission, and values pages by @​mendezr in #1436
  • fix(docs): remove stray backslash in ublue akmods backtick note by @​dtg01100 in #1438
  • docs: add Portuguese (Brazil) i18n translations by @​castrojo in #1427
  • i18n(ja): translate index.md and UI strings for Japanese by @​dtg01100 in #1430
  • i18n(ru): translate index.md and UI strings for Russian by @​mrbobbytables in #1426
  • i18n(it): translate index.md and UI strings by @​dtg01100 in #1432
  • Translate docs: Dutch (nl) by @​kylerankin in #1431
  • docs: translate mission and values pages into German by @​mendezr in #1441
  • ci: pass GITHUB_TOKEN to update-churn compute step by @​kylerankin in #1435
  • ci(iso): reclaim runner disk before builds by @​bketelsen in #69
  • fix(iso): installers built from the stable release now keep machines on stable by @​codebymarshall in #595
  • fix(ci): refresh promotion PR on push to main by @​castrojo in #577
  • fix(validate-flatpaks): isolate flathub remote in FLATPAK_USER_DIR by @​castrojo in #565
  • fix(ci): bound the unit-tests Install bats step against slow apt mirrors by @​dtg01100 in #498
  • fix(validate-flatpaks): pin the Flathub remote descriptor to a fixture by @​kylerankin in #495
  • fix(validate-flatpaks): verify Branch= against the flathub remote by @​dtg01100 in #514
  • fix(promote): make repair-promotion-branch a no-op when there is no branch by @​Danathar in #522
  • docs: keep 60-desktop-swap FROM major in sync with the base image by @​kylerankin in #476
  • fix(promote): set auto_merge false so promotion body matches finpilot's manual merge by @​kylerankin in #456
  • fix(renovate): disable major updates for quay.io/fedora-ostree-desktops/* by @​dtg01100 in #452
  • ci: keep approved auto-merge candidates current without manual updates by @​hanthor in #1055
  • ci: run required checks on merge_group by @​hanthor in #1052
  • fix: validate boot-manager entries for composefs installs by @​kylerankin in #1043
  • fix: re-baseline :testing when its baseline was rewritten out of main by @​kylerankin in #1042
  • ci: verify the new image's SLSA provenance before the e2e gate by @​kylerankin in #1021
  • docs: split the lifecycle harness out of local-testing.md by @​kylerankin in #1005
  • fix(extensions): refresh GNOME-compatible upstream pins by @​hanthor in #998
  • fix(ci): isolate invalid GNOME extension heads by @​hanthor in #1001
  • ci: require exact versions for Python test tools by @​thatguywob in #999
  • fix: include H.264 video decoding and playlist support by @​thatguywob in #994
  • fix(iso): wait for the phone-pairing add-on to finish starting by @​thatguywob in #1000
  • fix(docs): put nmcli --ask before the command object (adopts #980) by @​hanthor in #981
  • docs: stop the front-page test note from warning about failures that did not happen by @​codebymarshall in #977
  • fix(iso): show why a desktop add-on failed to start when the install-and-login test fails by @​codebymarshall in #971
  • chore(deps): update os-minimal digest to 7a1982b and kernel-devel pin to 7.2.11 (adopts #956) by @​hanthor in #959
  • docs: clarify installation test results (adopts #950) by @​hanthor in #960
  • fix: keep Apache httpd disabled and assert it in the desktop contract (adopts #951) by @​hanthor in #958
  • fix(branding): drop the fastfetch count placeholders, now shipped by Common (supersedes #763) by @​hanthor in #957
  • fix: include newly added Bluefin desktop add-ons by @​mendezr in #949
  • chore(deps): update ghcr.io/projectbluefin/common docker digest to ff1d621 (adopts #856) by @​hanthor in #954
  • feat: record what each operating system image was built from by @​thatguywob in #937
  • fix: stop extension updates when compatibility information is unreadable by @​thatguywob in #941
  • feat: ship repair guidance with the Utah desktop by @​thatguywob in #943
  • fix: keep the terminal overview free of missing-command errors by @​thatguywob in #942
  • feat(kernel): enable native AMD and Intel Xe GPU drivers in OGC kernel by @​mrbobbytables in #927
  • ci(release): release :stable weekly on a Monday schedule by @​hanthor in #905
  • fix(contract): assert newly added network daemons stay disabled (#869) by @​kylerankin in #892
  • ci(promote): ratchet :testing over E2E-green commits and gate :stable on per-digest evidence by @​hanthor in #885
  • Revert #874 (SELinux policy-store relocation) until booted-update verification by @​Danathar in #893
  • fix: guard extension dconf defaults against shipped schema paths by @​kylerankin in #889
  • feat(artwork): source wallpapers and branding art from projectbluefin/artwork by @​hanthor in #881
  • feat(packages): consume the second factory publish wave: tmux, sysstat, NFS, hplip, GStreamer, Papers integration (#263) by @​hanthor in #871
  • fix(iso): raise the ISO size guard to 8 GiB (reduction tracked in #875) by @​hanthor in #876
  • fix(e2e): detect the Take Tour welcome dialog by OCR (follow-up to #867) by @​hanthor in #870
  • feat(packages): consume the published VPN, scanning, printing, tool and media parity packages (#263) by @​hanthor in #868
  • feat(packages): consume factory GNOME apps and Help stack (#263) by @​hanthor in #862
  • fix(e2e): skip GNOME Shell's welcome dialog before reading fastfetch by @​hanthor in #867
  • fix(ci): bring the contract job on main back to green by @​Danathar in #858
  • fix(os-release): rename 'Utah' to 'Bluefin' by @​theMimolet in #797
  • fix(test): query GNOME extension state over session D-Bus by @​hanthor in #847
  • fix(iso): compress initramfs with zstd to bring nvidia ISO under budget by @​repires in #750
  • fix(iso): create /var/tmp for OCI flatpak installs in container builds by @​hanthor in #840
  • docs: record Flatpak-first standing policy for overlay requests by @​hanthor in #832
  • chore(baselines): refresh snapshots, drop installed gaps from triage by @​hanthor in #825
  • docs(ci): correct cosign identity pin in kernel-and-build reference by @​hanthor in #799
  • feat(flatpak): preinstall Ghostty from TunaOS OCI remote on first boot by @​hanthor in #788
  • chore(baselines): triage remaining 54 gaps (50 planned under #263, 4 waived) by @​hanthor in #795
  • feat(packages): add Slice 3 parity packages (qt6-qtbase, python3-charset-normalizer, python3-idna) by @​hanthor in #794
  • feat(packages): add Slice 2 parity packages (gnupg2-scdaemon, dnf5daemon, tools) by @​hanthor in #793
  • feat(packages): add Slice 1 parity packages (dbus-daemon, python, m4, tools) by @​hanthor in #792
  • fix: prevent base media packages from replacing factory builds by @​Karibhou in #787
  • ci(e2e): drop the ~@orca exclusion; full suite and release gate by @​hanthor in #782
  • fix(packages): install speech-dispatcher-utils (spd-say) by @​hanthor in #781
  • ci(release): pin the release gate to the testsuite commit post-testing validated by @​hanthor in #779
  • docs: streamline README description and add ISO download link by @​castrojo in #776
  • ci(release): restore the stable release gate, scoped like post-testing-e2e by @​hanthor in #772
  • fix(extensions): make installed extension files readable, not writable by @​hanthor in #770
  • fix(kernel): build zram in the OGC kernel by @​hanthor in #768
  • ci(e2e): bump testsuite test_ref to include power_status and Settings fixes by @​hanthor in #764
  • docs(ci): add testsuite triage runbook reference by @​hanthor in #756
  • ci: override release gate for externally-blocked scenarios by @​hanthor in #758
  • Adopt Dakota first-boot desktop integrations by @​hanthor in #732
  • test(e2e): cover first-boot idempotence by @​hanthor in #715
  • feat(packages): add GNOME rounded blur to parity by @​hanthor in #718
  • feat(countme): enable shared client on Utah by @​hanthor in #720
  • feat(pixmaps): use the accepted Utah wordmark in GDM by @​KiKaraage in #531
  • fix(kernel): require INPUT_UINPUT in the OGC kernel by @​hanthor in #752
  • fix(services): tolerate start bursts on countme ping service by @​hanthor in #746
  • ci: scope testsuite exclusion to @orca until factory ships screen reader by @​hanthor in #745
  • fix(boot): skip bootupctl adoption on systemd-boot layouts by @​hanthor in #744
  • docs(packages): track orca screen-reader stack as unavailable parity debt by @​hanthor in #743
  • fix(kernel): require OGC namespaces and TUN by @​hanthor in #710
  • fix: drop the OGC external-module build tree from gaming images by @​mrbobbytables in #734
  • fix(build): keep the utah-packages.repo flip in the published layer by @​mrbobbytables in #736
  • fix(ci): fail closed on mismatched build refs by @​hanthor in #731
  • fix(ci): pin Prow transfer parser source by @​hanthor in #730
  • docs(ci): correct testing rechunk status by @​hanthor in #719
  • chore(baselines): remove resolved triage entries by @​hanthor in #717
  • docs(skills): clarify extension updater contract by @​mrbobbytables in #683
  • chore(deps): sync Common digest with ChairLift contract by @​hanthor in #716
  • docs(ci): split workflow guide into linked references by @​hanthor in #713
  • fix: skip privileged setup from any GDM session, not just gdm-greeter by @​kylerankin in #692
  • ci: add non-blocking testsuite reporting to post-testing-e2e (#161) by @​castrojo in #631
  • feat: deploy Prow slash command workflow and OWNERS by @​castrojo in #705
  • fix(boot): run bootupctl-adopt transient skips before version-script-check by @​j1mc in #696
  • fix(boot): relabel boot.log so plymouthd can append to it by @​j1mc in #693
  • ci(extensions): automate weekly GNOME extension submodule bumps by @​hanthor in #645
  • docs: correct post-testing-e2e line citations in README by @​kylerankin in #161
  • ci: add a read-only offline ISO test matrix by @​hanthor in #627
  • fix(kernel): deploy and regenerate each flavor’s bootc kernel by @​hanthor in #566
  • feat(extensions): package curated GNOME Shell extensions from Dakota by @​mrbobbytables in #680
  • ci: prove package installs from hermetic Hummingbird snapshots by @​hanthor in #673
  • test(chairlift): pin Control Center runtime invariants for #676 by @​dtg01100 in #679
  • fix(ci): pin sync-dispatched testing build to the pushed SHA by @​hanthor in #663
  • ci(build): run the unit suite alongside manifest validation by @​hanthor in #660
  • fix: enable ChairLift Control Center installation on login by @​hanthor in #668
  • fix(ntp): fall back to the public NTP pool when Hummingbird's is unresolvable by @​hanthor in #664
  • fix: correct utah branding to match Bluefin desktop contract by @​castrojo in #319
  • fix(build): reproducible image layers (forward-port of #314) by @​hanthor in #611
  • fix(services): preserve enabled statistics timers after first boot by @​kylerankin in #485
  • fix(contract): reject sslcacert trust-anchor rewrite by @​hanthor in #659
  • feat(printing): install cups-filters, cups-browsed and ghostscript from the factory by @​hanthor in #665
  • docs(site): update base image reference to os-minimal by @​castrojo in #655
  • feat(boot): install factory-built plymouth and spinner theme by @​hanthor in #666
  • fix(kernel): enable gaming desktop sandboxes and VPN devices by @​hanthor in #628
  • test(e2e): cover resolve-e2e-inputs trust gate refusals and CLI by @​hanthor in #648
  • fix(live): give the dock-pinned installer entry a resolvable icon by @​hanthor in #646
  • packages: consume ffmpegthumbnailer for media codec parity (#383) by @​kylerankin in #647
  • fix(build): switch base from bootc-os to os-minimal by @​hanthor in #644
  • fix(e2e): drop trailing blank line in luks-e2e.sh README heredoc by @​kylerankin in #653
  • fix(iso): share an immutable tacklebox image pin by @​hanthor in #624
  • fix(contract): pin gpgkey= against [repositories.gpgkeys] by @​dtg01100 in #638
  • fix(validation): restore static and pre-commit gates by @​hanthor in #623
  • fix(docs): refresh stale reusable-build.yml digest in ci-workflows skill by @​kylerankin in #635
  • fix(contract): scan dnf5 repo-override dirs on the on-image run (#524) by @​kylerankin in #527
  • ci(parity): schedule pinned Bluefin contract updates by @​Danathar in #194
  • fix(packages): consume published Intel media runtimes by @​arteeh in #397
  • docs(desktop-contract): list all units the [services] contract asserts (#597) by @​dtg01100 in #606
  • fix(tests): freeze the clock in the ago() relative-time test by @​hanthor in #610
  • fix(e2e): copy the Flatpak parser to the installed target over scp by @​hanthor in #607
  • fix(installer): ship an empty /var/home so useradd works pre-boot by @​hanthor in #604
  • test(bootc): assert systemd-boot entries regenerate on upgrade and rollback by @​dtg01100 in #571
  • style: wrap overlong new docstring and comment lines (#600) by @​dtg01100 in #601
  • fix(boot): seed empty crypttab so dracut's crypt generator exits 0 by @​hanthor in #592
  • fix(iso): ship the Flatpak parser the ISO bake calls by @​hanthor in #591
  • fix(scripts): single shared parser for the Brewfile flatpak list (#510) by @​dtg01100 in #511
  • fix: verify lifecycle kernel and initrd files in the guest by @​mendezr in #573
  • fix(selinux): ship HOME=/home so ostree's policy rebuild keeps the home rules by @​Danathar in #576
  • fix: keep build date out of retained package-origin report by @​Danathar in #581
  • fix(contract): inspect global proxy/sslverify in dnf5 [main] by @​kylerankin in #582
  • fix(ujust): honor IMAGE_NAME env fallback in utah-image-repo short-circuit by @​dtg01100 in #584
  • fix(systemd): skip systemd-remount-fs.service on read-only composefs root by @​dtg01100 in #586
  • fix(packages): record nss-mdns .local resolution parity gap as unavailable by @​kylerankin in #569
  • feat(packages): consume 14 resolvable Bluefin parity + firmware packages from the factory by @​dtg01100 in #403
  • fix(contract): require the shipped Firefox preference file on the desktop image by @​dtg01100 in #490
  • docs: reconcile README with docs/utah and add Download/Documentation pointers by @​dtg01100 in #529
  • docs(readme): align on-image allowlist wording with multi-dir scan by @​dtg01100 in #539
  • fix(deps): make the packages digest pin discoverable by Renovate by @​arteeh in #365
  • fix(system): silence the boot and session errors that bury real ones by @​hanthor in #545
  • fix(services): stop unified-storage onboarding from holding up boot by @​hanthor in #548
  • fix(branding): show the Bluefin raptor as the OS logo by @​hanthor in #546
  • fix(contract): derive the on-image reposdir scan list from dnf5 config (#536) by @​dtg01100 in #540
  • fix(services): enable Avahi and switcheroo-control by @​arteeh in #411
  • fix(build): refresh Hummingbird packages daily despite the layer cache by @​hanthor in #542
  • ci(factory-pin): propose the utah-packages rev daily against main by @​hanthor in #541
  • fix(flatpak): install Bazaar on first boot of non-ISO installs, in the background by @​hanthor in #544
  • fix(extensions): load Dash to Dock and GSConnect on GNOME 51 by @​hanthor in #543
  • fix(avahi): let avahi-daemon enter its SELinux domain by @​hanthor in #549
  • fix(packages): ship cracklib-dicts so passwords can be changed by @​hanthor in #547
  • fix(live): keep bootloader-update.service off the live ISO by @​hanthor in #550
  • test(bootc): validate bootc upgrade and rollback lifecycle by @​mrbobbytables in #140
  • fix: mount extension verifier for desktop contract checks by @​arteeh in #522
  • ci: drop stale testsuite note from execute-release pin by @​Danathar in #350
  • docs(skills): scope ci-workflows list back to in-scope workflows (closes #501) by @​dtg01100 in #504
  • docs: replace stale package bind-mount line reference by @​arteeh in #515
  • fix(image-baseline): enumerate /usr/share/ublue-os/firefox-config in EXTRACT by @​dtg01100 in #507
  • fix(hooks): unquote the bluefin prefs glob and bump the flatpaks hook to v2 by @​kylerankin in #493
  • fix(verify): compare hummingbird_baseurl in parity baseline check by @​kylerankin in #481
  • docs: fix stale Containerfile line references in package-contract.md by @​buggtb in #467
  • fix(packages): install the Bluetooth printing backend by @​arteeh in #399
  • fix(ci): sign and verify the utah-kernel-cache base image by @​castrojo in #306
  • fix(libsetup): adopt version-script-commit in Utah hooks by @​kylerankin in #259
  • fix(baselines): strip trailing tabs from generated elements.tsv by @​dtg01100 in #498
  • feat(packages): track nvtop as unavailable pending factory build by @​dtg01100 in #453
  • fix(verify): surface a stale parity baseline on ref or factory-pin bump by @​kylerankin in #477
  • fix(services): pin fwupd-refresh.service to a static user (#385) by @​dtg01100 in #415
  • fix(ujust): route ujust report through utah-image-repo shim (#446) by @​dtg01100 in #448
  • test(ujust): pin override tests to just >= 1.56 by @​dtg01100 in #450
  • fix(selinux): repair mis-keyed active homedirs before relabelling /var/home by @​buggtb in #475
  • fix(packages): track the fish exclusion under #419 by @​dtg01100 in #482
  • fix(ghostty): read ~/.config/ghostty and follow system light/dark by @​hanthor in #483
  • fix(ujust): resolve changelogs to projectbluefin/utah not bluefin by @​kylerankin in #484
  • fix(audit): docstring claim, baseline, dynamic fedora_v, and hummingbird checksum (#424) by @​dtg01100 in #429
  • fix: unblock :stable signing, GDM logo, installer art, re-land zram (#404) by @​hanthor in #442
  • fix: verify /etc/os-release in the desktop contract check by @​Danathar in #342
  • test: executed coverage for install-packages.py install path by @​mrbobbytables in #197
  • fix(just): forward audit parity flags through the shebang recipe by @​mendezr in #432
  • docs: align Wi-Fi comments with the installed package contract by @​mendezr in #430
  • fix(docs): correct parity-audit docstring claim about just check by @​kylerankin in #439
  • fix(services): stop enabling grub-boot-success.timer by @​hanthor in #366
  • feat(scripts): re-runnable Bluefin-vs-Utah image parity audit (#402) by @​dtg01100 in #417
  • fix(branding): keep Hummingbird base os-release ID, VERSION_ID and CPE_NAME for CVE scanners by @​kylerankin in #380
  • fix(boot): maintain the ESP boot manager on systemd-boot systems by @​hanthor in #370
  • test(bootc): assert systemd-boot entries regenerate on upgrade and rollback by @​dtg01100 in #369
  • ci: land factory-pin rev tool and weekly proposal workflow by @​hanthor in #367
  • docs(packages): index [services] in packages/utah.toml header by @​dtg01100 in #416
  • fix(logrotate): create the state directory at boot by @​arteeh in #413
  • fix(ujust): handle missing Utah runtime dependencies by @​arteeh in #414
  • fix(branding): swap fedora-logos for generic-logos, Bluefin-LTS style by @​hanthor in #400
  • feat(contract): fail CI on stale [unavailable] entries by @​hanthor in #418
  • fix(desktop): replace Fedora wordmark with Bluefin at GDM greeter (#378) by @​dtg01100 in #379
  • fix(baselines): point zram-generator triage at #384 by @​dtg01100 in #409
  • fix(packages): wire up zram-generator for bare-metal swap by @​kylerankin in #404
  • fix: prevent concurrent fork Canary cleanup from blocking proof refresh by @​hanthor in #865
  • ci: run required checks on merge_group by @​hanthor in #859
  • ci: land built bumps and refresh armed PRs without manual intervention by @​hanthor in #863
  • fix: stop committing derived inventory counts and backlog totals by @​hanthor in #858
  • fix: keep the source lock sorted by package name by @​hanthor in #857
  • fix(sources): use official download sites for three packages by @​mrbobbytables in #840
  • import: Rawhide libotf, libXaw, gd and anthy-unicode (m17n-lib blockers) by @​mrbobbytables in #788
  • feat: add Qt 6 graphics, Wayland, and translation packages by @​thatguywob in #652
  • feat: add the virtual machine file-sharing service by @​thatguywob in #761
  • feat: add a tesseract family recipe (tesseract + tesseract-tessdata) by @​kylerankin in #836
  • feat: add a library for FireWire media streaming by @​Karibhou in #801
  • feat: add YubiKey management tool by @​mrbobbytables in #839
  • fix: restore factory validation baseline by @​hanthor in #850
  • fix(rygel): install user-unit post scriptlet by @​hanthor in #851
  • feat: import imath and rygel recipes for the gnome-apps batch (#484) by @​kylerankin in #823
  • feat: add build instructions for the Microsoft CAB archive library by @​Karibhou in #846
  • feat: add instructions to build the event loop library by @​thatguywob in #844
  • feat: prepare libraries for audio plugin discovery by @​mendezr in #831
  • feat: prepare tools for Apple HFS+ disks by @​thatguywob in #837
  • feat: prepare tools for speeding up disk access by @​mendezr in #833
  • fix: record published versions of eight requested system tools by @​mendezr in #832
  • feat: prepare container networking without administrator access by @​mendezr in #830
  • feat: add build support for VPN and smart-card authentication tools by @​kylerankin in #825
  • feat: prepare the iwd Wi-Fi service for Utah by @​hanthor in #827
  • feat: add build recipes for the VM networking and streaming-video libraries by @​Danathar in #789
  • fix: keep Fedora package files from changing between builds by @​mrbobbytables in #795
  • feat: add a tool to extract Broadcom wireless firmware by @​mendezr in #813
  • feat: add a recipe for a data format library by @​Karibhou in #773
  • feat: add tools for joining Windows domains by @​Karibhou in #774
  • feat: add a library for security key files by @​Karibhou in #775
  • feat: prepare security key sign-in packages by @​Karibhou in #776
  • feat: add the Chinese pinyin typing library recipe by @​Karibhou in #796
  • feat: add jaraco context, classes and functools recipes by @​kylerankin in #808
  • runtime-contract: un-excite crun-krun now that libkrun and libkrunfw publish by @​kylerankin in #797
  • feat: add an image processing library by @​Karibhou in #772
  • feat: add a library for reading compressed images by @​Karibhou in #817
  • reconcile codecs-media FFmpeg family in build backlog (#474) by @​kylerankin in #815
  • feat: prepare the missing media artwork library for building by @​mendezr in #816
  • feat: add the window-list library that the screen reader suggests by @​Danathar in #786
  • feat: add the Perl add-on that standardizes accented text by @​Danathar in #783
  • feat: add build recipe for ImageMagick image tools by @​mrbobbytables in #787
  • fix: honor the decision to omit the legacy service command by @​mendezr in #811
  • feat: add the service that creates home folders on first login by @​Danathar in #784
  • feat: add a firewall address group management package by @​Karibhou in #809
  • feat: import NetworkManager-ssh VPN plugin into the factory (Refs #499) by @​kylerankin in #770
  • feat: add the Kyoto Cabinet database library recipe by @​mendezr in #767
  • feat: add a Python library for querying JSON data by @​codebymarshall in #798
  • feat: add ibus-chewing and libchewing recipes by @​kylerankin in #790
  • import: add disk and desktop tools xfsprogs, udftools, uresourced by @​mrbobbytables in #782
  • fix: record approved exclusion of USB network sharing by @​mendezr in #800
  • docs: identify the source of a missing wireless library by @​mrbobbytables in #785
  • docs: remove repeated package guide instructions by @​Karibhou in #792
  • docs: align build instructions with the containers in use by @​mendezr in #799
  • feat: add support for FireWire cameras by @​Karibhou in #794
  • feat: add a library for command-line tools by @​mrbobbytables in #781
  • fix: adopt published package accounting from #768 by @​hanthor in #780
  • fix: record five packages already available to users by @​mendezr in #768
  • feat: adopt python-h11 recipe on current main by @​hanthor in #778
  • fix: recognize published libraries in the missing-package list by @​mendezr in #766
  • fix: adopt published-library accounting from #766 by @​hanthor in #779
  • feat: add support for reading compressed NTFS files by @​Karibhou in #771
  • feat: add missing desktop collection library by @​thatguywob in #760
  • fix: record seven published desktop support packages by @​mendezr in #765
  • feat: add build recipes for the RabbitMQ client and Windows drawing-file libraries by @​codebymarshall in #756
  • feat: adopt #756 onto current main by @​hanthor in #758
  • fix(validate): make sure recipe folder matches provenance name by @​mrbobbytables in #753
  • fix: adopt #750 Utah#629 logo source by @​hanthor in #754
  • feat: add the strace debugging tool to the package factory by @​codebymarshall in #749
  • feat: adopt strace recipe from PR #749 by @​hanthor in #755
  • fix(wayland): let the Wayland documentation package install without two declined fonts by @​codebymarshall in #751
  • feat: add PortAudio and PyAudio build recipes (adopts #748) by @​hanthor in #752
  • feat: reconcile published terminal and desktop programs by @​mrbobbytables in #747
  • chore: adopt libultrahdr and svt-vp9 from #626 by @​hanthor in #746
  • chore: adopt zinnia and zix from #630 by @​hanthor in #745
  • chore: adopt libkrun recipes from #639 by @​hanthor in #744
  • chore: adopt qpdf recipe from #640 by @​hanthor in #743
  • feat: add build recipes for the liburing and lrzsz system tools by @​codebymarshall in #742
  • feat: add safe input-method data packages (adopts #731) by @​hanthor in #741
  • feat: adopt #655 developer and hardware tools by @​hanthor in #740
  • fix: add the missing update-history line to 15 packages updated before the history fix (adopts #734) by @​hanthor in #739
  • fix: download 151 package sources directly from their projects (adopts #708) by @​hanthor in #738
  • feat: add language and keyboard defaults for desktop tools (adopts #700) by @​hanthor in #737
  • feat: prepare text encoding detection for Utah by @​thatguywob in #729
  • fix: record published packages already available to users by @​mrbobbytables in #732
  • feat: add a customizable shell prompt and its test tools (adopts #699) by @​hanthor in #728
  • fix: record boot screen packages already available to users (adopts #698) by @​hanthor in #727
  • feat: prepare cursor support without adding unwanted tools (adopts #620) by @​hanthor in #726
  • feat: add tools for accessing removable-drive disk images (adopts #659) by @​hanthor in #725
  • feat: prepare graphics tools needed for video playback (adopts #707) by @​hanthor in #724
  • feat: prepare access to files on Apple devices (adopts #703) by @​hanthor in #723
  • feat: add instructions to build WebDAV access tools (adopts #696) by @​hanthor in #722
  • feat: add instructions to build the SPICE VM integration agent (adopts #679) by @​hanthor in #721
  • feat: add instructions to build FireWire device communication libraries (adopts #681) by @​hanthor in #720
  • feat: add instructions to build the S-Lang terminal library (adopts #710) by @​hanthor in #719
  • feat: add instructions to build the YubiKey sign-in module (adopts #706) by @​hanthor in #718
  • feat: add instructions to build smart card Python bindings (adopts #704) by @​hanthor in #717
  • feat: add instructions to build NILFS filesystem utilities (adopts #702) by @​hanthor in #715
  • feat: add instructions to build the firewall connection monitor (adopts #697) by @​hanthor in #714
  • feat: add instructions to build the libdeflate compression library (adopts #695) by @​hanthor in #713
  • fix: allow the braille converter build to find its manual tools (adopts #705) by @​hanthor in #712
  • feat: add Python libraries for terminal automation by @​j1mc in #684
  • feat: mark the text-conversion and touchscreen libraries as published by @​Karibhou in #709
  • feat: record that the printer fonts for documents are built and published by @​Karibhou in #711
  • docs: keep package backlog guidance current by @​j1mc in #680
  • feat: add a library for recognizing audio recordings by @​j1mc in #692
  • fix: record published GNOME packages and approved exclusions (adopts #662) by @​hanthor in #694
  • feat: add libraries for reading Blu-ray discs (adopts #658) by @​hanthor in #693
  • feat: add a Markdown reader for terminal release notes (adopts #650) by @​hanthor in #691
  • feat: add the X11 display resource query library (adopts #646) by @​hanthor in #690
  • feat: add Flex for building text scanners (adopts #654) by @​hanthor in #689
  • fix: honor the decision against bulk font additions (adopts #651) by @​hanthor in #688
  • fix: stop listing two published libraries as missing (adopts #649) by @​hanthor in #687
  • feat: add a tool to measure filesystem compression savings (adopts #648) by @​hanthor in #686
  • feat: add smart-card and security-key helper packages (adopts #647) by @​hanthor in #685
  • fix: record already published smart-card packages (adopts #645) by @​hanthor in #683
  • fix: record the existing GPU monitor recipe (adopts #653) by @​hanthor in #682
  • feat(long-tail): import 6 source packages, resolve hyperv subpackages (#500) (adopts #607) by @​hanthor in #671
  • feat: add Bison for building language parsers (adopts #615) by @​hanthor in #667
  • feat: add the remaining braille document converters (adopts #616) by @​hanthor in #672
  • feat: add Python libraries for dates and older software (adopts #613) by @​hanthor in #665
  • feat: add missing compatibility libraries for development tools (adopts #614) by @​hanthor in #668
  • fix: keep package update history current (adopts #601) by @​hanthor in #677
  • feat: add support for camera RAW image files (adopts #618) by @​hanthor in #666
  • feat: add a tool for automated remote logins (adopts #611) by @​hanthor in #670
  • fix: record Utah’s choice to skip eleven optional fonts (adopts #660) by @​hanthor in #678
  • feat: add password strength checking packages (adopts #644) by @​hanthor in #676
  • feat: add the touchscreen input library recipe by @​thatguywob in #643
  • fix: honor the decision against bulk font additions (adopts #610) by @​hanthor in #669
  • fix(canary): a pull request that only adds recipes and inventory passes Canary at once (#369) by @​hanthor in #663
  • docs: confirm screen reader and speech packages are available by @​arteeh in #657
  • fix(canary): make the fork proof lookup runnable; reopen on a current merge commit (#369) by @​hanthor in #635
  • fix(canary): refresh the fork PR's Canary from the button workflow (#369) by @​hanthor in #632
  • fix(canary): make a fork PR's own Canary pass on a maintainer-run proof (#369) by @​hanthor in #628
  • ci(canary): let a maintainer run Canary on a reviewed fork pull request (#369) by @​hanthor in #619
  • fix(hplip): verify HP's signature before hp-plugin-download runs the plugin by @​Danathar in #599
  • Import media runtime providers: libsrtp, gtksourceview5, djvulibre, a52dec, libmpeg2 by @​hanthor in #594
  • feat: import tuned runtime providers and powertop libs (utah#388) by @​hanthor in #595
  • feat: import printing runtime providers for hplip and system-config-printer by @​hanthor in #596
  • feat: import libutempter, libhandy, gssproxy, quota, ding-libs; sysstat without PCP by @​hanthor in #597
  • import: Rawhide foo2zjs, argyllcms, lcms, libXScrnSaver by @​hanthor in #588
  • import: Rawhide sane-backends, sane-airscan, ipp-usb, gutenprint, libieee1284, printer driver tail by @​hanthor in #586
  • import: Rawhide openconnect, NetworkManager-openconnect, vpnc, vpnc-script, stoken, pkcs11-helper, oath-toolkit, libuser, usermode by @​hanthor in #585
  • import: Rawhide gstreamer1-plugin-libav by @​hanthor in #584
  • import: Rawhide dev-tools (bc bolt borgbackup dnsmasq ethtool exfatprogs f2fs-tools gamemode hdparm lshw lsof man-pages mtr nvme-cli pinfo smartmontools tcpdump traceroute tree words) by @​hanthor in #587
  • fix(sources): move sso-mib to 0.10.2, keep libjwt at 1.12.1 by @​hanthor in #583
  • fix(ci): pin every factory-image load to the ref that signed its tag by @​hanthor in #582
  • docs(skills): triage a stalled Hummingbird CDN during the lock step by @​hanthor in #578
  • import: Rawhide sso-mib, libjwt by @​hanthor in #574
  • import: Rawhide libvncserver, mozilla-filesystem, redhat-menus, mod_dnssd by @​hanthor in #573
  • feat: import powertop and fpaste from Rawhide by @​hanthor in #572
  • fix(git): re-import from Rawhide for curl 8.23 credential handling by @​hanthor in #569
  • fix(gtk4): move to 4.24.1 for nautilus 51.1 by @​hanthor in #571
  • fix(libsecret): re-import from Rawhide for the dbus-run-session BuildRequires by @​hanthor in #570
  • feat: add GNOME System Monitor package by @​hanthor in #542
  • feat: import GNOME color manager and user share by @​hanthor in #556
  • feat: add GNOME C++ binding recipes by @​hanthor in #544
  • feat: add glibmm2.68 recipe by @​hanthor in #543
  • import: Rawhide libsigc++30 by @​hanthor in #560
  • import: Rawhide freerdp by @​hanthor in #559
  • feat: import papers (retry after libspelling publish) by @​hanthor in #532
  • docs: add repo-inspection and lane-validation skills by @​hanthor in #533
  • feat: import printing core wave (system-config-printer, hplip) by @​hanthor in #525
  • feat: import thumbnailers and Disks wave by @​hanthor in #523
  • feat: import H.264 and bad-free closure wave by @​hanthor in #526
  • feat: import netfs and pinentry starters wave by @​hanthor in #524
  • feat: import laptop-power and VPN recipe wave by @​hanthor in #522
  • feat: import libvarlink, sysstat, pv closure wave by @​hanthor in #519
  • fix(canary): account for buildroot shifts between canary passes by @​hanthor in #516
  • ci(bump): regenerate and commit multimedia closure report on upstream bump by @​hanthor in #515
  • feat: import dev-tools essentials: xdg-utils, rsync, nano, tmux, htop by @​hanthor in #514
  • fix(screen-reader): build liblouis and brltty without Fedora's ICU 77 by @​hanthor in #470
  • feat: import the GNOME screen-reader stack (orca, speech-dispatcher) by @​hanthor in #466
  • fix(import): let the isolated lock step write its output by @​hanthor in #456
  • ci(sources): let the scheduled source verification finish by @​hanthor in #453
  • fix(sources): move pagure-hosted locks off releases.pagure.org by @​hanthor in #452
  • feat(site): shareable package links in the catalog by @​hanthor in #451
  • fix(flatpak): drop Fedora flatpak repository setup by @​hanthor in #454
  • feat: publish an interactive package catalog on GitHub Pages by @​hanthor in #450
  • feat: add gnome-rounded-blur recipe with Dakota mutter-51 port by @​hanthor in #440
  • fix(pcsc-lite-ccid): do not disable pcscd.service in %preun by @​kylerankin in #431
  • docs: defer architecture.md packit digest to its owning workflow by @​kylerankin in #427
  • docs: clarify bot validation merge requirements by @​hanthor in #420
  • feat(multimedia): measure recipe closure and honor indexed metadata by @​hanthor in #414
  • fix(ci): validate bot PR heads without exposing write credentials by @​hanthor in #408
  • fix(ci): make Canary perturbations unique per retry by @​hanthor in #418
  • feat(terminal): import Ptyxis with its VTE and simdutf dependencies by @​hanthor in #413
  • fix(sources): fetch 40 verified GNOME archives upstream by @​hanthor in #417
  • fix(measure): refresh backlog after recipe imports by @​hanthor in #416
  • feat(measure): preserve the identity of the factory audit backlog by @​hanthor in #412
  • feat(factory): add source-locked nvtop recipe by @​hanthor in #410
  • fix(sources): enforce SHA-512 manifests for live recipes by @​hanthor in #407
  • fix(rawhide): guard Release and restore libnma provenance by @​hanthor in #409
  • ci: measure queue wait using non-skipped job starts by @​hanthor in #411
  • fix(validation): restore factory hooks and inventory guidance by @​hanthor in #406
  • fix(publish): keep libcdio at 2.3.0 and bump pipewire to 1.6.9 by @​hanthor in #381
  • fix(import): workflow writes the source lock, Packit block, and counts by @​hanthor in #398
  • fix(tools): allow md5 verification on FIPS-mode OpenSSL by @​hanthor in #397
  • fix(gate): wait on approved Canary run IDs, not the check-runs API by @​hanthor in #396
  • docs: fix contributing.md gpm sources pin description by @​kylerankin in #391
  • fix(pcsc-lite-ccid): correct unit-name typo in %preun scriptlet by @​mrbobbytables in #368
  • feat(factory): build tpm2-tools, pcsc-lite and pcsc-lite-ccid by @​hanthor in #364
  • chore(libayatana-appindicator): re-pin provenance to rawhide ce72ea5 by @​hanthor in #358
  • fix(gate): approve parked pull_request runs on the gated commit by @​hanthor in #355
  • fix(bump): give a dispatched relock its own PR branch by @​dtg01100 in #346
  • fix: preserve auxiliary source pins during upstream bumps by @​j1mc in #326
  • fix(bump): commit the empty holds file the bump PR adds by @​hanthor in #348
  • fix(bump): read forge releases before tags, compare suffixed locks by prefix by @​hanthor in #347
  • feat(bump): hold bumped packages that fail the gate, merge the rest by @​hanthor in #332
  • fix(libgphoto2): update to 2.5.34 and drop the upstreamed music-players patch by @​hanthor in #337
  • feat(sources): upstream feeds for the lookaside-locked recipes by @​hanthor in #342
  • fix(libayatana-appindicator): update to 0.6.0 with Fedora mono metadata fix by @​hanthor in #339
  • fix(libmtp): update to 1.1.23 and drop both upstreamed patches by @​hanthor in #338
  • fix(libheif): update to 1.23.5 and drop the upstreamed no-hevc-tests patch by @​hanthor in #336
  • fix(libqmi): update to 1.38.0 and build docs with gi-docgen by @​hanthor in #334
  • fix(libqrtr-glib): update to 1.4.0 and build docs with gi-docgen by @​hanthor in #335
  • fix(ddcutil): update to 2.2.7 and BuildRequire libacl by @​hanthor in #333
  • fix(bump): keep bundled sources when moving a primary tarball pin by @​hanthor in #331
  • feat(rawhide): re-import safe Rawhide recipe moves in one gated daily PR by @​hanthor in #329
  • ci(bump): merge the daily upstream bump when its packages build by @​hanthor in #327
  • fix(bump): commit only the lock and recipes in the bump PR by @​hanthor in #324
  • ci: measure subprocess tool coverage and enforce an 80% floor by @​arteeh in #317
  • fix(bump): fetch forge updates from their own URL, skip one failed download by @​hanthor in #321
  • fix(plymouth): lock the source, add the Packit block, and count the recipe by @​hanthor in #320
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...

Sources​

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