Install
Works with Drupal: ^9 || ^10 || ^11Using Composer to manage Drupal site dependencies
Alternative installation files
Release notes
This release adds reliability and observability improvements to the XTM Connect callback path. No behavioral changes for well-formed payloads and no new configuration is required.
Per-callback delivery summary log + per-item diagnostic audit log on the tmgmt_xtm_connect channel (Reports → Recent log messages). Each callback now leaves a scannable summary line plus a per-JobItem audit that surfaces state, leaves still pending, lock status, and payload-vs-source key diff — making future delivery failures diagnosable from dblog alone.
New setting — "Enable detailed delivery logging" on the translator edit form. Default: enabled (preserves current visibility). When disabled, only warning-level entries (incomplete deliveries, callback errors) are written.
Per-source-entity database lock around the translation-apply step, closing a race window where concurrent target-language callbacks for the same source node could clobber each other on the underlying entity save. Different source entities continue to process in parallel.
Controller hardening: descriptive 404 / 400 / 409 / 500 responses with structured logging for missing jobs, malformed bodies, mismatched translator plugins, and unhandled exceptions.
Defense-in-depth flat-key resolver: pass-through for current XTM payloads; safety net against any future malformed-key regression that would otherwise silently land translations on empty-string keys.
Internal cleanup: LoggerChannelFactoryInterface and LockBackendInterface injected via DI (replacing legacy \Drupal::* static calls); Drupal coding standards compliance.