Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement KDBX 4.1 #7114

Merged
merged 10 commits into from
Nov 22, 2021
Merged

Implement KDBX 4.1 #7114

merged 10 commits into from
Nov 22, 2021

Conversation

phoerious
Copy link
Member

@phoerious phoerious commented Nov 10, 2021

Implements KDBX 4.1 as described in https://keepass.info/help/kb/kdbx_4.1.html and adds test cases.

Progress:

  • Group Tags
  • Optional Password Quality Estimation
  • Previous Parent Groups (including simple "Restore Entry" feature)
  • Custom Icons with Names and Last Modification/Deletion Times
  • Custom Data Items with Last Modification Times

Individual commits pass tests and don't need to be squashed.

Type of change

  • ✅ New feature (change that adds functionality)

@phoerious phoerious added this to the v2.7.0 milestone Nov 10, 2021
@phoerious phoerious marked this pull request as draft November 10, 2021 01:34
@droidmonkey
Copy link
Member

droidmonkey commented Nov 10, 2021

Just thinking we need to do this! We'll do this as a merge commit when the time comes.

@phoerious
Copy link
Member Author

Can't do 2.7 without.

@louib
Copy link
Member

louib commented Nov 10, 2021

@phoerious please keep in mind that we will remove QImage from core/ in #6280 🙏

@droidmonkey
Copy link
Member

We should merge that first

@phoerious phoerious force-pushed the feature/kdbx4.1 branch 2 times, most recently from 7dd943f to 81a20fd Compare November 10, 2021 19:43
@codecov-commenter
Copy link

codecov-commenter commented Nov 10, 2021

Codecov Report

Attention: Patch coverage is 77.47440% with 66 lines in your changes missing coverage. Please review.

Project coverage is 64.21%. Comparing base (035757e) to head (c2d4dba).
Report is 569 commits behind head on develop.

Files with missing lines Patch % Lines
src/gui/DatabaseOpenWidget.cpp 11.11% 16 Missing ⚠️
src/gui/DatabaseWidget.cpp 0.00% 13 Missing ⚠️
src/core/CustomData.cpp 75.00% 11 Missing ⚠️
src/format/KdbxXmlReader.cpp 68.75% 10 Missing ⚠️
src/format/KdbxXmlWriter.cpp 71.43% 6 Missing ⚠️
src/core/Group.cpp 92.86% 2 Missing ⚠️
src/format/KeePass2Writer.cpp 95.56% 2 Missing ⚠️
src/gui/EditWidgetIcons.cpp 0.00% 2 Missing ⚠️
...ui/dbsettings/DatabaseSettingsWidgetEncryption.cpp 84.62% 2 Missing ⚠️
src/core/Metadata.cpp 92.31% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #7114      +/-   ##
===========================================
+ Coverage    64.13%   64.21%   +0.08%     
===========================================
  Files          333      334       +1     
  Lines        42015    42221     +206     
===========================================
+ Hits         26944    27109     +165     
- Misses       15071    15112      +41     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

@phoerious phoerious marked this pull request as ready for review November 10, 2021 22:21
@phoerious phoerious force-pushed the feature/kdbx4.1 branch 2 times, most recently from 625315c to 9ee8b55 Compare November 13, 2021 18:21
src/core/CustomData.cpp Outdated Show resolved Hide resolved
src/core/CustomData.cpp Outdated Show resolved Hide resolved
src/core/CustomData.cpp Outdated Show resolved Hide resolved
src/core/Entry.cpp Show resolved Hide resolved
src/format/KdbxXmlReader.cpp Show resolved Hide resolved
src/format/KdbxXmlWriter.cpp Outdated Show resolved Hide resolved
src/format/KdbxXmlWriter.cpp Outdated Show resolved Hide resolved
src/format/KdbxXmlWriter.cpp Outdated Show resolved Hide resolved
@phoerious phoerious force-pushed the feature/kdbx4.1 branch 3 times, most recently from 02cde7a to aa82c18 Compare November 20, 2021 01:17
@phoerious phoerious force-pushed the feature/kdbx4.1 branch 3 times, most recently from 4dddda7 to cf716f8 Compare November 20, 2021 01:50
src/core/CustomData.cpp Show resolved Hide resolved
src/core/CustomData.cpp Show resolved Hide resolved
src/format/Kdbx3Writer.cpp Show resolved Hide resolved
src/core/Database.cpp Outdated Show resolved Hide resolved
src/format/KeePass2Writer.h Outdated Show resolved Hide resolved
src/gui/DatabaseOpenWidget.cpp Show resolved Hide resolved
Shows a warning when trying to open with a newer minor version than what is currently supported.

We always try to save with the lowest KDBX version possible for maximum compatibility.
@phoerious phoerious merged commit a3dc977 into develop Nov 22, 2021
@phoerious phoerious deleted the feature/kdbx4.1 branch November 22, 2021 11:58
@giwrgosmant giwrgosmant mentioned this pull request Mar 2, 2022
@phoerious phoerious added pr: new feature Pull request that adds a new feature and removed new feature labels Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
file format pr: new feature Pull request that adds a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants