Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
6.0.0 source code.tar.gz | 2025-01-17 | 26.5 kB | |
6.0.0 source code.zip | 2025-01-17 | 38.2 kB | |
README.md | 2025-01-17 | 4.1 kB | |
Totals: 3 Items | 68.8 kB | 0 |
Fixed
- Legacy protocol support fixed (object to array conversion)
- Header value decoding improved
- Protocol exception handling improved (bad response message added)
- Prevent fetching singular rfc partials from running indefinitely
- Subject with colon ";" is truncated
- Catching and handling iconv decoding exception
- Error token length mismatch in
ImapProtocol::readResponse
- Attachment name parsing fixed (thanks @nuernbergerA)
- Additional Attachment name fallback added to prevent missing attachments
- Attachment id is now static (based on the raw part content) instead of random
- Always parse the attachment description if it is available
- Fixed date issue if timezone is UT and a 2 digit year (thanks @ferrisbuellers)
- Make the space optional after a comma separator (thanks @marc0adam)
- Fix bug when multipart message getHTMLBody() method returns null (thanks @michalkortas)
- Fix: Improve return type hints and return docblocks for query classes (thanks @olliescase)
- Fix - Query - Chunked - Resolved infinite loop when start chunk > 1 (thanks @NeekTheNook)
- Attachment with symbols in filename (thanks @nuernbergerA)
- Ignore possible untagged lines after IDLE and DONE commands (thanks @gazben)
- Fix Empty Child Folder Error (thanks @bierpub)
- Filename sanitization improved (thanks @neolip)
Client::getFolderPath()
return null if folder is not set (thanks @arnolem)- Fix implicit marking of parameters as nullable, deprecated in PHP8.4 (thanks @campbell-m)
Added
- Additional timestamp formats added (thanks @esk-ap)
- Attachment content hash added
- IMAP STATUS command support added
Folder::status()
(thanks @InterLinked1) - Add attributes and special flags (thanks @sazanof)
- Better connection check for IMAP (thanks @thin-k-design)
- Config handling moved into a new class
Config::class
to allow class serialization (sponsored by elb-BIT GmbH) - Support for Carbon 3 added
- Custom decoder support added
- Decoding filename with non-standard encoding (thanks @grnsv)
Breaking changes
Folder::getStatus()
no longer returns the results ofEXAMINE
butSTATUS
instead. If you want to useEXAMINE
you can use theFolder::examine()
method instead.ClientManager::class
has now longer access to all configs. Config handling has been moved to its own classConfig::class
. If you want to access the config you can use the retriever method::getConfig()
instead. Example:$client->getConfig()
or$message->getConfig()
, etc.ClientManager::get
isn't available anymore. Use the regular config accessor instead. Example:$cm->getConfig()
M̀essage::getConfig()
now returns the client configuration instead of the fetching options configuration. Please use$message->getOptions()
instead.Attachment::getConfig()
now returns the client configuration instead of the fetching options configuration. Please use$attachment->getOptions()
instead.Header::getConfig()
now returns the client configuration instead of the fetching options configuration. Please use$header->getOptions()
instead.M̀essage::setConfig
now expects the client configuration instead of the fetching options configuration. Please use$message->setOptions
instead.Attachment::setConfig
now expects the client configuration instead of the fetching options configuration. Please use$attachment->setOptions
instead.Header::setConfig
now expects the client configuration instead of the fetching options configuration. Please use$header->setOptions
instead.- All protocol constructors now require a
Config::class
instance - The
Client::class
constructors now require aConfig::class
instance - The
Part::class
constructors now require aConfig::class
instance - The
Header::class
constructors now require aConfig::class
instance - The
Message::fromFile
method now requires aConfig::class
instance - The
Message::fromString
method now requires aConfig::class
instance - The
Message::boot
method now requires aConfig::class
instance