Architectural Decisions

Architectural decisions for JabRef:

  • ADR-0000 - Use Markdown Architectural Decision Records
  • ADR-0001 - Use Crowdin for translations
  • ADR-0002 - Use slf4j together with log4j2 for logging
  • ADR-0003 - Use Gradle as build tool
  • ADR-0004 - Use MariaDB Connector
  • ADR-0005 - Fully Support UTF-8 Only For LaTeX Files
  • ADR-0006 - Only translated strings in language file
  • ADR-0007 - Provide a human-readable changelog
  • ADR-0008 - Use public final instead of getters to offer access to immutable variables
  • ADR-0009 - Use Plain JUnit5 for advanced test assertions
  • ADR-0010 - Use H2 as Internal SQL Database
  • ADR-0011 - Test external links in documentation
  • ADR-0012 - Handle different bibentry formats of fetchers by adding a layer
  • ADR-0013 - Add Native Support for BibLatex-Software
  • ADR-0014 - Separate URL creation to enable proper logging
  • ADR-0015 - Query syntax design
  • ADR-0016 - Mutable preferences objects
  • ADR-0017 - Allow org.jabref.model to access org.jabref.logic
  • ADR-0018 - Use regular expression to split multiple-sentence titles
  • ADR-0019 - Implement special fields as seperate fields
  • ADR-0020 - Use Jackson to parse study.yml
  • ADR-0021 - Keep study as a DTO

For new ADRs, please use as basis. More information on the used format is available at General information about architectural decision records is available at Then add them to the above list.