Commit graph

533 commits

Author SHA1 Message Date
Janek Bevendorff
01e5b6ee1d
Update translations. 2025-11-23 23:15:03 +01:00
Janek Bevendorff
6feb42a19b
Bump version to 2.7.11 2025-11-23 22:50:31 +01:00
Janek Bevendorff
9529c4f299 Fix AppRun path issue, fixes #12612 2025-11-23 22:45:57 +01:00
Jonathan White
dc9c9c443f Prevent interface lockups during startup with multiple tabs
Fixes #11998

Avoids UI lockups by removing several unnecessary mutex blocks  and avoiding redundant key detection calls.

Detect Yubikeys dynamically when challenging:

Prevents issue where correct key cannot be found if the internal state was reset prior to saving

This can occur if a user has multiple tabs open and multiple keys connected. Then switches to a locked tab without their DB key inserted which resets detection state.

Side Benefit - ensures proper cascade between USB and PC/SC interfaces so users can switch between the two modes seamlessly.
2025-11-23 22:45:57 +01:00
Jonathan White
dfd4a1c12c Implement Group sync for KeeShare (#11593)
---------

Co-authored-by: ever <ever@brokenmouse.studio>
Co-authored-by: Ben Kluwe <ben.kl@go4more.de>
2025-11-23 22:45:57 +01:00
Jonathan White
9526f42536 Prevent launch on installer finish when run as SYSTEM
* This condition will only happen when KeePassXC is installed by MECM or similar deployment tool. This prevents accidental launch on exit if the packager forgot to set LAUNCHAPPONEXIT=0 in the msiexec call. Allowing launch on exit in these conditions would potentially allow a non-privileged user to assume the role of SYSTEM through the KeePassXC application.

* Fixes weakness reported by HackAndPwn, thank you!
2025-11-23 22:45:57 +01:00
Janek Bevendorff
33b2e373da Add Liquid Glass icon 2025-11-23 22:45:57 +01:00
Juzu-O
dc9510ec64
Add URL double-click action option to Settings (#12322)
* Closes #4717

---------

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-11-02 12:35:38 -05:00
Sebastian Livoni
d7c7ce4cc4
Add Window menu for macOS and specify Help menu to AppKit (#12357)
* Add Window menu for macOS and specify Help menu to AppKit
* Fix potential NSString dangling pointers of temporary QStrings
2025-11-02 10:19:26 -05:00
renner
daf23b65ad
feat: refresh appdata.xml
* Adds donation, contact and up-to-date transifex URL
* Add features to appdata.xml for FlatHub
* Remove old releases to reduce file size
* Improve summary and description text
2025-11-02 10:19:25 -05:00
renner
d60826ad7f
chore: reformat xml with GUI tool 2025-11-02 10:19:08 -05:00
Chris Bednarski
e19e7d2c43
Change StartupNotify to false
StartupNotify causes KeepassXC to hang on startup until the notification timeout is reached, making the KeepassXC window unavailable in the application switcher (i.e. alt-tab) on various Linux distros.

Fixes https://github.com/keepassxreboot/keepassxc/issues/6423
Fixes https://github.com/keepassxreboot/keepassxc/issues/11664
2025-11-02 10:18:12 -05:00
Janek Bevendorff
6eff15c9ec
Fix AppImage launcher error, fixes #12608 2025-11-01 10:19:27 -04:00
Jonathan White
41b2a9bb60
Fix out-of-memory crash with malformed ssh keys
* Reported by Oblivionsage - thank you!
2025-11-01 10:18:58 -04:00
Jonathan White
1a7992cc57
Remove Last Accessed from GUI
* Closes #2005
2025-11-01 10:17:59 -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
Siddhant Shekhar
559783bcca
cmake: Add POST_BUILD to custom commands for CMP0175 (#12548) 2025-10-25 19:52:11 -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
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
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
Luz Paz
2867ef8800
Fix various typos 2025-10-25 19:27:01 -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
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
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
Jonathan White
abd6d4e2ba
Migrate release-tool to Python 2025-10-25 18:27:18 -04:00
Jonathan White
78416f923b
Remove start menu shortcuts on uninstall 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
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
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
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 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
An-anonymous-coder
c3e32a9502
Removed newline and words with hyphen (#11409)
The newline at the end of the file was removed, as well as 4 words that contain a hyphen:
drop-in
felt-tip
t-shirt
yo-yo
2025-02-23 16:19:21 -05:00
Adrian Martin
ea2f17b9a9
Feature: HTML export from CLI tool (#11590)
This commit introduces support for exporting a KeePassXC database in
HTML format via the CLI tool. The key changes include:
- Refactoring HtmlExporter:
  - Moved HtmlExporter to the format directory and made its API
    compatible with CsvExporter.
  - Since the original HtmlExporter had a direct dependency on the
    gui/Icons functions and indirect dependencies on the
    gui/DatabaseIcons class, only the non-GUI parts were moved to
    format/HtmlExporter.
  - All icon-related functionality was encapsulated in a new child
    class, gui/HtmlGuiExporter.
    - The gui/HtmlGuiExporter retains the original functionality of the
      HtmlExporter class.
    - The format/HtmlExporter now generates HTML export without icons.
      Adding icon support to format/HtmlExporter would require moving
      icon management logic to the core, which could have broader
      implications.
- CLI integration:
  - Updated cli/Export to use format/HtmlExporter.
- GUI Integration:
  - Updated gui/export/ExportDialog to use gui/HtmlGuiExporter.
- Build System Updates:
  - Updated CMakeLists.txt to build HtmlExporter as part of core_SOURCES
    and HtmlGuiExporter as part of gui_SOURCES.
- Testing:
  - Updated TestCli to automatically verify the output of the HTML
    export.

Signed-off-by: AdriandMartin <adriandmartin@protonmail.com>
2025-02-23 16:19:13 -05:00
Jonathan White
903b8f189e
Improve browser notice about snap/flatpak support 2025-02-22 20:45:19 -05:00
Jonathan White
941c1f5d7f
Major enhancements to documentation
* Closes #11467 - Describe default search fields
* Closes #11468 - Fix lock database shortcut
* Closes #8259 - Add a note about 1Password OPVault specifics
* Closes #9794 - Add section anchors for easy linking
* Closes #10316 - Show how to setup managed Edge on macOS
* Closes #7805 - Document entry url handling
* Closes #9143 - Document database merge behavior
* Closes #10876 - Correct wording in browser and passkey sections

Update outdated images of the user interface. Improve wording and flow of entire documentation. Fill in missing pieces based on user feedback.

Add mention about URL wildcards
2025-02-22 20:45:08 -05:00
Jonathan White
f0c5c2ad3f
Update fuzz testing instructions
* Also fix env var name
2025-02-22 19:38:32 -05:00
Jonathan White
43205995c6
Remove remote database code
This should not have been backported to 2.7.x branch
2025-02-22 12:56:00 -05:00
Jonathan White
3b2f54daff
Show database public icon on tab when visible (#11725)
* Show database public icon on tab when visible

* Remove unnecessary assert
2025-02-10 19:18:11 -05:00
outfoxxed
3083626bda
Add --minimized CLI option 2025-02-10 19:17:54 -05:00