Skip to content

v1.0.0

Latest

Choose a tag to compare

@tigusigalpatigusigalpa released this 17 Feb 02:24

Release Notes - v1.0.0

🎉 Initial Release

We're excited to announce the first stable release of ShipTime PHP - a modern, robust PHP/Laravel client library for the ShipTime REST API v0.1.

✨ Features

Core Functionality

  • Complete API Coverage - Full implementation of all public ShipTime API endpoints
  • Modern PHP 8.1+ - Leverages latest PHP features including enums, readonly properties, and strict typing
  • Laravel Integration - Seamless integration with Laravel 9.x, 10.x, 11.x, and 12.x via Service Provider
  • Service-Oriented Architecture - Clean, maintainable code structure with dedicated service classes

API Services

  • Orders Service - Create, list, and cancel orders
  • Rates Service - Get shipping rates from multiple carriers
  • Shipments Service - Create shipments, download labels and customs invoices
  • Track Service - Real-time shipment tracking with detailed history
  • Pickups Service - Schedule and manage carrier pickups
  • Boxes Service - Access available box configurations
  • Accounts Service - Retrieve account information and available services
  • Location Service - Postal code lookup functionality

Data Transfer Objects (DTOs)

  • 40+ Immutable DTOs with strict typing and validation
  • 11 Enums for type-safe fixed values
  • Automatic array conversion with fromArray() and toArray() methods

Error Handling

  • Custom Exception Hierarchy for granular error handling
  • AuthenticationException (401)
  • ValidationException (400)
  • NotFoundException (404)
  • ForbiddenException (403)
  • ConflictException (409)
  • ServerErrorException (5xx)

Developer Experience

  • Comprehensive Documentation - Detailed README, API docs, and installation guide
  • Working Examples - Ready-to-use code samples for common operations
  • PHPUnit Tests - Unit tests for core functionality
  • GitHub Actions CI - Automated testing across PHP 8.1, 8.2, 8.3
  • PSR-4 Autoloading and PSR-12 Coding Standards

📦 Installation

composer require tigusigalpa/shiptime-php

🚀 Quick Start

use Tigusigalpa\ShipTime\ShipTime;

$shiptime = new ShipTime(
    apiKey: 'your_api_key',
    apiSecret: 'your_api_secret'
);

// Get shipping rates
$rates = $shiptime->rates()->getRates($rateRequest);

// Create shipment
$shipment = $shiptime->shipments()->createShipment($shipRequest);

// Track package
$tracking = $shiptime->track()->track($shipmentId);

📚 Documentation

🔧 Requirements

  • PHP 8.1 or higher
  • Guzzle HTTP Client 7.x
  • Laravel 9.x, 10.x, 11.x, or 12.x (optional, for Laravel integration)

🙏 Credits

Created by Igor Sazonov

📄 License

MIT License - see LICENSE file for details

🔗 Links


Full Changelog: Initial release


This release note includes:
- Clear version announcement
- Comprehensive feature list organized by category
- Installation instructions
- Quick start example
- Links to documentation
- Requirements
- Credits and license info
- Useful links for users