diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-04 14:12:43 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-04 14:12:43 +0900 |
| commit | 0f381821e3ec32d82e9ad3d574caac1e4182c423 (patch) | |
| tree | 92ff46d737821d797668188b0ca35ee332b118b2 /docs/known-incompatibilities.md | |
| parent | e6e4f6f6319b39ba3020f96d070b637054c04b6a (diff) | |
| download | php-mozart-0f381821e3ec32d82e9ad3d574caac1e4182c423.tar.gz php-mozart-0f381821e3ec32d82e9ad3d574caac1e4182c423.tar.zst php-mozart-0f381821e3ec32d82e9ad3d574caac1e4182c423.zip | |
docs: add docs/known-incompatibilities.md
Diffstat (limited to 'docs/known-incompatibilities.md')
| -rw-r--r-- | docs/known-incompatibilities.md | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/known-incompatibilities.md b/docs/known-incompatibilities.md new file mode 100644 index 0000000..5a46e0a --- /dev/null +++ b/docs/known-incompatibilities.md @@ -0,0 +1,17 @@ +# Known Incompatibilities + +NOTE: This is not an exhaustive list. Mozart is in early development and there are still a number of significant incompatibilities with Composer that are not documented here yet. + + +## TLS / CA certificate discovery + +Composer relies on the [`composer/ca-bundle`](https://github.com/composer/ca-bundle) package to locate a usable CA bundle for HTTPS verification. It probes a number of well-known paths (`/etc/ssl/certs/...`, Homebrew, Cygwin, etc.), inspects PHP ini settings (`openssl.cafile`, `openssl.capath`), and ships its own `cacert.pem` as a fallback when nothing else is found. + +Mozart performs HTTPS through the OS-native TLS stack (OpenSSL on Linux, Secure Transport on macOS, SChannel on Windows), which already knows where the system trust store lives. As a result Mozart does not ship a bundled `cacert.pem` and does not implement `composer/ca-bundle`'s manual probing. + +In typical environments this does not matter; both Composer and Mozart trust the same system CAs. Some edge cases where the trusted certificate set may differ: + +- No system trust store: Composer still works because it falls back to its bundled `cacert.pem`; Mozart does not. +- PHP-only ini overrides: `openssl.cafile` / `openssl.capath` configured via `php.ini` affect Composer but have no effect on Mozart. + +If you rely on a private CA, set `config.cafile` and `config.capath` in `composer.json` (or the global `$COMPOSER_HOME/config.json`). It works in Mozart too. |
