From 4590548594c41b5ad7ea6f72aed133131fbb0999 Mon Sep 17 00:00:00 2001 From: Jo Rabin Date: Tue, 22 Aug 2023 14:56:56 +0100 Subject: [PATCH] Updating documentation --- .gitignore | 3 ++- CHANGELOG.md | 8 +++++++- ModuleStructure.svg | 4 +++- readme.md | 23 ++++++++++++++++++----- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 86ee18b6..3ee52c53 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,8 @@ testOutput build .vscode/* *.versionsBackup -*/target +**/target + #settings.gradle #gradlew #gradlew.bat diff --git a/CHANGELOG.md b/CHANGELOG.md index efddb174..c87262d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ Trying to follow the suggestions at [Keep a Change Log](http://keepachangelog.com) and [Semantic Versioning](http://semver.org/spec/v2.0.0.html) +##[2.2.2] + +### Added + +- implementation of database using Jackson + ##[2.2.1] ### Added @@ -44,7 +50,7 @@ Trying to follow the suggestions at [Keep a Change Log](http://keepachangelog.co - Various functionality for searching databases - Recycle bin functionality - An experimental implementation of [keepasshttp](https://github.com/pfn/keepasshttp/) see -[the readme](http/readme.md) for warnings, limitations, etc. about this. +[the readme](./readme.md) for warnings, limitations, etc. about this. ## [2.1.2] 2018-01-20 diff --git a/ModuleStructure.svg b/ModuleStructure.svg index 7b271e9e..9579dffe 100644 --- a/ModuleStructure.svg +++ b/ModuleStructure.svg @@ -1,2 +1,4 @@ + + -
all
all
simple
simple
jaxb
jaxb
dom
dom
kdb
kdb
kdbx
kdbx
database
database
Test
Test
example
example
Other, future
Other, future
KDBX Implementations
KDBX Implementations
KDB Implementation
KDB Implementation
???
???
Implementatiions
of theĀ 
org.linguafranca.pwdb.Database Interface
[Not supported by viewer]
\ No newline at end of file +
all
all
simple
simple
jaxb
jaxb
dom
dom
kdb
kdb
kdbx
kdbx
database
database
Test
Test
example
example
Other, future
Other,...
KDBX Implementations
KDBX I...
KDB Implementation
KDB Im...
???
???
Implementatiions
of theĀ 
org.linguafranca.pwdb.Database Interface
Implem...
jackson
jackson
Text is not SVG - cannot display
\ No newline at end of file diff --git a/readme.md b/readme.md index 35c15338..d7a208b0 100644 --- a/readme.md +++ b/readme.md @@ -39,11 +39,11 @@ It is licensed under the Apache 2 License and is currently usable. ## Current Status -After a a period of neglect, the project is (May 2023) back in development. +After a period of neglect, the project is (May 2023) back in development. The current code is version 2.2.2-SNAPSHOT. This is on the main branch. See [Build from Source](#build-from-source) -Key updates: +Key updates relative to 2.1: - Java 8 (dependencies no longer support Java 7) - Updated dependencies to remove known vulnerabilities - File format version 4 support - with Argon2 @@ -112,6 +112,7 @@ or Database database = DomDatabaseWrapper.load(credentials, inputStream) or + Database database = JacksonDatabase.load(credentials, inputStream) Different implementations have varying characteristics, primarily speed. @@ -204,6 +205,7 @@ The Simple XML implementation additionally depends on: - [Faster XML Aalto](https://github.com/FasterXML/aalto-xml) ([Apache 2 license](http://www.apache.org/licenses/LICENSE-2.0.txt)). The Jackson implementation depends on: + - [Faster XML Jackson](https://github.com/FasterXML/jackson) For Java 11 and later Jaxb implementation depends on explicit inclusion [no longer provided by JDK](https://docs.oracle.com/en/java/javase/11/migrate/index.html#JSMIG-GUID-F640FA9D-FB66-4D85-AD2B-D931174C09A3) of: @@ -267,6 +269,12 @@ bindings might be useful for building other interfaces. Javadocs A DOM based implementation of KDBX. Being DOM based it is rather slow, but messes less with existing content than the other two implementations. Known to work on Android. + +domKeePassJava2-jackson +Javadocs +A Jackson based implementation of KDBX. Intended to replace the Simple XML implementation. Simple XML seems no +longer to be maintained. + @@ -274,12 +282,12 @@ Why are there so many implementations for KDBX? Well, the DOM implementation cam load and save stuff that the implementation doesn't specifically know about. But it is very slow. Then came the JAXB implementation, but -belatedly it seems that Android support is in question. So latterly the Simple implementation. That's probably enough -KDBX implementations. +belatedly it seems that Android support is in question. So latterly the Simple implementation. That was probably enough +KDBX implementations, however, the Simple XML library seems no longer to be maintained, and along comes the Jackson Implementation. ### Gradle -If you prefer Gradle the automatic conversion `gradle init` converts the POM successfully, however you will +If you prefer Gradle the automatic conversion `gradle init` has been known to convert the POM successfully, however you will need to add something like [gradle-source-sets.txt](jaxb/gradle-source-sets.txt) to the `build.gradle` for the JAXB module, so that the generated sources get compiled correctly. @@ -292,6 +300,11 @@ In [this file](./CHANGELOG.md). Many thanks to Pavel Ivanov [@ivanovpv](https://github.com/ivanovpv) for his help with Android and Gradle compatibility issues. +Thanks to Giuseppe Valente [@giusvale-dev](https://github.com/giusvale-dev) for +the contribution of the Jackson module. + +Thanks to other contributors and raisers of issues. + ## License Copyright (c) 2023 Jo Rabin