Warning, /office/kbibtex/TODO.md is written in an unsupported language. File is not indexed.

0001 *INFO* This TODO list will most likely outdate _very_ quickly.
0002 
0003 # General/High-Level Goals
0004 
0005 * Migrate and consistently make use of more modern C++ features.
0006 * First prepare (2020) and later migrate to Qt6 and KF6 (2021+).
0007 
0008 ## Code Maintenance
0009 
0010 * Whenever making changes, the same commit should contain a ChangeLog
0011   update, either by updating the ChangeLog file immediately or/and by
0012   using a specially-crafted line in the Git commit message that allows
0013   for automatic processing when preparing for a release.
0014 * Whenever making changes, write automated tests that confirm that a
0015   feature works as expected with known input/output or if a bug is
0016   actually fixed.
0017 * Code and other data must be properly attributed, i.e. which license
0018   applies and is/are the author(s). Attribution must follow the REUSE
0019   Specification and must be automatically checked using  reuse lint
0020 
0021 ## Code Simplifications
0022 
0023 _There are probably numerous places with issues like those listed below._
0024 
0025 * Fix bug 356142: The complex file opening flow: need refactored?
0026 
0027 ## Continuous Integration and Non-Linux Operating Systems
0028 
0029 * Make KBibTeX compile and run on operating systems which are not Linux
0030   such as *BSD, Windows, or MacOS.
0031 * Automatically build installers/packages for popular distributions or
0032   operating systems by utilizing KDE's and third party CI infrastructure.
0033 
0034 # User Interface
0035 
0036 * Better support BibLaTeX and its numerous fields. This includes
0037   re-designing and re-thinking the user interface and checking user input
0038   for consistency (e.g. not all fields may be used at all time or there
0039   may be dependencies/references between entries).
0040 * Maintain/improve QML-based interfaces for SailfishOS and Kirigami.