This document outlines Phabricator dependencies.
This document is manually curated and may not be completely exhaustive or up to date. It was last updated in 2019 Week 19.
Phabricator executes these programs in subprocesses.
| Dependency | Requirement |
| `git` | Create a Git repository in Diffusion. |
| `git-upload-pack` | Host a Git repository over SSH. |
| `git-receive-pack` | Host a Git repository over SSH. |
| `git-http-backend` | Host a Git repository over HTTP/HTTPS. |
| `hg` | Create a Mercurial repository in Diffusion. |
| `svn` | Create an SVN repository in Diffusion. |
| `svnadmin` | Host a SVN repository. |
| `pygmentize` | Enable `pygments.enabled`. |
| `ssh` | Host or observe any SSH repository in Diffusion. |
| `sendmail` | Enable a "Sendmail" mailer. |
| `which` | Always. |
| `diff` | Always. |
| `php` | Always. |
| `ps` | Run `bin/phd status`. |
| `mysql` | Run certain administrative `bin/storage` commands. |
| `node` | Run the Aphlict notification server. |
| `convert` | Enable `files.enable-imagemagick`. |
| `file` | Fallback MIME detection, mostly used by older versions of PHP. |
Phabricator ships with copies of these external dependencies.
| Dependency | Version | Notes |
| [[ http://sourceforge.net/projects/php-aws-ses/ | AWS SES API ]] | 0.8.1 | Used to send mail via SES. |
| [[ https://github.com/php-mime-mail-parser/php-mime-mail-parser | MimeMailParser ]] | - | Parses inbound SMTP email. See also PHP Mailparse. |
| [[ https://pear.php.net/package/Text_Figlet | PEAR Text_Figlet ]] | - | Renders figlet fonts. |
| [[ https://github.com/PHPMailer/PHPMailer | PHPMailer ]] | 5.1 (Modified) | Sends outbound SMTP mail. |
| [[ http://phpqrcode.sourceforge.net | PHP QR Code ]] | 1.1.4 | Generates QR codes for TOTP MFA. |
| [[ https://github.com/stripe/stripe-php | Stripe PHP API ]] | 1.16.0 | Interacts with Stripe in Phortune. |
| [[ http://d3js.org | D3.js ]] | 5.9.2 | Draws charts. |
| [[ https://github.com/Seldaek/jsonlint | JSONLint ]] | - | Provides detailed JSON error messages. |
| PHP Porter Stemmer | - | Reduces English-language search terms to stems. |
- The AWS SES API will be removed in a future version of Phabricator. See T13235.
- PHPMailer is a mess. We've tried to patch around most of the most serious RCE issues. It will be removed in a future version of Phabricator. See T12046.
Phabricator ships with copies of these external dependencies, but only uses assets like images and does not execute any code they contain.
| Dependency | Version | Notes |
| cowsay | 3.03 | For ASCII cow graphics only, code is not executed. |
| [[ http://www.figlet.org | Figlet ]] | 2.1 | For ASCII fonts only, code is not executed. |
| [[ https://octicons.github.com | Octicons ]] | - | Icon pack. |
| [[ http://www.openwall.com/wordlists/ | Openwall Wordlist ]] | - | List of common passwords. |
| [[ https://fontawesome.com | FontAwesome ]] | - | Icon font. |
| [[ https://fonts.google.com/specimen/Lato?selection.family=Lato | Lato Font ]] | - | Google web font. |
| CLDR Windows Timezone Data | - | An XML file with Windows timezone mappings. |
Phabricator may load and execute these dependencies if they are installed on the system and Phabricator is configured to use them.
| Dependency | Notes |
| [[ https://pecl.php.net/package/mailparse | PHP Mailparse ]] | Parses inbound SMTP email. |
| [[ https://github.com/PHPOffice/PHPExcel | PHPExcel ]] | Generates Excel spreadsheets. |
- PHPExcel has been deprecated in favor of PhpSpreadsheet, but remains widely available and there is no specific motivation to upgrade it at time of writing.