Commit Graph

4766 Commits

Author SHA1 Message Date
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
w15dev
9b1ee4b476 Enhance image attachment handling by caching loaded images and improving scaling logic 2025-02-23 17:20:54 -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
xboxones1
3d8dac0c53 Dynamically change the status bar color depending on the current screen (#11672)
* Revert (https://github.com/keepassxreboot/keepassxc/pull/11455)
* Do not use styles for QStatusBar
* Dynamically change the status bar color depending on the current screen
2025-02-23 16:19:07 -05:00
Jonathan White
beb314d7c7 Support tearing off tags menu (#11652)
* Support tearing off tags menu
* Closes #11649 - tags menu can be torn off to set and unset tags without having to dive into the context menu every time.
* Tags menu will hide when database is locked or view is switched away from the main database view (eg, settings)
2025-02-22 20:45:24 -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