Skip to content

Release v3.1.0-20260904

Latest

Choose a tag to compare

@AChep AChep released this 04 Sep 09:18
Immutable release. Only release title and notes can be modified.

This release introduces biometric unlock on Windows with Windows Hello, a major overhaul of the OpenPGP pipeline, and significant improvements to sync conflict resolution for KDBX users.

  • e009f2ed - refactor: Fix Detekt violations
  • baba1021 - Revert "deps: Bump Compose"
  • a2373ed1 - refactor: Move Zip service in a util/zip/ KMP module
  • a885d303 - refactor: Move Zxcvbn implementation in a util/zxcvbn/ KMP module
  • a69856db - chore: Smaller changelog summary is better
  • a98219e7 - tests: Clean-up some of the GPG smoke tests
  • 5e1ad797 - Merge pull request #1552 from AChep/localization_action
  • 1d475f0e - chore: Bump app version to 3.1.0
  • bb293191 - tests: Handle elevated Windows child owner
  • a38ec41a - fix: Correct Windows hello credential handling
  • 44079329 - [AUTO] Update localization library
  • 7b296301 - feat: Windows Hello biometric unlock
  • 6edcc818 - fix: Support K-9 signing key selection requests
  • f2beb82e - tests: Cache UI Automation instance
  • c78d836d - refactor: Fix Detekt violations
  • 54b991c4 - chore: Pre-install required Rust components during Rust setup step
  • f204d80f - Merge pull request #1557 from AChep/dependabot/github_actions/crowdin/github-action-2.17.1
  • 96070065 - Merge pull request #1561 from AChep/gpmpasskeysprivapps_action
  • aace6d70 - @sannidhyaroy has signed the CLA in #1563
  • 38cb70b0 - improvement(GPG): Confirm signer identities with local certification authorities
  • 4b2e5b57 - fix(UI): Align hardware unlock button row on the GPG unlock dialog
  • 14a2ef22 - chore: merge Compose Multiplatform 1.12.0 upgrade
  • 3d11dcaa - deps: Bump Compose
  • e2533faf - fix: Disable pending usage history runner on Wear OS #1558
  • 97f97cfc - fix: Run pending usage history on default dispatcher #1559
  • 4d337c7b - fix: Explicitly disable HTTP cache on download requests
  • 880c719f - fix(Bitwarden): Split GPG keys into multiple fields to avoid 5000 symbols limit
  • 3a6f49cf - improvement: GPG certificate user ID replace/revoke UI
  • c84611e6 - [AUTO] Update GPM Credential Privileged Apps JSON
  • 004bf736 - improvement: GPG certificate reconciliation during normal import
  • cad26986 - improvement: Add Titanium browser as privileged #1560
  • f24669eb - refactor: Fix Lint complains
  • dfdd520c - improvement: Reconcile changes in GPG certificates during a conflict
  • 5b173e0e - improvement: 3-way merge for conflict resolution for KDBX
  • 68ad89a9 - fix: Encode passkey key value as URL-safe base64, fixes incompatibility with BW #1559
  • 0a76d715 - fix: Reject invalid keyserver responses
  • 499dfb99 - improvement: Preserve GPG revocation evidence and reassess key status
  • 7701a732 - improvement: Get GPG key restoration and revocation status
  • 4598912e - chore(deps): bump crowdin/github-action from 2.17.0 to 2.17.1
  • b8ed80d1 - fix(GPG): Preserve local key material during keyserver refresh
  • dbf7024d - fix(agent): Verify macOS login ancestry for approval reuse #1549
  • 547645b3 - docs(llm): Take AGENTS.md a bit more seriously
  • a493d04a - fix: Update GPG and SSH agent paths on Linux and macOS
  • 247a0b80 - fix: Harden SSH and GPG socket lifecycle & discovery
  • 3f2d0479 - fix(macOS): Mark gpg agent binary as executable on release
  • b732b696 - improvement: Add user ID management and deterministic certificate reconciliation
  • 3a57ecea - feat: Overhaul OpenPGP pipeline
  • 2dbe4aca - fix(sync): propagate fatal errors
  • 96a0c256 - feat: Type a password from memory and compare it with a stored one #1533
  • 4edd59b9 - docs: Remove the mention that Keyguard is largely JVM dependent
  • 9673b43c - fix(Desktop): Stop SSH/GPG agent IPC servers on shutdown #1548
  • 5f6b22e7 - improvement: Explicitly forbid database downgrade #1547
  • 1e5ad1b4 - Merge pull request #1546 from ilkecan/fix/desktop-okhttp-bom
  • acd217ce - @ilkecan has signed the CLA in #1546
  • 56e21e5c - fix(Desktop): Declare the okhttp BOM in desktopApp
  • 24827f50 - docs: Note that we do not have browser extension