Skip to content

Release 0.6.0#1350

Draft
adombeck wants to merge 2224 commits intostablefrom
release-0.6.0
Draft

Release 0.6.0#1350
adombeck wants to merge 2224 commits intostablefrom
release-0.6.0

Conversation

@adombeck
Copy link
Contributor

  * Change default UID/GID range to 10000:60000.
  * Add authctl, a command-line tool to manage authd users and groups.
  * Deny login if session is offline and user or device is disabled.
  * Allow setting the same local password when redoing device authentication.
  * Make errors when checking home dir owner during startup non-fatal.
  * Fix authentication behaviour when refresh token is missing.
  * Fix GDM broken when authd is uninstalled.
  * Avoid races when getting user and group entries.
  * Use lckpwdf to lock the database when manipulating users or groups.
  * Improve error messages.
  * debian/control: Install missing build dependency systemd-dev.
  * debian/postrm: Remove /etc/pam.d/gdm-authd.

adombeck and others added 30 commits February 10, 2026 14:57
Running our tests with -v produces so much output that it makes it
harder to inspect test failures, for example when viewing the logs of
the "Run autopkgtests" CI job in GitHub.

Running the tests without -v still prints the logs of the failed tests
which should include all the information we need to debug test failures.
As suggested by reviewer. It's not implemented for now, warnings are
always returned in English.
We don't need to load the bwrap-userns-restrict AppArmor profile for the
bubblewrap tests to work. In fact, we even have to circumvent the
AppArmor profile (if it's loaded) for the tests to work.

This reverts commit 7b926c0.
Uses the same colors as systemctl etc.
Looks more polished and is consistent with other CLI tools like
systemctl (see for example the output of `systemctl mask foo`).
It's possible that SetUserID returns an error but the UID was still
changed, for example when an error occurred while trying to update the
ownership of the home directory.

In that case, make it clear to the user that the UID was changed.

Also print a message when the home directory was updated.
As requested by reviewer, to make it more visible to the user that they
have to manually update the ownership of files outside the user's home
directory.
Support setting the UID of a user via `authctl user set-uid <user> <uid>`.

Also changes the owner and group of the user's home directory and all
files in the home directory from the old UID and GID to the new UID and
GID (if it is owned by the current user), same as `usermod` does when
changing the UID of a user.

Closes #630 
UDENG-7717
UDENG-8720
Produces prettier docs
So that it can be imported by the docgen tool we're about to add.
Having the "This command requires root privileges." sentence after the
`chown -R` command was confusing, it sounded like it was referring to
that command instead of the authctl command.
To generate the CLI docs
The auto-generated Cobra markdown docs use headings starting at H2, not
H1. That results in Sphinx printing warnings, which causes the build to
fail in the CI (but not locally).

Let's ignore these kind of warnings for now.
adombeck and others added 27 commits March 17, 2026 12:03
Some tests are very flaky when run on launchpad builders. This is not
only causing issues for us when we try to publish a new release but can
also cause issues for maintainers of packages which authd depends on,
because authd's autopkgtests are also run when a new version of its
dependencies is released.

Let's skip known flaky tests in autopkgtests.
G101: Potential hardcoded credentials (gosec)
G703: Path traversal via taint analysis (gosec)
package-comments: should have a package comment (revive)
directive `//nolint:revive // See comment above` is unused for linter "revive" (nolintlint)
G118: context cancellation function returned by WithCancel/WithTimeout/WithDeadline is not called (gosec)
G115: integer overflow conversion int -> uint32 (gosec)

directive `//nolint:gosec // G115 we set the GID above to values that are valid uint32` is unused for linter "gosec" (nolintlint)
G204: Subprocess launched with variable
G122: Filesystem operation in filepath.Walk/WalkDir callback uses race-prone path; consider root-scoped APIs (e.g. os.Root) to prevent symlink TOCTOU traversal (gosec)
G702: Command injection via taint analysis (gosec)
G705: XSS via taint analysis (gosec)
G120: Parsing form data without limiting request body size can allow memory exhaustion (use http.MaxBytesReader) (gosec)
Bumps the minor-updates group in /authd-oidc-brokers/tools with 2 updates: [github.com/golangci/golangci-lint/v2](https://github.com/golangci/golangci-lint) and [golang.org/x/mod](https://github.com/golang/mod).

Updates `github.com/golangci/golangci-lint/v2` from 2.8.0 to 2.11.3
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/main/CHANGELOG.md)
- [Commits](golangci/golangci-lint@v2.8.0...v2.11.3)

Updates `golang.org/x/mod` from 0.32.0 to 0.33.0
- [Commits](golang/mod@v0.32.0...v0.33.0)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint/v2
  dependency-version: 2.11.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-updates
- dependency-name: golang.org/x/mod
  dependency-version: 0.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the minor-updates group in /tools with 1 update: [github.com/golangci/golangci-lint/v2](https://github.com/golangci/golangci-lint).

Updates `github.com/golangci/golangci-lint/v2` from 2.8.0 to 2.11.3
- [Release notes](https://github.com/golangci/golangci-lint/releases)
- [Changelog](https://github.com/golangci/golangci-lint/blob/main/CHANGELOG.md)
- [Commits](golangci/golangci-lint@v2.8.0...v2.11.3)

---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint/v2
  dependency-version: 2.11.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
As pointed out by gosec, filepath.WalkDir is susceptible to a symlink
race and os.Root should be used for file operations to defend against
it. See also golang/go#70007.
Replace `filepath.WalkDir` with `fs.WalkDir(r.FS(), ".")` to pass root-relative
paths to `os.Root.Lchown()` in ChownRecursiveFrom
Bumps the minor-updates group with 4 updates in the / directory: [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3), [golang.org/x/sys](https://github.com/golang/sys), [golang.org/x/term](https://github.com/golang/term) and [google.golang.org/grpc](https://github.com/grpc/grpc-go).


Updates `github.com/mattn/go-sqlite3` from 1.14.33 to 1.14.34
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](mattn/go-sqlite3@v1.14.33...v1.14.34)

Updates `golang.org/x/sys` from 0.40.0 to 0.41.0
- [Commits](golang/sys@v0.40.0...v0.41.0)

Updates `golang.org/x/term` from 0.39.0 to 0.40.0
- [Commits](golang/term@v0.39.0...v0.40.0)

Updates `google.golang.org/grpc` from 1.78.0 to 1.79.1
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.78.0...v1.79.1)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-sqlite3
  dependency-version: 1.14.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-updates
- dependency-name: golang.org/x/sys
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-updates
- dependency-name: golang.org/x/term
  dependency-version: 0.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-updates
- dependency-name: google.golang.org/grpc
  dependency-version: 1.79.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
@github-actions
Copy link

✅dependabot config looks good 👍

@codecov
Copy link

codecov bot commented Mar 19, 2026

Codecov Report

❌ Patch coverage is 80.84379% with 168 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (stable@77bd4d5). Learn more about missing BASE report.

Files with missing lines Patch % Lines
authd-oidc-brokers/internal/broker/broker.go 83.88% 82 Missing ⚠️
authd-oidc-brokers/internal/dbusservice/methods.go 0.00% 42 Missing ⚠️
authd-oidc-brokers/internal/broker/config.go 89.90% 11 Missing ⚠️
authd-oidc-brokers/cmd/authd-oidc/daemon/daemon.go 87.83% 9 Missing ⚠️
authd-oidc-brokers/cmd/authd-oidc/daemon/config.go 80.48% 8 Missing ⚠️
...d-oidc-brokers/internal/dbusservice/dbusservice.go 73.07% 7 Missing ⚠️
authd-oidc-brokers/cmd/authd-oidc/main.go 89.65% 3 Missing ⚠️
authd-oidc-brokers/internal/daemon/daemon.go 81.25% 3 Missing ⚠️
authd-oidc-brokers/cmd/authd-oidc/daemon/fs.go 84.61% 2 Missing ⚠️
authd-oidc-brokers/internal/broker/encrypt.go 92.30% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff            @@
##             stable    #1350   +/-   ##
=========================================
  Coverage          ?   85.34%           
=========================================
  Files             ?      119           
  Lines             ?     7674           
  Branches          ?      111           
=========================================
  Hits              ?     6549           
  Misses            ?     1069           
  Partials          ?       56           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants