Releases: AfterShip/tracking-sdk-php
Releases · AfterShip/tracking-sdk-php
14.0.0
What's Changed
- fix sign header and change slug_group to string by @1415003719 in #25
Full Changelog: 13.0.0...14.0.0
13.0.0
What's Changed
Breaking Changes - AfterShip Tracking PHP SDK v13.0.0
System Requirements Changes
- PHP Version: 8.0+ → 8.1+
- Symfony Dependencies: Removed 5.4 support, minimum 6.4
1. Namespace And Model Name Changes
All request/response classes moved from API namespace to Model namespace:
// v12
use Tracking\API\Tracking\CreateTrackingRequest;
use Tracking\API\Courier\DetectCourierRequest;
// v13
use Tracking\Model\CreateTrackingRequest;
use Tracking\Model\DetectCourierRequest;Most of the request/response model names have been made more concise
// v12 - Suffix naming
use Tracking\Model\CourierEstimatedDeliveryDateTracking;
use Tracking\Model\ShipmentWeightTracking;
use Tracking\Model\AftershipEstimatedDeliveryDateTracking;
use Tracking\Model\CarbonEmissionsTracking;
use Tracking\Model\CustomEstimatedDeliveryDateTracking;
// v13 - Prefix naming
use Tracking\Model\TrackingCourierEstimatedDeliveryDate;
use Tracking\Model\TrackingShipmentWeight;
use Tracking\Model\TrackingAftershipEstimatedDeliveryDate;
use Tracking\Model\TrackingCarbonEmissions;
use Tracking\Model\TrackingCustomEstimatedDeliveryDate;2. Response Structure Complete Refactor
All Response classes now contain responseHeader and data structure:
// v12 - Direct access to response properties
$response = $client->tracking->createTracking($request);
$id = $response->id;
$trackingNumber = $response->tracking_number;
// v13 - Must access through getData()
$response = $client->tracking->createTracking($request);
$data = $response->getData();
$id = $data->id;
$trackingNumber = $data->tracking_number;
$headers = $response->getResponseHeader(); // New feature: get response headersApplies to all API responses: createTracking, getTrackingById, getTrackings, updateTrackingById, getCouriers, etc.
3. Constants to Enums
Multiple classes changed from class constants to PHP 8.1 native enums: #23
// v12 - Class constants
Tag::PENDING
Tag::DELIVERED
Tag::IN_TRANSIT
// v13 - Enum values
Tag::PENDING->value
Tag::DELIVERED->value
Tag::IN_TRANSIT->valueImpact: If your code uses constants like Tag::PENDING for string comparison, change to Tag::PENDING->value.
Full Changelog: 12.0.0...13.0.0
12.0.0
11.0.0
10.2.1
chore: adjust dependencies
Full Changelog: 10.2.0...10.2.1
10.2.0
10.1.3
What's Changed
- chore: update guzzlehttp/guzzle to version 7.* and adjust dependencies by @AfterShip-Team-Mocha in #16
Full Changelog: 10.1.2...10.1.3
10.1.2
What's Changed
- chore: update SDK version to 10.1.2. by @AfterShip-Team-Mocha in #15
Full Changelog: 10.1.0...10.1.2
10.1.0
What's Changed
- deleted test file by @AfterShip-Team-Mocha in #13
- chore: update guzzlehttp/guzzle to version 7.5.0 by @AfterShip-Team-Mocha in #14
Full Changelog: 10.0.1...10.1.0
10.0.1
What's Changed
- fix: make transit_time in last_mile object nullable. by @AfterShip-Team-Mocha in #12
Full Changelog: 10.0.0...10.0.1