databases. The web-based user interface of MantisBT is written using HTML which is styled and presented using CSS. The UI also uses the jQuery client-side JavaScript library to provide optional features such as Ajax and JSON powered dynamic page content. Development tools and build scripts are written predominantly in Python with some Shell script and PHP. MantisBT's codebase dates back to a time when PHP's support for object-oriented programming principles was in its infancy. As of version 1.2.0, the majority of the MantisBT codebase still uses procedural programming principles, however some sections have been converted to make use of PHP 5's new object model. Database storage Data is stored in a relational database management system by means of the ADOdb database abstraction library. MantisBT supports MySQL, MariaDB and PostgreSQL. It has experimental support for Microsoft SQL and Oracle. MantisBT maintains a database upgrade path between versions by modifying the database schema incrementally. During the installation of MantisBT, database schema modifications are replayed all the way back from early versions of MantisBT to reach the latest state. Requirements MantisBT requires a configured web server, the PHP programming language interpreter and a relational database management system supported by MantisBT and ADOdb. As of June 2022, the stable branch of MantisBT requires PHP 7.0 or later. Several PHP extensions are required to enable specific functionality or for performance reasons; the extension for the RDBMS being used (i.e. mysqli) is mandatory. MantisBT bundles a number of dependencies with each release including: ADOdb for abstraction of support for relational database management systems Disposable for disposable e-mail checking functionality eZ Components for plotting of statistics NuSOAP for SOAP web service support PHPMailer for e-mail sending support Projax for Ajax capabilities in the user interface RSS Builder for RSS feed support PHP UTF-8 wrapper library for internationalization support in absence of PHP's mb_string extension For drawing graphs of relationships between issues, GraphViz is required. MantisBT also has an alternative dependency upon the commercial JpGraph graphics library for plotting of statistics. See also Comparison of issue-tracking systems References External links Free project management software Bug and issue tracking software PHP software