Releases: Webklex/php-imap
Releases · Webklex/php-imap
2.5.1
Fixed
- Fix setting default mask from config #133 (thanks @shacky)
- Chunked fetch fails in case of less available mails than page size #114
- Protocol::createStream() exception information fixed #137
- Legacy methods (headers, content, flags) fixed #125
- Legacy connection cycle fixed #124 (thanks @zssarkany)
Added
- Disable rfc822 header parsing via config option #115
2.5.0
Fixed
- Attachment saving filename fixed
- Unnecessary parameter removed from
Client::getTimeout()
- Missing encryption variable added - could have caused problems with unencrypted communications
- Prefer attachment filename attribute over name attribute #82
- Missing connection settings added to
Folder:idle()
auto mode #89 - Message move / copy expect a folder path #79
Client::getFolder()
updated to circumvent special edge cases #79- Missing connection status checks added to various methods
- Unused default attribute
message_no
removed fromMessage::class
Added
- Dynamic Attribute access support added (e.g
$message->from[0]
) - Message not found exception added #93
- Chunked fetching support added
Query::chunked()
. Just in case you can't fetch all messages at once - "Soft fail" support added
- Count method added to
Attribute:class
- Convert an Attribute instance into a Carbon date object #95
Breaking changes
- A new exception can occur if a message can't be fetched (
\Webklex\PHPIMAP\Exceptions\MessageNotFoundException::class
) Message::move()
andMessage::copy()
no longer accept folder names as folder path- A
Message::class
instance might no longer have amessage_no
attribute
2.4.4
2.4.3
2.4.2
Fixed
- Attachment::save() return error 'A facade root has not been set' #87
- Unused dependencies removed
- Fix PHP 8 error that changes null back in to an empty string. #88 (thanks @mennovanhout)
- Fix regex to be case insensitive #88 (thanks @mennovanhout)
2.4.1
2.4.0
Fixed
- Get partial overview when
IMAP::ST_UID
is set #74 - Unnecessary "'" removed from address names
- Folder referral typo fixed
- Legacy protocol fixed
- Treat message collection keys always as strings
Added
- Configurable supported default flags added
- Message attribute class added to unify value handling
- Address class added and integrated
- Alias
Message::attachments()
forMessage::getAttachments()
added - Alias
Message::addFlag()
forMessage::setFlag()
added - Alias
Message::removeFlag()
forMessage::unsetFlag()
added - Alias
Message::flags()
forMessage::getFlags()
added - New Exception
MessageFlagException::class
added - New method
Message::setSequenceId($id)
added - Optional Header attribution option added
Breaking changes
- Stringified message headers are now separated by ", " instead of " ".
- All message header values such as subject, message_id, from, to, etc now consists of an
Àttribute::class
instance (should behave the same way as before, but might cause some problem in certain edge cases) - The formal address object "from", "to", etc now consists of an
Address::class
instance (should behave the same way as before, but might cause some problem in certain edge cases) - When fetching or manipulating message flags a
MessageFlagException::class
exception can be thrown if a runtime error occurs - Learn more about the new
Attribute
class here: www.php-imap.com/api/attribute - Learn more about the new
Address
class here: www.php-imap.com/api/address - Folder attribute "referal" is now called "referral"
2.3.1
2.3.0
Fixed
- Cert validation issue fixed
- Allow boundaries ending with a space or semicolon (thanks @smartilabs)
- Ignore IMAP DONE command response #57
- Default
options.fetch
set toIMAP::FT_PEEK
- Address parsing fixed #60
- Alternative rfc822 header parsing fixed #60
- Parse more than one Received: header #61
- Fetch folder overview fixed
Message::getTextBody()
fallback value fixed
Added
- Proxy support added #53 (thanks @consigliere23)
- Flexible disposition support added #58
- New
options.message_key
optionuid
added - Protocol UID support added
- Flexible sequence type support added
Breaking changes
- Depending on your configuration, your certificates actually get checked. Which can cause an aborted connection if the certificate can not be validated.
- Messages don't get flagged as read unless you are using your own custom config.
- All
Header::class
attribute keys are now in a snake_format and no longer minus-separated. Message::getTextBody()
no longer returns false if no text body is present.null
is returned instead.