All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
Library - Chore
- PR #1107: updating php-http-client version to dynamic. Thanks to @tiwarishubham635!
Library - Chore
- PR #1105: updated php-http-client version to enable setHost. Thanks to @tiwarishubham635!
Library - Feature
- PR #1104: Added Data residency for eu and global region. Thanks to @tiwarishubham635!
Library - Docs
- PR #1097: rewrite function description. Thanks to @mohamed-foly!
- PR #1095: Modify README in alignment with SendGrid Support. Thanks to @garethpaul!
Library - Fix
- PR #1081: get rid of deprecation warnings regarding the first parameter of mb_convert_encoding. Thanks to @cclark61!
Library - Test
Note: This release contains breaking changes, check our upgrade guide for detailed migration notes.
Library - Chore
- PR #1090: drop support for EOL PHP versions and add support for PHP 8. Thanks to @childish-sambino! (breaking change)
Library - Chore
- PR #1085: push Datadog Release Metric upon deploy success. Thanks to @eshanholtz!
Library - Chore
Library - Chore
- PR #1075: migrate to Github actions. Thanks to @JenniferMah!
Library - Chore
- PR #1074: update license year. Thanks to @JenniferMah!
Library - Fix
- PR #1066: Suppress deprecation warnings in PHP 8.1. Thanks to @andreas-aeschlimann!
Library - Feature
- PR #1065: add spam, bounce and unsubscribe bypass management filters. Thanks to @shwetha-manvinkurke!
Library - Feature
- PR #1061: allow personalization of the From name and email for each email recipient. Thanks to @beebzz!
Library - Docs
- PR #1060: improve signed webhook event validation docs. Thanks to @shwetha-manvinkurke!
Library - Fix
- PR #1030: Fixing namespace for classes on test/unit folder. Thanks to @peter279k!
Library - Docs
Library - Feature
- PR #674: Allows for a user to utilize self-signed certificates. Thanks to @davcpas1234!
Library - Test
Library - Docs
- PR #1009: Incorrect value order in example array for addAttachments. Thanks to @Anorris-NLR!
Library - Fix
- PR #1006: don't wrap names in double-quotes. Thanks to @childish-sambino!
Library - Chore
- PR #725: Require conformance to style standards. Thanks to @jmauerhan!
Library - Fix
- PR #1001: support 'to' addresses with subjects. Thanks to @childish-sambino!
Library - Docs
- PR #717: Update documentation for retrieving a list of all templates. Thanks to @renshuki!
- PR #729: Added S3 attachment example. Thanks to @semijoelon!
- PR #984: Reduce excessive comments in code examples. Thanks to @kampalex!
Library - Test
- PR #735: add unit tests for lib/email. Thanks to @peter279k!
- PR #756: Add more scenarios for email address encoding. Thanks to @2mt-heuser!
Library - Chore
- PR #993: update GitHub branch references to use HEAD. Thanks to @thinkingserious!
Library - Fix
Library - Chore
- PR #990: migrate to new default sendgrid-oai branch. Thanks to @eshanholtz!
Library - Docs
- PR #778: fix grammar issue in CHANGELOG. Thanks to @Hestersue43!
- PR #759: add Email Activity API to usage docs. Thanks to @ajloria!
Library - Feature
- PR #850: Add an option to override SendGrid Client path version. Thanks to @erbaker!
- PR #762: enhanced type exception handling. Thanks to @misantron!
Library - Feature
- PR #985: Additional check for existence of Composer autoloader. Thanks to @kampalex!
- PR #978: Mail constructor: Added support for array of Substitution instances using $globalSubstitutions. Thanks to @kampalex!
Library - Fix
- PR #976: allow a float type as a substitution value in transactional templates. Thanks to @thinkingserious!
- PR #977: Mail constructor: Verify arguments $plainTextContent and $htmlContent if provided. Thanks to @kampalex!
- PR #971: Optional Personalization arguments handling. Thanks to @kampalex!
Library - Fix
- PR #975: Inspected code of Stats, example helpers. Thanks to @kampalex!
- PR #967: add support for unicode in local part of email address when using PHP>=7.1. Thanks to @kampalex!
- PR #974: Accept string typed Subject in Personalization. Thanks to @kampalex!
- PR #973: Replace dynamic template data typehints. Thanks to @kampalex!
Library - Feature
- PR #969: verify signature from event webhook. Thanks to @childish-sambino!
Library - Fix
- PR #966: Rename 'BaseInterface' to 'BaseSendGridClientInterface.php'. Thanks to @childish-sambino!
- PR #965: use classmap instead of files for Composer autoload. Thanks to @kampalex!
Library - Docs
Library - Fix
- PR #960: migrate to common prism setup. Thanks to @childish-sambino!
Library - Fix
- PR #952: refactor and fix personalization inserts/updates. Thanks to @childish-sambino!
Library - Feature
- PR #951: add support for Twilio Email. Thanks to @childish-sambino!
Library - Docs
- PR #947: support verbiage for login issues. Thanks to @adamchasetaylor!
- PR #946: correct params order in example.php. Thanks to @spaze!
Library - Docs
Library - Chore
- PR #941: add PHP 7.4 to Travis and test with lowest dependencies. Thanks to @childish-sambino!
Library - Fix
- PR #918: resolve deprecation notices when using Composer 1.10(-dev). Thanks to @kampalex!
- PR #939: drop the prism binary and ignore unneeded files from the archive. Thanks to @childish-sambino!
Library - Docs
- PR #928: baseline all the templated markdown docs. Thanks to @childish-sambino!
Library - Docs
- PR #710: correct the *.md files using Grammarly. Thanks to @myzeprog!
- PR #742: properly capitalize brands GitHub and SendGrid. Thanks to @aslafy-z!
- PR #737: remove
sudo
requirement for running docker. Thanks to @jamietanna!
Library - Chore
- PR #926: prep the repo for automated releasing. Thanks to @childish-sambino!
Library - Fix
- PR #765: correct typo in PR template from "Sendgrid" to "SendGrid". Thanks to @JoeRomeo!
- PR #757: remove dead code when setting the subject. Thanks to @2mt-heuser!
- PR #761: correct the License file path in ReadMe. Thanks to @sanjaysingh!
- PR #770: update the link for cURL example in Troubleshooting.MD. Thanks to @music-mind!
- PR #887: correct the mail helper readme link in example. Thanks to @flashadvocate!
Library - Fix
- PR #705: Fixing issue #686: NULL Item in Personalizations. Thanks to @reisraff!
- PR #788: Fixes #788 - Add missing parameter for addCc and addBcc methods. Thanks to @hjmsw!
Library - Docs
Library - Feature
- PR #821: PHP 7.3 support and fix Prism download problem.
- Closes #669, PR #670: Fix Mail::setGlobalSubject(). Thanks to Spencer Salisbury for the solution!
- Closes #782, PR #783: Remove references to 'whitelabel'. Thanks to Chandler Weiner for the solution!
- Closes #763, PR #764: Update link to license. Thanks to Pranjal Vyas for the solution!
- PR #760: Clean up Prism shell script. Thanks to gy741 for the solution!
- Closes #739, PR #740: . Thanks to Alex Borisov for the solution!
- PR #828: Update Twilio branding, CLA policy.
- Closes #768, PR #769: Update prerequisites. Thanks to Rishabh for the solution!
- Closes #733, PR #736: Update CONTRIBUTING - contribution guideline to branch off development. Thanks to Alex for the solution!
- Closes #481, PR #743: Added Box attachment example. Thanks to Joel for the solution!
- Closes #690, PR #698: Update prism version. Thanks to Gergo Juhasz for the solution!
- Closes #648, PR #657: Allow for Dynamic Templates Implementation. Thanks to Mike Willbanks for the PR!
- Closes #612, PR #652: Fixes #612 Add TypeException and include type validations in classes inside mail/. Thanks to James Harding for the PR!
- Closes #551, PR #571: Add ability to impersonate subuser. Thanks to Stian Prestholdt for the PR!
- Closes #617, PR #651: Add try / catch to examples. Thanks to James Harding for the PR!
- Closes #619, PR #620: PHPDoc & code improvements. Thanks to Martijn Melchers for the PR!
- Closes #610, PR #628: Removes unnecessary linter warning from phpcs. Thanks to James Harding for the PR!
- Closes #608, PR #626: Add check so that getContents() always returns content with MimeType text/plain first in array of Content objects. Thanks to James Harding for the PR!
- Closes #611, PR #618: Attachments now automatically get base64 encoded if they are not already. Thanks to Martijn Melchers for the PR!
- PR #661: Add Code Triage tag. Thanks to Anshul Singhal for the PR!
- PR #663: Improve Contributing.md readability. Thanks to Anshul Singhal for the PR!
- PR #631: Broken documentation link. Thanks to David Duman for the PR!
- PR #633: Fixes for non-composer environments. Thanks to Tom Gordon for the PR!
- PR #634: Fixes missing file extension. Thanks to Muberra Duman Demirtepe for the PR!
- PR #658: Corrected PHP Syntax. Thanks to David Passmore for the PR!
- Fixes #624, PR #625: Fix setGroupsToDisplay's handling of array arguments. Thanks to Mo Ismailzai for the PR!
Thanks to the strong support and feedback of the SendGrid PHP community, we have a new version of this SDK that should be a big improvement in the developer experience for this SDK.
In particular, I'd like to make special mention of @caseyw, @vitya1, @Braunson, @cbschuld, @paoga87, @Taluu, @mazanax, @ninsuo, @ianh2, @WadeShuler, @jaimehing, @KnightAR, @alextech (my apologies if I've missed you)
Since this is a major departure from v6.X, we advise you to refactor your code according to the documentation found in the README and USE_CASES files. We hope you find the new interface much easier to work with. Please open an issue or PR if you run into any trouble or have any feedback.
If you wish to continue using previous versions of this SDK, no problem. However, we will not be updating versions less than v7 except for critical bugs and/or security issues.
We hope this will be the last breaking change in the foreseeable future; that said, let the iterations begin!
-
Closes #454, PR #502: Add helper for adding new recipients to your contactdb via a webform, thanks to Kraig Hufstedler for the PR!
-
Closes #487, PR #506: Add helper to get all stats from a specified data range, thanks to Milos Pejanovic for the PR!
-
Closes #368, PR #511: Add support for commas and semicolns in email name, thanks to Quentin Ligier for the PR!
-
Closes #491, PR [#493](#493: Allow for setting attachment content from path, thanks to rparpa for the PR!
-
PR #512: Omit PHP closing tag in use case sample, thanks to Sébastien Santoro for the PR!
-
PR #575: Add an example to the README.md describing how to send emails as HTML as the content type, thanks to Benjamin Manford for the PR!
-
Closes #547, PR #549: Added Code Review to Contributing.md, thanks to tomhorvat for the PR!
-
PR #565: Add PHP 7.1 and 7.2 to Travis build matrix, thanks to Emir Beganović for the PR!
-
PR #577: Update PHP Version terms, thanks to Siddhant Sharma for the PR!
-
Closes #540, PR #543: Feature/split unit tests, thanks to Owen Voke for the PR!
-
Closes #441, PR #467: Add deploy to heroku button, thanks to pangaunn for the PR!
-
Closes #423, PR #510: Adding Google App engine installation with composer instructions, thanks to Nalin Bhardwaj for the PR!
-
Closes #541, PR #542: Added CodeCov support, thanks to Owen Voke for the PR!
-
PR #539: Rename LICENSE.txt to md, thanks to Ankit Jain for the PR!
-
Closes #436, PR #535: Add docker development setup, thanks to Samundra Shrestha for the PR!
-
Closes #532, PR #537: Add license date range unit test, thanks to uppe-r for the PR!
-
Closes #533, PR #536: Add unit test to check that specific files exist in repo, thanks to Bertus Steenberg for the PR!
-
Closes #524, PR #527: Created code climate YML file, thanks to Prashu Chaudhary for the PR!
-
Closes #520, PR #523: Added sample env file, thanks to Joey Lee for the PR!
-
PR #513: Update to PHP 7.0.0 refactor - Fix syntax error in refactor documentation, thanks to Sébastien Santoro for the PR!
-
PR #505: Update README.md with additional badges, thanks to Lalit Vijay for the PR!
-
Closes #500, PR #504: SEO Friendly Section links, thanks to Dharma Saputra for the PR!
-
PR #503: Added new badges to README.md, thanks to Alex for the PR!
-
Closes #492, PR #494: Demonstrate how to review the request body for troubleshooting, thanks to Alex for the PR!
-
PR #476: Update README.md with license information, thanks to Tarmo Leppänen for the PR!
-
PR #475: Add documentation for setting up domain whitelabel, thanks to Sourav Sarkar for the PR!
-
PR #468: Changes the recommendation to use composer as recommended source, thanks to Gabriela D'Ávila Ferrara for the PR!
-
PR #463: Add TROUBLESHOOTING.md section about fixing error 415, thanks to AlbinoDrought for the PR!
-
PR #456: Added Code of Conduct, thanks to Rubemlrm for the PR!
-
PR #439: Update to PHP 7.0.0 refactor - Removal of Collections, thanks to Joseph Opanel for the PR!
-
PR #416: Add release notifications, thanks to Gabriel Krell for the PR!
-
PR #415: Updated example.php to fix that there was no way for the sections to get substituted without their being a substitution that calls them, thanks to Kyle Roberts for the PR!
-
PR #545: Fix typo CONTRIBUTING.md, thanks to thepriefy for the PR!
-
PR #588: Fix broken unit tests
-
PR #576: API level addressing of the string-only in addSubstitution arg rule. Every long integer triggers a bad request, thanks to Ezequiel Villarreal for the PR!
-
PR #517: Fix typos in USAGE.md, thanks to Anatoly for the PR!
-
PR #530: Changed the license period., thanks to Siddhant Sharma for the PR!
-
PR #514: Don't close img tag in HTML, thanks to Sébastien Santoro for the PR!
-
PR #507: Fix typos in various files, thanks to Brandon Smith for the PR!
-
Fixes #336, PR #479: Incorrect documentation path fixed, thanks to Valerian Pereira for the PR!
-
PR #465: Fix typo in README.md, thanks to shra1cumar for the PR!
-
PR #449: Fix typos in USAGE.md, thanks to Cícero Pablo for the PR!
-
PR #448: Fix typos in TROUBLESHOOTING.md, thanks to Cícero Pablo for the PR!
-
PR #435: Change spam_report() to spam_reports() in documentation and examples, thanks to mrmxs for the PR!
-
PR #431: Fixed minor typo during Mail creation, thanks to joeldixon66 for the PR!
- PR #408: Update Mail constructor to signify which parameters are required for sending all email
- The
Mail()
constructor now requires$from
,$subject
,$to
and$content
parameters like so:Mail($from, $subject, $to, $content)
. Those are the minimally required parameters to send an email. - Thanks to Casey Wilson for the PR!
- PR #410: Adding name for ReplyTo for issue #390
- Thanks to Casey Wilson for the PR!
- Versioning mistake (forgot the .0 at the end)
- Pull #405: Updating docs and non-composer includes
- Thanks to Casey Wilson for the PR!
- Pull #396: Use
print_r
instead ofecho
on Arrays - Thanks to Ryan P.C. McQuen for the PR!
- Pull #393: Update php-http-client dependency
- v3.6: Pass the curlOptions to the client in buildClient
- v3.7: Added ability to get headers as associative array
- Fixes #292
- Removes Prism file in sendgrid-php.zip
- Pull #373
- PSR1 & PSR2 Conversion
- Thanks to Braunson Yager for the PR!
- Pull #337
- API level addressing of the string-only custom arg rule
- Thanks to Chris Schuld for the PR!
- Pull #367
- UTF8 encoding forced for content value and message subject
- Thanks to Chris Schuld for the PR!
- Pull #334
- Fixed serialization of empty JSON objects, fixes #332 & #314
- Thanks to Matthew Dreyer for the PR!
- Pull #323
- Typo 'user' for 'usr'
- Thanks to Mike Ralphson for the PR!
- Pull #353
- Fixed Issue #352
- Relative path fix for background jobs
- Thanks to Tarcísio Zotelli Ferraz for the PR!
- Pull #346
- Allow passing curlOptions to the client
- Thanks to Taluu for the PR!
- Pull #330, Fixes #320
- Delete subaccounts returns 200 issue resolved
- The fix happened at the php-http-client dependency.
- Thanks to emil for the PR!
- Pull #307, Fixes #276
- Adds phpdoc and style fixes
- Thanks to Avishkar Autar for the PR!
- Pull #295: Upgrade sendgrid/php-http-client
- This adds getters for certain properties, please see this pull request for details
- Thanks to Arjan Keeman for the pull request!
- Pull request #289: Replace "\jsonSerializable" with "\JsonSerializable"
- Thanks to Issei.M for the pull request!
- Table of Contents in the README
- Added a USE_CASES.md section, with the first use case example for transactional templates
- Troubleshooting section
- README updates
- Update introduction blurb to include information regarding our forward path
- Update the v3 /mail/send example to include non-helper usage
- Update the generic v3 example to include non-fluent interface usage
- Update docs, unit tests and examples to include Sender ID
- Tests now mocked automatically against prism
- Content based on our updated Swagger/OAI doc
- Accept: application/json header per https://sendgrid.com/docs/API_Reference/Web_API_v3/How_To_Use_The_Web_API_v3/requests.html
- Content based on our updated Swagger/OAI doc
- Issue with packaged version for non-composer uses
- Breaking change to support the v3 Web API
- New HTTP client
- v3 Mail Send helper
- Ability to add scopes to API Keys endpoint [POST]
- API Keys endpoint [PUT]
- Tests for API Keys endpoint [POST, PATCH, DELETE]
- HTTP 406 Not Acceptable Errors #177
- Added support for accessing the SendGrid Web API v3 endpoints
- Implemented part of the /api_keys, /groups and /suppressions endpoints
- Specify Guzzle proxy via #149
- Option to disable exception raising
- Support for API keys
- CC and BCC not working with SMTPAPI To
- Breaking: A
\SendGrid\Exception
is now raised when response is not 200 - Breaking:
addTo
now uses the Web API parameter as opposed to the SMTPAPI Header. Substitutions will most likely break unless you update to useaddSmtpapiTo
- The library now depends on Guzzle3
- Major refactoring
- Breaking:
send()
now returns an instance of\SendGrid\Response
- Numerous missing methods for new functionality
addSmtpapiTo
for using the SMTPAPI To
- Fix turn_off_ssl_verification option via #123
- Remove Unirest and replace with native cURL
- Add CHANGELOG.md