KeePass Core

Fork of KeePass application with dotnet 10 migration

The journey from a classic app to a more modern implementation opening more possibility.


Roadmap

  • Run on wine (crashes can still happen 😞)
  • Remove any winform and/or windows related code from the library (platform independant)
  • Replace obsolete code with modern implementation
  • Remove mono dependancies
  • Replace Debug.Assert with log system
  • Migrate windows graphic code to SkiaSharp
  • Implement tests units suite

TODO

  • Use of CancellationTokenSource if needed instead of obsolete Thread.Abort code (see here)
  • Use of HttpClient instead of obsolete web code
  • Replacement for any Code Access Security code (see here)
  • Remove mono dependancies
  • add an .editorconfig file

Changelog

Changelog does not include information on chores/cleanup code. For example:

  • spaces
  • harmonized idents
  • Remove unecessary this. use
  • Remove unecessary parenthesis
  • Remove unecessary private field declaration (use of property implicit field declaration)
  • Use of modern exception assertion (ArgumentNullException.ThrowIf())
  • ...
v3.0.6

TrtUtil chores

  • Huge refactor on auto property (remove a maximum of private field)
  • Removed any Debug.Assert placed juste before any throw Exception
  • Use of default new() declaration
  • Braces for any block
  • Default collections initialization
  • Lots of C#14 optimizations
v3.1.0
  • modify url base for links + pages on site
  • use of full name KeePass Core
v3.0.5

KeePass Core chores

  • Huge refactor on auto property (remove a maximum of private field)
  • Removed any Debug.Assert placed juste before any throw Exception
  • Use of default new() declaration
  • Braces for any block
  • Default collections initialization
  • Lots of C#14 optimizations
  • Too much files. Need to find to another way 😕
v3.0.4

KeePassLib Core chores

  • Huge refactor on auto property (remove a maximum of private field)
  • Removed any Debug.Assert placed juste before any throw Exception
  • Use of default new() declaration
  • Braces for any block
  • Default collections initialization
  • Lots of C#14 optimizations
v3.0.3
  • Removed type check in KeePass.Program.InitAppContext
  • Improved KeePass.UI.CustomSplitContainerEx ratio computation
  • Compile with net10.0-windows target framework
  • Start the TrtUtil application on net481 with wine in a linux environment
v3.0.2
  • Commit of TrtUtil project
  • Upgrade to dotnet csproj format
  • Compile with net10.0-windows target framework
  • Removed net481 target framework
  • Removed type check in KeePass.Program.InitAppContext (blocking net10 starting)
  • Improved KeePass.UI.CustomSplitContainerEx ratio computation (blocking net10 starting)
  • Start the TrtUtil application on net481 with wine in a linux environment
v3.0.1
  • Commit of KeePass project
  • Commit of TrtUtil project
  • Upgrade to dotnet csproj format
  • Compile with net10.0-windows target framework
  • Compile with net481 target framework
  • Start the KeePass and TrtUtil applications on net481 with wine in a linux environment
v3.0.0
  • Commit of KeePassLib project
  • Upgrade to dotnet csproj format
  • Compile with net10.0-windows target framework
  • Compile with net481 target framework
  • Refactor of obsolete Cryptography use (new SHAxxxManaged() to SHAxxx.Create(), ...)