v6.0.0
-
Release final version of v6 that contains all the changes in the
v6.0.0-rc1
listed below: -
PHP 7.3 is no longer supported
-
Added a new
EasyPostClient
object which encapsulates the API key. All functions are called against this client allowing for thread-safety (eg:$client->shipment->create()
)- All instance methods and the ability to have objects update in-place has been removed due to this rearchitecture. When updating objects or performing actions on them (eg: creating a label/scanform), you will need to assign the return value to a variable and use that moving forward instead of relying on the object getting updated without capturing the new return value
->save()
instance methods are nowupdate()
static methods- Functions no longer accept an API key as an optional parameter
- EasyPost objects no longer contain the logic associated with them; instead, we have
Services
for each EasyPost object. All the services are properties of anEasyPostClient
. You can then call functions on a Service.
-
All function and parameter names are now camelCase. Previously we used a mix of camel and snake cases
-
Improves error exception handling (closes #7)
- Introduced ~2 dozen new exception types that extend from either
ApiException
orEasyPostException
- ApiExceptions will behave like the previous EasyPostException class did. They will include a
message
,errors
,code
,httpStatus
andhttpBody
. This class extends the more generic EasyPostException which only contains a message, used for exceptions thrown directly from this library - The
ecode
property of anApiException
is now justcode
- Introduced ~2 dozen new exception types that extend from either
-
Functions that previously returned
true
now return void as there is no response body from the API (eg:fundWallet
,deletePaymentMethod
,updateEmail
,createList
) -
Adopts
Guzzle
as the HTTP client for this library. This should provide a much more consistent experience, better encoding, and faster request times in some cases -
The results of calling
allApiKeys
is no longer double wrapped with the mode of the API key (these are still accessible inside of each object) -
Requestor
has moved toHttp
, constants fromEasyPost
now live inConstants
,Error
moved toException
-
Occurances of
smartrate
are nowsmartRate
andSmartrate
are nowSmartRate
to match the documentation and API expectations -
Referral
is nowReferralCustomer
to better match documentation and API expectation -
validateWebhook
,getLowestSmartRate
, andreceiveEvent
are now underEasyPost\Util\Util
as they do not make any API calls and do not need the associated client object- The
receive
function previously in the namespace ofEvent
is now calledreceiveEvent
since it has been relocated to the generic Util namespace - Internal, library only utilities have been moved to
EasyPost\Util\InternalUtil
- The
-
The beta
EndShipper
class has been removed, please use the generally availableEndShipper
class -
Various properties and functions that were previously intended for private/protected use but were public have been corrected
-
All phpdoc type hints, descriptions, return values, and throws references were corrected or updated
-
All dependencies were bumped
-
Various other bug fixes and improvements were made along with addressing deprecation warnings