Files
itflow/plugins/vendor/doctrine/lexer/UPGRADE.md
johnnyq 2204bd52f4 Rewrite email parser using ImapEngine, harden processing loop
Replace webklex/php-imap with directorytree/imapengine in the ticket
email parser. ImapEngine is pure PHP over sockets.

Parser improvements:
- Wrap per-message processing in try/catch so one malformed email
  can't abort the run; failures are flagged and logged with UID
- Query unseen + unflagged so previously-failed (flagged) messages
  are no longer re-processed on every cron run
- Skip vacation/auto-responder emails (RFC 3834) to prevent mail
  loops with the ticket auto-reply
- Cap messages per run (50) and attachment size (15MB); inline
  images over 2MB are stored as attachments instead of base64-embedded
  in ticket details
- Atomic lock file creation
- preg_quote() the ticket prefix in subject matching
- Dedupe CC watchers and exclude the sender
- Map webklex 'tls' encryption setting to STARTTLS for compatibility

NDR/DSN parsing now walks MIME parts via the underlying
zbateson parser instead of relying on attachment extraction.
2026-06-12 16:56:39 -04:00

962 B

Note about upgrading: Doctrine uses static and runtime mechanisms to raise awareness about deprecated code.

  • Use of @deprecated docblock that is detected by IDEs (like PHPStorm) or Static Analysis tools (like Psalm, phpstan)
  • Use of our low-overhead runtime deprecation API, details: https://github.com/doctrine/deprecations/

Upgrade to 3.0.0

Doctrine\Common\Lexer\Token no longer implements ArrayAccess. Parameter type declarations have been added to Doctrine\Common\Lexer\AbstractLexer and Doctrine\Common\Lexer\Token. You should add both parameter type declarations and return type declarations to your lexers, based on the @return phpdoc.

Upgrade to 2.0.0

AbstractLexer::glimpse() and AbstractLexer::peek() now return instances of Doctrine\Common\Lexer\Token, which is an array-like class Using it as an array is deprecated in favor of using properties of that class. Using count() on it is deprecated with no replacement.