- Allow composer to choose psr/container 1 or 2 for downstream dependencies
- Update changelog
- Update contributors list
getCountryPrefix()
string return type
- Major removals of deprecations, most notable
ArrayAccess
- PSR Logger support for 2.0
- PHPUnit tests now no longer throw
prophesize()
depreciation notices
- Maintainer and Contribution documents changed to reflect current ownership
- All test cases now extend off the new
VonageTestCase
class that implements theProphesizeTrait
- Removed the automatic unicode detection to allow for intentional selection.
- Changed Readme to include how to fire test suite from composer
- #276 - JWTs with
sub
should now generate properly under newer PHP versions
- #282 - SMS Throttling response is now handled as milliseconds instead of seconds
- #282 - Fixed regex to not consume API rate limiting error and basically time out PHP scripts
- Nexmo/nexmo-laravel#62 - Landline Toll Free numbers can be searched for
- #278 - Fixed issue retrieving Conversations and Users clients where the service locator didn't know what to do
- #283 - Moved auth logic to individual handlers, to better prepare for a fix where Containers do not allow Signature and Token auth
- #272 - Added support for PSR-3 compatible logging solutions and a new debug feature to log requests/responses
- #274 - Added support for the detail field on some new Voice API incoming events (https://developer.nexmo.com/voice/voice-api/webhook-reference#event-webhook)
- #273 - Added new content-id and entity-id fields to support regional SMS requirements, and a shortcut for enabling DLT on Indian-based SMS
- #270 - Use the actual Guzzle package version to determine of 6 or 7 is in the project
- #269 - Added PHP 8 Support
- #265 - Added support for Language and Style for NCCO Talk action
- #257 Dropped support for PHPUnit 7
- #257 Added missing PHPDoc blocks
- #257 Added missing return type hints
- #257 Replaced qualifiers with imports
- #257 Updated and optimized examples
- #257 Applied multiple code optimizations (especially for PHP 7.2+) and simplified some logic
- #257 Updated code styling to match PSR standards
- #257 Re-ordered imports where necessary
- #257 Updated tests to get rid of deprecation messages
- #257 Fixed namespace declarations in tests
- #257 Updated code style to PSR-12
- #257 Updated phpunit.xml.dist
- #257 Added Roave Security Advisories as dev-requirement to prevent usage of packages with known security vulnerabilities
- #257 Replaced estahn/phpunit-json-assertions with martin-helmich/phpunit-json-assert due do compatibility issues with PHPUnit
- #257 Removed test build for PHP 7.1 in .travis.yml
- #257 Added missing punctuation in CONTRIBUTING.md
- #257 Updated contact email address in CODE_OF_CONDUCT.md
- #265 - Deprecated use of VoiceName for NCCO Talk action
- #257 Fixed namespaces (Zend => Laminas, Nexmo => Vonage)
- #257 Fixed condition in Verify\Request::setCodeLength
- #257 Fixed typos and some wording in README.md
- Removed
examples/
directory as the code snippets repo is much more up-to-date
- #260 - Swapped out
ocramius/package-versions
forcomposer/package-versions-deprecated
to work with Composer 2
- #256 - Added support for PHPUnit 8
- #253, #254 - Fixed some typos in the README
- #255 -
\Vonage\Numbers\Client::searchAvailable()
now correctly handles filters usingFilterInterface
- #250 - Bumped minimum PHP version to 7.2
- #250 - Now supports Guzzle 7 automatically, and swaps to Guzzle 7 as a dev dependency
- #252 - Connect action's
eventUrl
was being set as a string, changed to single element array of strings
- #248 - Added
\Vonage\Client\MapFactory::make()
to always instatiate new objects
- #248 - Fixed type in URL for Account Client Factory
- #247 - Fixed missing fields on Standard/Advanced number insight getters
- #246 - Fixed badge URLs in README
- Support for the PSD2 Verify endpoints for EU customers
vonage/nexmo-bridge
as a dependency so\Nexmo
namespaced code works with the new\Vonage
namespace- Calls using
\Vonage\Client\APIResource
can now specify headers for individual requests
- Namespace changed from
\Nexmo
to\Vonage
for all classes, interfaces, and traits
- Base URL overrides were not being pushed up properly
- JSON payload for transferring via NCCO or URL was malformed
- Added country as a search option for Nexmo\Numbers\Client::searchOwned()
- #235 - Adds a fix for calling the calls() API client
- Allow Conversations NCCO to set event URL information
- Added missing Notify webhook and new ASR code
- NCCOs now set let default options
- Redundant comments in client for sms() and verify() clients
This release focuses on deprecation of dead and old code, and preps many internal changes in regards to v3.0.0. Where possible upcoming v3.0.0 changes were backported where backward-compatibility could be maintained.
- New Voice and SMS interfaces, accessible through
$client->voice()
and$client->sms()
, respectively - Added user deprecation warnings, which can be turned on and off via the
Nexmo\Client
"show_deprecations" config option. This can help devs update in preparation in v3.0.0, and will be utilized in the future as things are deprecated. - Many objects now have a
toArray()
serialization method, to discourage direct use ofjsonSerialize()
- Many objects now support a
fromArray()
hydration method - Better incoming webhook support for SMS and Voice events
- NCCO builder for Voice
- API handling code has been conglomerated in
Nexmo\Client\APIResource
andNexmo\Entity\IterableAPICollection
- All APIs ported over to the new API handling layer
- Internal Service Locator
Nexmo\Client\Factory\MapFactory
is now PSR-11 compliant, and can use factories - Most Verify methods in the client now prefer string Request IDs
- Verify now prefers
Nexmo\Verify\Request
for starting new Verification requests
For a detailed list of things that may impact an application, enable the show_deprecations
Nexmo\Client
option to see deprecation notices for specific code flows.
- Most forms of array access are now deprecated
- Using service layers like
$client->messages($filter)
to search has been deprecated in favor of bespoke search methods - Requests/Responses on exceptions and entities are deprecated, and now exist in the service layer or collection
- Most methods that took raw arrays now prefer objects
Nexmo\Verify\Verification
objects full functionality has been deprecated, and will be used only as a value object for search requests in the futureNexmo\Conversations
andNexmo\User
have been deprecated and will be removed in the future as the feature is in Beta status and has diverged from this implementationNexmo\Voice\Call
andNexmo\Voice\Message
have been deprecated and will be removed in the future as the TTS API is deprecated- SMS searching has been deprecated and will be removed in a future update
- No features or classes have been removed in this update, it is functionally compatible with v2.1.0 other than deprecation notices and new features.
- No direct bugs have been fixed as this release was designed to be as compatible with v2.1.0 as possible, however:
- #177 should be better handled by a centralized
Nexmo\Client\Exception\ThrottleException
and has been implemented in SMS and the Numbers API - #219 is implicitly fixed in
Nexmo\SMS\Client::send()
as it now returns a fully hydrated collection object as a response, however this needs to be updated in Laravel itself via an update tonexmo/laravel
andlaravel/nexmo-notification-channel
- #221 is implicitly fixed in
Nexmo\SMS\Client::send()
as it now returns a fully hydrated collection object that is much more up-front it is not a single object - #227 is implicitly fixed in
Nexmo\SMS\Webhook\InboundSMS
- #177 should be better handled by a centralized
- There were no known security vulnerabilities reported