- Add opt-in upload/download progress for sync and async HTTP transfers, with execution trace, attempt numbers and byte counters.
- Isolate callback failures and preserve protected external URL handling. Built-in mocks, playback and Laravel fake accept the option without transfer notifications.
- Add per-call
withRetryDelay()/withoutRetryDelay()overrides for backoff settings without changing retry safety or server Retry-After handling. - Document response provenance after retry failures; execution result semantics are unchanged.
Both additions are optional. Existing calls need no changes. Transfer progress is supported by the built-in Guzzle/cURL adapter; custom transports must declare support. Callbacks must not perform I/O or suspend a Fiber.
Run the local HTTP example (requires Guzzle, ext-curl and proc_open):
php vendor/apisutra/php/docs/example/transfer-progress/run.phpFor Laravel applications, use apisutra/laravel 0.1.3 or later to allow the core 0.4 series.