Changelog

Version history and updates for the VECU Custody Python SDK.

Version 0.1.1-beta

Released: 2024-01-15

Status: Beta

Features

  • Initial beta release of the Custody Python SDK
  • Synchronous and asynchronous client support (CustodyClient and AsyncCustodyClient)
  • Complete API coverage for all 5 resource groups:
    • Custody Permits (authorizations) - 4 endpoints
    • Transfers - 4 endpoints
    • Releasability - 3 endpoints
    • Audit - 2 endpoints
    • Health - 1 endpoint
  • Automatic pagination for list operations
  • Comprehensive exception hierarchy with 15+ typed exceptions
  • Automatic retry logic with exponential backoff
  • Hash-chain verification for custody transfers
  • Environment presets (sandbox, production)
  • Mock client for testing (MockCustodyClient, AsyncMockCustodyClient)
  • Type hints and full IDE autocomplete support

API Methods

Custody Permits (authorizations):

  • client.authorizations.create() - Create custody permit
  • client.authorizations.get() - Retrieve permit by ID
  • client.authorizations.list() - List permits with filtering
  • client.authorizations.cancel() - Cancel active permit

Transfers:

  • client.transfers.create() - Initiate custody transfer
  • client.transfers.get_status() - Get transfer status
  • client.transfers.get_history() - Retrieve custody history
  • client.transfers.verify_integrity() - Verify custody chain

Releasability:

  • client.releasability.check_vin() - Check if vehicle is releasable
  • client.releasability.check_with_context() - Check with additional context
  • client.releasability.get_cached() - Get cached releasability result

Audit:

  • client.audit.get_trail() - Retrieve audit trail
  • client.audit.generate_report() - Generate compliance report

Health:

  • client.health.check() - Service health check

Configuration

  • Support for environment variables (VECU_API_KEY, VECU_API_SECRET, VECU_ENVIRONMENT)
  • Configurable timeouts and retry policies
  • Custom headers and SSL configuration
  • Base URL override for custom endpoints

Testing

  • MockCustodyClient for synchronous testing
  • AsyncMockCustodyClient for async testing
  • Configurable mock behavior (delays, errors, default responses)
  • Test fixtures and patterns

Documentation

  • Complete API reference documentation
  • Quick start guide
  • Installation instructions with Artifactory setup
  • Configuration guide
  • Async client usage patterns
  • Error handling guide
  • Testing guide with pytest examples

Requirements

  • Python >= 3.11
  • Dependencies:
    • httpx >= 0.25.0 (HTTP client)
    • pydantic >= 2.0.0 (data validation)
    • python-dateutil >= 2.8.0 (date handling)

Known Issues

  • None reported in this release

Breaking Changes

  • N/A (initial release)

Upcoming Features

The following features are planned for future releases:

Version 0.2.0 (Planned Q1 2024)

  • Batch operations for permits and transfers
  • Webhook subscription management
  • Enhanced caching with Redis support
  • Rate limit handling improvements
  • Additional report formats (Excel, HTML)

Version 0.3.0 (Planned Q2 2024)

  • Real-time transfer status updates via WebSocket
  • Bulk import/export utilities
  • Advanced filtering and search capabilities
  • Performance optimizations for large datasets

Version 1.0.0 (Planned Q3 2024)

  • Stable API (no breaking changes)
  • Production-grade error recovery
  • Comprehensive logging and observability
  • Support for Python 3.12+

Migration Guides

From Alpha to Beta (0.0.x → 0.1.x)

If you used pre-release alpha versions, note these changes:

Renamed Methods:

# Old (alpha)
client.permits.create_permit(...)
client.permits.get_permit(...)

# New (beta)
client.authorizations.create(...)
client.authorizations.get(...)

Changed Response Types:

  • PermitCustodyPermit
  • TransferStatus now includes progress_percentage field

Configuration Changes:

  • api_timeouttimeout
  • max_retry_attemptsmax_retries

Support

For questions, issues, or feature requests:


Version Support Policy

  • Beta releases receive bug fixes and security updates
  • Stable releases (1.0+) receive long-term support
  • Deprecated versions receive security updates for 6 months after deprecation

Python Version Support

SDK VersionPython 3.11Python 3.12Python 3.13
0.1.xPlanned
1.0.x

License

This SDK is proprietary software owned by Cox Automotive. See LICENSE file for details.