Commit graph

4793 commits

Author SHA1 Message Date
Xì Gà
7dfeb47212
Open TOTP setup dialog if entry has no valid TOTP set (#12584)
---------

Co-authored-by: x <a@b.c>
Co-authored-by: Jonathan White <support@dmapps.us>
2025-11-01 10:17:52 -04:00
Jonathan White
17d58ecf1e
release-tool: Move appimage zsync file to output dir (#12597) 2025-10-26 09:07:15 -04:00
Edward Arthur
e4676b0e4f
Add option to auto-generate a password for new entries (#12593)
* Closes #626

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-26 09:07:14 -04:00
Copilot
4d1a0e40d2
Bitwarden import: Add support for timestamps and password history (#12588)
* Closes #12587

---------

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-10-26 09:06:43 -04:00
Siddhant Shekhar
559783bcca
cmake: Add POST_BUILD to custom commands for CMP0175 (#12548) 2025-10-25 19:52:11 -04:00
Copilot
99b7407a02
Implement {UUID} placeholder and nested reference support (#12511)
* Closes #12509
* Implement the {UUID} placeholder
* Implement nested placeholder de-referencing when resolving entry references to support a reference like {REF:U@I:{UUID}} which is equivalent to {USERNAME} placeholder.

---------

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-10-25 19:52:10 -04:00
Thomas Anderson
0c07ffba16
Fixed entry moving shortcuts docs 2025-10-25 19:52:09 -04:00
Tamino Bauknecht
e0833e3ddc
Database merge confirmation dialog (#10173)
* Add Entry::calculateDifference()

This new function contains the logic that was previously in
EntryHistoryModel::calculateHistoryModifications().
It allows the re-use to display the differences in case of a merge.

* Introduce Database Merge Confirmation Dialog

Adds a dialog allowing a user to review the changes of a merge operation.
This dialog displays the changes and allows the user to abort the merge
without modifying the database.

Fixes #1152

* Added dry run option to Merger
* Changed behavior when actual merge differs from dry run to just output a warning to console
* Fixed KeeShare conflicting with merge operations in the middle of a merge

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:52:08 -04:00
louib
ac5e3fbe0d
refactor: remove unused merge methods 2025-10-25 19:52:07 -04:00
A2va
a0642ac2a8
Add an option to add KeePassXC to PATH during installation (#12171)
---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:52:06 -04:00
Copilot
4abecd7d5c
Fix incorrect "Restore Entry" option shown for non-recycle bin items in search results (#12198)
---------

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:52:05 -04:00
Copilot
c9dea4482b
Fix pre-release issues with attachment viewer (#12244)
* Fix translation issues for "FIT" and "New Attachment" in attachment editor

* Fix markdown preview persistence and enable external links in attachment editor

* Update preview panel if manually moved from collapsed position

* Match edit view scroll position (by percentage) when changed. This ensures the preview remains in relative sync with the edited document, for example when a large amount of HTML reduces down to a short preview document.

* Fix default preview size to be half the width of the edit widget.

* Set tab stop to 10 and remove base ui file

---------

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:52:04 -04:00
Alexey Mostovoy
0276020df6
Return on first disabled item in areAllDisabled 2025-10-25 19:52:03 -04:00
xboxones1
ca583f5ed1
Several ui fixes (#11967)
* Fix background color error for invalid autotype shortcut

* Fix alignment in autotype settings

* Fix contrast for splitter handle

* Fix font size reset when changing theme

---------

Co-authored-by: Jonathan White <support@dmapps.us>
2025-10-25 19:52:02 -04:00
Jonathan White
09d719d48f
Update base translations and improve consistency (#12432)
* Improve confirmation prompts and tooltips for delete actions in the GUI

* Fixes #10543
2025-10-25 19:28:22 -04:00
Copilot
ab75f2e699
Fix SearchWidget issues with saved searches and "Press Enter to search" option (#12314)
---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: droidmonkey <2809491+droidmonkey@users.noreply.github.com>
2025-10-25 19:27:06 -04:00
varjolintu
9d8fdba3ee
Fix Do not ask permission for HTTP Basic Auth option 2025-10-25 19:27:05 -04:00
varjolintu
9529c5b7f1
Browser: Do not allow site automatically 2025-10-25 19:27:04 -04:00
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