authd (0.6.1) resolute; urgency=medium

  * New release (LP: #2147226)
  * Update Go dependencies:
    - github.com/mattn/go-sqlite3 v1.14.38
    - golang.org/x/sys v0.42.0
    - golang.org/x/term v0.41.0
    - google.golang.org/grpc v1.80.0
    Indirect dependencies:
    - golang.org/x/net v0.49.0
    - golang.org/x/text v0.33.0
    - google.golang.org/genproto/googleapis/rpc
      v0.0.0-20260120221211-b8f7ae30c516

 -- Adrian Dombeck <adrian.dombeck@canonical.com>  Fri, 03 Apr 2026 19:36:26 +0200

authd (0.6.0) resolute; urgency=medium

  * 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.
  * Update Go dependencies:
    - toolchain go1.25.8
    - github.com/charmbracelet/x/term v0.2.2
    - github.com/coreos/go-systemd/v22 v22.7.0
    - github.com/godbus/dbus/v5 v5.2.2
    - github.com/mattn/go-sqlite3 v1.14.34
    - github.com/spf13/cobra v1.10.2
    - github.com/spf13/pflag v1.0.10
    - github.com/spf13/viper v1.21.0
    - github.com/stretchr/testify v1.11.1
    - go.etcd.io/bbolt v1.4.3
    - golang.org/x/sys v0.41.0
    - golang.org/x/term v0.40.0
    - google.golang.org/grpc v1.79.1
    - google.golang.org/protobuf v1.36.11
    - gopkg.in/ini.v1 v1.67.1
    Indirect dependencies:
    - github.com/cpuguy83/go-md2man/v2 v2.0.6
    - github.com/fsnotify/fsnotify v1.9.0
    - github.com/go-viper/mapstructure/v2 v2.4.0
    - github.com/pelletier/go-toml/v2 v2.2.4
    - github.com/russross/blackfriday/v2 v2.1.0
    - github.com/sagikazarmark/locafero v0.11.0
    - github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8
    - github.com/spf13/afero v1.15.0
    - github.com/spf13/cast v1.10.0
    - go.yaml.in/yaml/v3 v3.0.4
    - golang.org/x/net v0.48.0
    - golang.org/x/sync v0.19.0
    - golang.org/x/text v0.32.0
    - google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217
  * Update Rust dependencies:
    - cc ^1.2.34
    - ctor ^0.5.0
    - hyper-util ^0.1.16
    - libc ^0.2.174
    - once_cell ^1.21.3
    - prost 0.14.*
    - rustix ^1.0.8
    - time ^0.3.41
    - tokio ^1.47.0
    - tonic 0.14.*
    - tonic-prost 0.14.*
    - tonic-prost-build 0.14.*

 -- Adrian Dombeck <adrian.dombeck@canonical.com>  Thu, 02 Apr 2026 12:44:28 +0200

authd (0.5.11) resolute; urgency=medium

  * Skip flaky tests in autopkgtests and during deb build.

 -- Adrian Dombeck <adrian.dombeck@canonical.com>  Tue, 17 Mar 2026 12:27:02 +0100

authd (0.5.10) resolute; urgency=medium

  * New upload

 -- Adrian Dombeck <adrian.dombeck@canonical.com>  Thu, 12 Mar 2026 16:58:32 +0100

authd (0.5.9) resolute; urgency=medium

  * Update gRPC to 1.72.2. This version contains a fix for an issue where
    locally-resolved addresses are resolved via a proxy. We encountered that
    issue in the autopkgtests run during proposed-migration.
  * Use safer getpwent_r and getgrent_r implementations. The old
    implementations were subject to a race condition which also occurred
    during the autopkgtests.
  * Cargo.toml: Exclude vendored files which cause build failures.

 -- Adrian Dombeck <adrian.dombeck@canonical.com>  Wed, 11 Mar 2026 17:43:36 +0100

authd (0.5.8) resolute; urgency=medium

  * Add scripts/generate-vendored-copyright
  * Cargo.toml: Exclude unwanted files from vendored crates
  * debian/copyright: Generate file entries for vendored dependencies
  * debian/control: Remove redundant Rules-Requires-Root field
  * debian/control: Update repo URL
  * debian/lintian-overrides: Static-Built-Using is a valid field
  * debian/lintian-overrides: "Unknwon" is not a typo
  * debian/lrc.config: Add false positives
  * debian/source/lintian-overrides: Ignore missing copyright holder because
  * debian/source/options: Exclude docs from source
    many of our vendored dependencies do not declare a copyright holder.
  * needs-packaging: LP: #2136731

 -- Adrian Dombeck <adrian.dombeck@canonical.com>  Mon, 23 Feb 2026 11:58:00 +0100

authd (0.5.7) resolute; urgency=medium

  * debian/copyright: Add missing licenses
  * needs-packaging: LP: #2136731

 -- Adrian Dombeck <adrian.dombeck@canonical.com>  Wed, 14 Jan 2026 14:22:37 +0100

authd (0.5.6) questing; urgency=medium

  * New launchpad upload

 -- Adrian Dombeck <adrian.dombeck@canonical.com>  Wed, 18 Jun 2025 16:05:23 +0200

authd (0.5.5) questing; urgency=medium

  * Fix race with accounts service which could result in authd users not being
    listed in the GDM login screen.
  * When authenticating on the command-line, show a message that explains that
    the escape key can be used to go back.
  * Improve log message.
  * Update Go dependencies:
    - toolchain go1.23.10

 --  <adrian.dombeck@canonical.com>  Tue, 17 Jun 2025 19:42:04 +0200

authd (0.5.4) questing; urgency=medium

  * CVE-2025-5689: Fix new users logging in via SSH being part of the root group
  * Set the GID of the user private group to the UID.
  * Document that GID == UID for the user private group in comment for UID/GID
    ranges

 --  <adrian.dombeck@canonical.com>  Fri, 13 Jun 2025 13:46:34 +0200

authd (0.5.3) questing; urgency=medium

  * Notify user that a reboot is required after upgrade
  * Fix login via GDM being broken after authd update when an old gnome-shell
    is still running.

 --  <adrian.dombeck@canonical.com>  Wed, 04 Jun 2025 21:41:07 +0200

authd (0.5.2) questing; urgency=medium

  * Fix another issue with the migration to lowercase user and group names

 --  <adrian.dombeck@canonical.com>  Tue, 03 Jun 2025 17:30:46 +0200

authd (0.5.1) questing; urgency=medium

  * Fix migration to lowercase user and group names

 --  <adrian.dombeck@canonical.com>  Mon, 26 May 2025 19:24:52 +0200

authd (0.5.0) questing; urgency=medium

  * Use SQLite instead of bbolt
  * Use lowercase usernames
  * Fix races in the PAM module.
  * Do not support device authentication mode in polkit.
  * Do not clear terminal context on sudo or other authenticated ops
  * Fix login via GDM with some non-English locales
  * Simplified GDM PAM protocol
  * Don't overwrite shell when updating user entry
  * Improve warning logged when home directory has incorrect owner/group
  * Support logging to the journal with priority "notice"
  * Improved integration tests and added more
  * Hide secrets in debug messages
  * More useful error messages
  * Add bubblewrap to build dependencies
  * debian/control:
    * Add bubblewrap to build dependencies
    * Update XS-Vendored-Sources-Rust
    * Add breaks on the old GNOME Shell versions
  * debian/gbp.conf: Use cargo-vendor-filterer from path during build
  * Update Go dependencies:
    - toolchain go1.23.8
    - github.com/charmbracelet/bubbletea v1.3.4
    - github.com/charmbracelet/lipgloss v1.1.0
    - github.com/mattn/go-sqlite3 v1.14.28
    - github.com/muesli/termenv v0.16.0
    - github.com/spf13/cobra v1.9.1
    - github.com/spf13/viper v1.20.1
    - go.etcd.io/bbolt v1.4.0
    - golang.org/x/sys v0.32.0
    - golang.org/x/term v0.31.0
    - google.golang.org/grpc v1.71.1
    - google.golang.org/protobuf v1.36.6
    - github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
    - github.com/charmbracelet/x/ansi v0.8.0 // indirect
    - github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
    - github.com/fsnotify/fsnotify v1.8.0 // indirect
    - github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
    - github.com/pelletier/go-toml/v2 v2.2.3 // indirect
    - github.com/sagikazarmark/locafero v0.7.0 // indirect
    - github.com/spf13/afero v1.12.0 // indirect
    - github.com/spf13/cast v1.7.1 // indirect
    - github.com/spf13/pflag v1.0.6 // indirect
    - github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
    - golang.org/x/net v0.38.0 // indirect
    - golang.org/x/sync v0.12.0 // indirect
    - golang.org/x/text v0.23.0 // indirect
    - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
  * Update Rust dependencies:
    - cc ^1.2.10
    - ctor ^0.2.9
    - hyper-util ^0.1.10
    - libc ^0.2.169
    - libnss ^0.8.0
    - log ^0.4.25
    - prost ^0.13.4
    - rustix ^0.38.44
    - tokio ^1.43.0
    - tonic ^0.12.3
    - tonic-build 0.11.*

 --  <adrian.dombeck@canonical.com>  Wed, 21 May 2025 19:48:06 +0200

authd (0.4.1) plucky; urgency=medium

  * New Launchpad upload

 --  <adrian.dombeck@canonical.com>  Thu, 30 Jan 2025 15:06:09 +0100

authd (0.4.0) plucky; urgency=medium

  * Generate random UIDs and GIDs. This fixes an issue which can lead to login
    failing because of UID/GID collisions.
  * Fix login with non-authd user failing when authd is unavailable
  * Fix login failing if a group has been renamed on the provider's end
  * Avoid creating users or groups which already exist (with the same name,
    but different UID/GID) on the system.
  * Use more restrictive sandboxing for the authd systemd service
  * Use journal native protocol to print nice log messages to the systemd journal
  * Update Go dependencies:
    - toolchain go1.23.5
    - github.com/charmbracelet/x/term v0.2.1
    - github.com/coreos/go-systemd/v22 v22.5.0
    - github.com/otiai10/copy v1.14.1
    - golang.org/x/sys v0.29.0
    - golang.org/x/term v0.28.0
    - google.golang.org/grpc v1.70.0
    - google.golang.org/protobuf v1.36.4
    - github.com/otiai10/mint v1.6.3 // indirect
    - golang.org/x/net v0.34.0 // indirect
    - golang.org/x/sync v0.10.0 // indirect
    - golang.org/x/text v0.21.0 // indirect
    - google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a // indirect
  * Update Rust dependencies:
    - cc ^1.2.2
    - libc ^0.2.167
    - log ^0.4.22
    - prost ^0.13.3
    - rustix ^0.38.41
    - tokio ^1.42.0

 --  <adrian.dombeck@canonical.com>  Wed, 22 Jan 2025 14:07:49 +0100

authd (0.3.7) noble; urgency=medium

  * Change database directory from /var/cache/authd to /var/lib/authd.
    The database is not a cache, removing it has an impact on security
    because it allows users to be assigned the UID of a previous user
    This is now reflected by storing the database below /var/lib instead
    of /var/cache.
  * Fix user being removed from local groups during login
  * Fix defaulting to local broker even after local user is removed
  * API: Support exposing if the UI supports QR code rendering
  * PAM module:
    - Fix races
    - Many small fixes
  * Update dependencies

 --  <adrian.dombeck@canonical.com>  Tue, 10 Dec 2024 13:31:21 +0100

authd (0.3.6) noble; urgency=medium

  * CVE-2024-9312: Avoid UID collisions with other users on the system
    - Make UID/GID ranges configurable. This package now ships a config file,
      /etc/authd/authd.yaml, which allows to configure the minimum and maximum
      UID and GID values that are assigned to users and groups.
      While the default range (1000000000-1999999999) should usually not be
      used by anything else by default, it's the admin's responsibility to
      ensure that the configured UID/GID ranges don't overlap with the ranges
      used by other system components.
    - Don't remove expired users. Removing users from the database allows other
      users for which the same UID is generated to log in and gain access to
      the deleted user’s files.
    - Don't clear the database on corruption. Same as above, that would allow
      unauthorized access to users with colliding UIDs.
  * Keep UID and GIDs if the user already exists in the authd database. This
    fixes an issue affecting authd 0.3.5 which caused users who already logged
    in with a previous version of authd to be assigned a new UID, causing file
    permission errors because the home directory (and other files owned by the
    user) is owned by the old UID.
  * Clean up orphaned user records. On systems which are affected by the above
    issue, two users with the same name but different UIDs exist in the authd
    database. With this release, authd automatically removes the old UIDs from
    the database. Users who didn't change the owner of their home directory
    (and other files owned by the user) yet need to do so. To facilitate this,
    authd checks the owner of the home directory when a user logs in and
    prints a warning to the journal which explains how to fix the ownership.

 --  <adrian.dombeck@canonical.com>  Tue, 08 Oct 2024 17:22:30 +0200

authd (0.3.5) noble; urgency=medium

  * CVE-2024-9313: Do not allow to change PAM user if provided
  * Do not report the authentication denied PAM error twice
  * Highlight PAM error messages better in tests
  * Do not render QR code in SSH sessions at all

 -- Didier Roche-Tolomelli <didrocks@ubuntu.com>  Mon, 30 Sep 2024 15:31:48 +0200

authd (0.3.4) noble; urgency=medium

  * Fix an issue which could cause authd to time out during startup
  * Generate UIDs and GIDs from a wider range
  * Rate limit the emission of reselect auth mode events
  * Better error messages
  * Avoid excessive warning messages in the logs
  * More debug messages
  * Revert tonic-build rust dep to 0.11.0 to fix build on noble
  * Build with Go 1.23 backported to the PPA
  * Updated internal dependencies

 -- Didier Roche-Tolomelli <didrocks@ubuntu.com>  Thu, 19 Sep 2024 15:28:07 +0200

authd (0.3.3) noble; urgency=medium

  * Fix NSS module not being readded to nsswitch.conf on reinstall
  * Reduce amount of printed debug logs
  * Bump Go version to 1.23
  * Update dependencies to latest

 -- Denison Barbosa <denison.barbosa@canonical.com>  Thu, 22 Aug 2024 09:16:45 -0400

authd (0.3.2) noble; urgency=medium

  * Check for U(G)ID conflict when authenticating
  * Ensure broker configuration files ends up with .conf
  * Clarify errors returned by broker
  * Generate U(G)ID based on username and update UserPreCheck to return
    complete user info from broker
  * Decouple broker name from config file
  * Autoselect local broker if user does not exist on SSH connection
  * Autoselect local broker if this is the only option
  * Fix consecutive cancellations are forwarded
  * Fix pwquality in Shell when creating the password
  * Ensure password can be changed again after first time
  * Fix regenerating the qrcode multiple time
  * Many pam enhancements (TUI and native PAM module)
  * Fix and enhance tests
  * Update dependencies

 -- Didier Roche-Tolomelli <didrocks@ubuntu.com>  Wed, 07 Aug 2024 16:03:03 +0200

authd (0.2.1) noble; urgency=medium

  * Adjust Rust dependencies
    - Rollback cc to 1.83: Version 1.84 was removed due to some problems with
      other ecosystems.
    - Bump transitive dependencies to latest SemVer version to fix
      RUSTSEC-2024-0003
  * Updated dependencies:
    - Vendored deps:
      - github.com/charmbracelet/bubbles
      - github.com/google/uuid
      - google.golang.org/grpc
    - CI:
      - peter-evans/create-pull-request
      - codecov/codecov-action

 -- Denison Barbosa <denison.barbosa@canonical.com>  Mon, 05 Feb 2024 11:02:10 -0400

authd (0.2) noble; urgency=medium

  * Create and package systemd units
  * Rework broker configuration file
  * Update user info validations
    - Users now must be part of at least one remote group
  * Add encryption for exchanged challenges
  * Local groups are now cleaned when a user expires or the cache is
    cleaned
  * Remove unused values from configuration file
  * Skip NSS lookup from dbus-daemon through systemd
    - This could cause a deadlock when lookups were triggered while
      the daemon was starting up.
  * Add GDM json protocol definition and implementation
  * Refactor internal/users package
  * Add integration tests for the PAM cli protocol
  * Update package description
  * Fix lintian warnings and copyright inconsistencies
  * Reduce the ammount of log messages
  * Changes in CI that do not affect package functionality:
    - Run dependabot less frequently
    - Update test script to cover all Go packages by default
  * Update dependencies to latest
    ** Go
      - github.com/msteinert/pam
      - github.com/charmbracelet/bubbles
      - github.com/charmbracelet/bubbletea
      - github.com/google/uuid
      - github.com/spf13/viper
      - golang.org/x/term
      - google.golang.org/grpc
      - google.golang.org/protobuf
    ** Rust
      - ctor
      - libc
      - simple_logger
      - tokio
  * Update tools and CI dependencies not related to package
    functionality
      - google.golang.org/protobuf

 -- Denison Barbosa <denison.barbosa@canonical.com>  Mon, 29 Jan 2024 06:12:02 -0400

authd (0.1) noble; urgency=medium

  * Initial release

 -- Gabriel Nagy <gabriel.nagy@canonical.com>  Thu, 07 Dec 2023 10:19:51 +0200
