Version Compatibility
This extension is maintained as one release line per TYPO3 major. Composer selects the matching line automatically when you run oliverkroener/ok-exchange365-mailer without a version constraint.
Support matrix
| TYPO3 | Extension | Branch | PHP | Graph SDK | Status |
|---|---|---|---|---|---|
| 14.x | 4.4.x | main | 8.2 – 8.5 | ^2 | Active |
| 13.4 LTS | 4.4.x | main | 8.2 – 8.5 | ^2 | Active |
| 12.4 LTS | 4.4.x | main | 8.1 – 8.4 | ^2 | Active |
| 11.5 ELTS | 3.2.x | feature- | 7.4 – 8.3 | ^2 | Maintenance |
| 10.4 ELTS | 2.2.x | feature- | 7.2 – 7.4 | none (Guzzle) | Maintenance |
| 9.5 | 1.1.x | feature- | 7.2 – 7.4 | none (Guzzle) | Maintenance |
Note
The 1.x line for TYPO3 9.5 predates Symfony Mailer — TYPO3 9.5 still used
SwiftMailer — so its transport is a Swift_ rather than the
architecture described in Architecture. Like every other
line, it is covered by the test matrix. The 1.x and 2.x lines
call Microsoft Graph directly over HTTP instead of through the Graph SDK.
Pinning a version
Composer resolves the correct line on its own. Pin explicitly only when you need to:
# TYPO3 12, 13 or 14
composer require oliverkroener/ok-exchange365-mailer:^4.4
# TYPO3 11
composer require oliverkroener/ok-exchange365-mailer:^3.2
# TYPO3 10
composer require oliverkroener/ok-exchange365-mailer:^2.2
If composer require reports that the package cannot be resolved, the cause is almost always a TYPO3 major that the requested version does not cover — check the table above rather than forcing the constraint.
What differs between the lines
The 4.x line is the reference implementation. The older lines differ in ways that matter if you read the source or report a bug:
- Configuration precedence. From 2.2.0 / 3.2.0 onwards all lines overlay frontend TypoScript on top of the mail settings per key. Earlier 2.x and 3.x releases let a frontend TypoScript configuration replace the mail settings wholesale.
- Frontend TypoScript access. The 4.x line reads the
frontend.request attribute. The 2.x and 3.x lines readtyposcript $GLOBALS, which is the correct API on TYPO3 10 and 11 but was removed in TYPO3 13.['TSFE']->tmpl->setup - Credential blinding. The 4.x line uses a PSR-14 event listener, the 3.x line a hook. The 2.x line does not blind credentials at all.
- Graph SDK. The 2.x line uses
microsoft/v1 (microsoft- graph Microsoft\); 3.x and 4.x use v2 (Graph\ Graph Graph).Service Client
See also
Architecture describes the 4.x implementation in detail.