Commit Graph

4775 Commits

Author SHA1 Message Date
WillyJL
7e575c68e2 Fix keyboard shortcuts when menubar is hidden (#12431)
---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:27:03 -04:00
Copilot
dc52620afa Add keyboard shortcut to "Jump to Group" from search results (#12225)
* Add Ctrl+Shift+J keyboard shortcut for "Jump to Group" from search results

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:27:03 -04:00
Luz Paz
2867ef8800 Fix various typos 2025-10-25 19:27:01 -04:00
Jonathan White
843cdca5be Prevent mouse wheel scroll on entry edit username field (#12398)
* Reported by shawnkhu via Matrix, thank you!
2025-10-25 19:25:44 -04:00
André Draszik
99052b21d4 csvImport: fix modified and creation time import
Creation and last modification time stamps are imported incorrectly
during CSV import:
    * the imported created time is set to the CSV's last modified time
    * the imported last modified time is set to the CSV's icon index
      (which isn't a valid time usually and gets set to the current
      date & time instead).

The reason is commit 33a3796074 ("Add ability to parse tags from CSV
files") which shifted indices but missed to update all relevant time
related code locations.

Update the missing indices for those two to fix the import.

* Closes #12378

Fixes: 33a3796074 ("Add ability to parse tags from CSV files")
Signed-off-by: André Draszik <andre.draszik@linaro.org>
2025-10-25 19:25:43 -04:00
Eva Zhang
8fd16f7d14 Documentation Updates (#12373)
Added documentation updates for Browser Integration and Secret Service Integration 

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:25:43 -04:00
Juzu-O
af753f003e Add URL auto-type and copy options to auto-type selection popup and menus (#12341)
* Added "Type {URL}" option to the auto-type selection popup right-click context menu
* Added "Copy {URL}" option to the auto-type selection popup right-click context menu
* Added keyboard shortcuts: CTRL+4 for "Type {URL}" and CTRL+SHIFT+4 for "Copy {URL}"
* Updated "Use Virtual Keyboard" shortcut from CTRL+4 to CTRL+5 to avoid inconsistency with order of shortcuts
* Added URL auto-type options "{URL}" and "{URL}{ENTER}" to main window entry view right-click menu
* Added URL auto-type options "{URL}" and "{URL}{ENTER}" to toolbar auto-type button dropdown menu
* Added translation strings for "Type {URL}" and "Copy {URL}" to support internationalization

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: juzu-o <3142026+juzu-o@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:25:36 -04:00
Juzu-O
44cfc20e2b Add more granular Auto-Type confirmation settings (#12370)
This new setting gives users more control and safety:

* When Auto-Type is invoked globally (e.g., via a system-wide hotkey), the confirmation popup will always appear, letting the user confirm which credentials will be auto-typed.
* When Auto-Type is invoked from within KeePassXC's main window, the confirmation step can be skipped, since the user already can visually confirm which entry is being auto-typed.

This balances usability and security, reducing friction for intended actions while providing an extra safeguard for potentially ambiguous global Auto-Type triggers.

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:24:46 -04:00
varjolintu
9b36334cdc Fix inheriting browser group settings 2025-10-25 19:24:16 -04:00
Jessy LANGE
9dec5fa3ca Add "press enter to search" option (#12263)
* Also increase auto-search timeout to 500 ms to improve user experience, especially with large databases. The previous value of 100ms guaranteed a search was performed after every character entered, even when typing relatively fast. 

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:24:15 -04:00
Jonathan White
0e9dc777d5 Enforce new-line at end of code files 2025-10-25 19:23:05 -04:00
Jonathan White
8fe55558a0 Correct Argon2 settings when creating new database
* Argon2 default parallelism settings were set to the number of threads on the computer. That is excessive on high cpu count computers.
2025-10-25 19:22:47 -04:00
Jonathan White
06f5df6f1e Fix two problems with URL wildcard matching
* Fixes #12255
* Periods were not being escaped in the url string before being used in a regex resulting in matching 'any character' between domain parts
* Wildcards entered as `*.` were being replaced with simply `*` resulting in unexpected matches to occur. Fixing this has a side effect of `https://*.github.com` NOT matching `https://github.com` which should be the expected behavior. Users can enter both url's if they desire to match the primary and all sub domains or leave out the wildcard entirely to use normal matching behavior.
2025-10-25 19:22:46 -04:00
Jonathan White
8075a98f1b Improve inactivity timer
* Fix #11957
* Prevent resetting the timer hundreds of times per second
* Improve code flow for inactivity timer in general
2025-10-25 19:20:35 -04:00
Jonathan White
f262c291ef Fix TOTP visibility on unlock and setting change
Also fix invalid key message being visible when adding new TOTP secret to an entry.
2025-10-25 19:20:24 -04:00
Samuel Rac
049e7eea9a Fix Proton Pass importer not importing email when there is no username 2025-10-25 19:20:07 -04:00
shotor
b271804c3f Maintain selected sort option when toggling filters 2025-10-25 19:19:22 -04:00
Jonathan White
cb9fe40ebb Fix all Qt 5.15 deprecation warnings (#7783)
* Deprecated qSort() -> std::sort()
* Replace QDateTime::toString(Qt::DefaultLocaleShortDate) with Clock::toString()
* Replace QDateTime::toString(Qt::SystemLocaleShortDate) with QLocale::system().toString(..., QLocale::ShortFormat)
* Use QDateTime::startOfDay() instead of QDate(QDateTime)
  Note: QDateTime::startOfDay() is only available in Qt 5.14, we need to guard it
* Replace QString::SkipEmptyParts with Qt::SkipEmptyParts
  Note: Its designated replacement, Qt::SplitBehavior, was only added in Qt 5.14.
* Don't call deprecated QFlags(nullptr) constructor
* QSet::{toList->values}
* Replace QList::toSet, QSet::fromList with Tools::asSet()
* QHash::insertMulti -> QMultiHash::insert
* QProcess::startDetached: non-deprecated overload
* QProcess::{pid->processId}
* QPainter::{HighQuality->}Antialiasing
* QPalette::{background->window}()
* Use Qt::{Background,Foreground}Role
* endl -> Qt::endl, flush -> Qt::flush
* Make YubiKey::s_interfaceMutex non-recursive
* OpenSSHKeyGenDialog: use non-deprecated QComboBox::sizeAdjustPolicy setting
2025-10-25 19:17:35 -04:00
Jonathan White
df1035a31d Require Qt >= 5.12
Bump the minimum required Qt version up to 5.12, as per
https://github.com/keepassxreboot/keepassxc/issues/10859#issuecomment-2148477826.
Previously, the minimum version was 5.2.0 based on the CMakeLists.txt
check, though it's unclear if such old versions would actually work.

With this, we are able to remove a whole bunch of #ifdef'd code.
2025-10-25 18:59:21 -04:00
Janek Bevendorff
f2e43e04c8 Force LF line endings 2025-10-25 18:27:23 -04:00
Jonathan White
abd6d4e2ba Migrate release-tool to Python 2025-10-25 18:27:18 -04:00
Jonathan White
90df879500 Fix icon download dialog not appearing above windows
* Fixes #12070
2025-06-19 17:56:43 -04:00
Jonathan White
78416f923b Remove start menu shortcuts on uninstall 2025-06-19 17:56:42 -04:00
Jonathan White
bd20cd2d1d Replace newlines with HTML line breaks in message dialogs
* Keeps readability of translation strings without losing line breaks due to forced rich text display
2025-06-19 17:56:42 -04:00
Jonathan White
6760865487 Don't add space to invalid TOTP strings
* Fixes #11357
* Introduces validity parameter to TOTP generator function for future use elsewhere in the code base
* Fixes this in preview panel and TOTP dialog
* Disable actions to copy/show TOTP if the settings are invalid
* Show an error message on the TOTP setup dialog if the settings are invalid
* Show a TOTP icon with an x if the settings are invalid
2025-06-19 17:56:41 -04:00
Jonathan White
12b3c347cf Fix handling of small passphrase wordlists
* Fixes #11856
* Set the minimum recommended wordlist size to 1,296 - equal to the EFF Short List
* Issue a clear warning when using a smaller wordlist but do not prevent generation of passphrases
* Improve wording when removing custom wordlist
2025-06-19 17:56:39 -04:00
Jonathan White
cb9b8ba484 Show main page when editing entry or database settings
* Fixes #11891
2025-06-19 17:55:27 -04:00
Jonathan White
f7fedaa441 Disable save button when viewing non-database screens
* Fixes #11662 - disable the save button when viewing Password Generator and Application Settings to restore previous behavior of toolbar
2025-06-19 17:48:56 -04:00
Jonathan White
ce9e5551fe Fix minor issues with tags context menu
* Fixes #11808
* Don't show tear off menu or option to tear off if there are no tags
* Fix "No Tags" not being shown on first hover
* Fix issues when using a tag named "No Tags"
* Fix #12153 - tags becoming unsorted in the context menu when switching between database tabs
2025-06-19 17:48:54 -04:00
Kuznetsov Oleg
4290c7be0d Refactor attachment handling system with enhanced UI (#12085)
* Renamed NewEntryAttachmentsDialog to EditEntryAttachmentsDialog for clarity.
* Introduced EditEntryAttachmentsDialog class to manage editing of existing attachments.
* Added functionality to preview attachments while editing them.
* Enhanced EntryAttachmentsModel with rowByKey method for better key management.
* Add image attachment support with zoom functionality.
* Add html and markdown detection.
* Improve button layout on the attachment section when editing an entry
2025-06-19 17:48:09 -04:00
Copilot
1bd591eba9 Add predefined search for TOTP entries (#12199)
Fixes #9362
This commit was authored by GitHub copilot agent and reviewed by @droidmonkey.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: droidmonkey <2809491+droidmonkey@users.noreply.github.com>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-06-19 17:44:42 -04:00
varjolintu
6433ad0609 Fix loose URL comparison 2025-06-19 17:44:32 -04:00
hueychen27
85c3a07e52 Replace qdbus with qdbus6 and kwalletd5 with kwalletd6 2025-06-19 17:44:25 -04:00
Jonathan White
1f0e97a11b Use kbd macro in docs where keys are referenced
Experimental enabled in headers so this works. This feature is considered stable, per Asciidoc documentation:
https://docs.asciidoctor.org/asciidoc/latest/macros/keyboard-macro/
2025-06-19 17:43:51 -04:00
varjolintu
5671e3ad41 Passkeys: Fix ordering of clientDataJSON 2025-06-19 17:42:34 -04:00
Jonathan White
877f4399e9 Add safeguards to secure input on macOS (#11928)
* Add safeguards to secure input on macOS

* Fixes #11906
* Disable secure input when password widget is hidden as well as focused out
* Add safeguard to ensure the internal counter that macOS keeps is always set to 1 preventing the ability to disable secure input by focus/unfocus a password field
2025-06-19 17:42:29 -04:00
varjolintu
969b56d3ff Explicitly allow access to newly created browser group 2025-06-19 17:42:23 -04:00
8-Bit-Brain-Guy
3f521bb78c Reduce tab indentation width in notes fields (#11919)
---------

Co-authored-by: 8-Bit-Brain-Guy <>
Co-authored-by: Tim Baumgarten <tbaumgarten@dspace.de>
2025-06-19 17:42:08 -04:00
Jonathan White
54e29a282e Bump golang.org/x/crypto in /utils/keepassxc-cr-recovery
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.31.0 to 0.35.0.
- [Commits](https://github.com/golang/crypto/compare/v0.31.0...v0.35.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.35.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-19 17:41:58 -04:00
varjolintu
8491f11e64 Fix settings native messaging path with Tor Browser launcher in Linux 2025-06-19 17:41:16 -04:00
varjolintu
5a7c8928d8 Remove obsolete TLD test 2025-06-19 17:41:03 -04:00
Jonathan White
f8b7dc88a9 Implement database closing question on escape 2025-06-19 17:40:51 -04:00
Jonathan White
925af722f8 Fix saving database backup file
* Fixes #11831
* Also fixes weird issues like saving backup of a backup due to function reuse
2025-06-19 17:38:42 -04:00
Jonathan White
97f7136cd3 Write to buffer before writing directly to database file
* Fixes #11819

When direct write save option is enabled and a hardware key is used with a press required, it is possible that the database file will be truncated to 0 bytes. This is avoided by writing the database to a memory buffer first allowing for key transform to occur, then dumping the buffer into the database file.

This change also improves the overall safety of the direct write save option as there is far less chance for an error to occur while writing to the database file.

Thanks to @ChrisLnrn for reporting this issue!
2025-06-19 17:37:20 -04:00
Jonathan White
1058caba0f Revert MSVC Redistributable Check
* Fixes #11875
2025-06-19 17:37:07 -04:00
Jonathan White
a892385f15 Allow groups to restrict by browser integration key (#6437) 2025-05-17 16:26:06 -04:00
Jonathan White
b342be4571 Update translations 2.7.10 2025-03-02 17:31:21 -05:00
Jonathan White
8aec6fb9ad Version bump and Changelog 2025-03-02 10:13:21 -05:00
Jonathan White
55d75fbd53 Add ability to parse tags from CSV files
* Closes #7956
2025-03-01 17:14:51 -05:00
Jonathan White
4f552ba3ed Fix various quirks with CSV import widget and parser
* Fixes #11502 - correct improper handling of text qualifiers

* Improve layout of csv import widget
* Hide error messages when trying to import again
2025-03-01 17:14:44 -05:00