guzzlehttp/guzzle-services
Provides an implementation of the Guzzle Command library that uses Guzzle service descriptions to describe web services, serialize requests, and parse responses into easy to use model structures.
2.0.0
11M downloads/mo
#1871 most downloaded on Packagist
guzzle/guzzle-services
What this package is like to depend on
Last release 1 months ago
20 Jul 2026
Release timing varies
gaps range from 8 days to 1.3 years
Most releases are documented
notes for 27 of 33 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
33 releases · first in 2014
14 releases in the last 12 months
see the full history below
Release timeline
33 releases · Mar 2014 to Jul 2026Releases
latest 33-
2.0.020 Jul 2026Release notes
Open source →- Drop support for PHP 7.2 and 7.3
- Require
guzzlehttp/guzzle^8.0,guzzlehttp/promises^3.0, andguzzlehttp/psr7^3.0 - Require
guzzlehttp/command^2.0 andguzzlehttp/uri-template^2.0 - Remove the legacy
baseUrlservice description option; usebaseUriinstead - Reject non-string and non-stringable
baseUriservice-description values before URI construction - Remove the legacy
responseClassoperation option; useresponseModelinstead - Reject native PHP serialization of runtime client pipeline objects
- Redact API-key-bearing command and HTTP arguments from PHP 8.2+ backtraces
- Default operations without an
httpMethodtoGET, preserve explicithttpMethodcasing, and reject invalidhttpMethodvalues - Require header location values to be strings or non-empty arrays of strings
- Reject non-finite float command values in request locations
- Return body response location values as strings instead of PSR-7 streams
- Return raw PSR-7 responses in the
responseresult key when theprocessclient option isfalse - Allow operations to override response processing with the
processoperation option - Support JSON response fields with multiple allowed
typevalues - Reject scalar top-level JSON response bodies
- Let native
JsonExceptionreport JSON location encoding and decoding failures - Escape unsafe service metadata and response values in generated exceptions
- Require custom implementations and subclasses of public service APIs to match native method signatures
- Require custom parameter filters and extension points to accept exact value types instead of relying on scalar coercion
- Validate cast integer values against string enum, pattern, and length constraints
- Match string enum values strictly by type and value
- Normalize stringable command values for string parameters during validation
- Treat explicit false values as present in
Parameter::has()while omittedrequiredandstaticflags remain absent - Limit XML response traversal and additional-property conversion to 512 nested elements by default
- Serialize XML request scalar element text with XMLWriter text escaping instead of CDATA sections
- Honor the documented
GuzzleClientresponse_locationsoption when building the default deserializer - Reject invalid
GuzzleClientconfiguration option values - Reject loose parameter schema values instead of normalizing them
- Require
nullschema types to match onlynullvalues - Improve PHPDoc for service client transformers, command handler stacks, and service description, operation, and parameter schema arrays
- Mark
Operation,ValidatedDescriptionHandler, andRfc3986Serializeras soft-final with@finalannotations - Trim XML response text nodes with XML whitespace characters only
Release notes
Open source →- Drop support for PHP 7.2 and 7.3
- Require
guzzlehttp/guzzle^8.0,guzzlehttp/promises^3.0, andguzzlehttp/psr7^3.0 - Require
guzzlehttp/command^2.0 andguzzlehttp/uri-template^2.0 - Remove the legacy
baseUrlservice description option; usebaseUriinstead - Reject non-string and non-stringable
baseUriservice-description values before URI construction - Remove the legacy
responseClassoperation option; useresponseModelinstead - Reject native PHP serialization of runtime client pipeline objects
- Redact API-key-bearing command and HTTP arguments from PHP 8.2+ backtraces
- Default operations without an
httpMethodtoGET, preserve explicithttpMethodcasing, and reject invalidhttpMethodvalues - Require header location values to be strings or non-empty arrays of strings
- Reject non-finite float command values in request locations
- Return body response location values as strings instead of PSR-7 streams
- Return raw PSR-7 responses in the
responseresult key when theprocessclient option isfalse - Allow operations to override response processing with the
processoperation option - Support JSON response fields with multiple allowed
typevalues - Reject scalar top-level JSON response bodies
- Let native
JsonExceptionreport JSON location encoding and decoding failures - Escape unsafe service metadata and response values in generated exceptions
- Require custom implementations and subclasses of public service APIs to match native method signatures
- Require custom parameter filters and extension points to accept exact value types instead of relying on scalar coercion
- Validate cast integer values against string enum, pattern, and length constraints
- Match string enum values strictly by type and value
- Normalize stringable command values for string parameters during validation
- Treat explicit false values as present in
Parameter::has()while omittedrequiredandstaticflags remain absent - Limit XML response traversal and additional-property conversion to 512 nested elements by default
- Serialize XML request scalar element text with XMLWriter text escaping instead of CDATA sections
- Honor the documented
GuzzleClientresponse_locationsoption when building the default deserializer - Reject invalid
GuzzleClientconfiguration option values - Reject loose parameter schema values instead of normalizing them
- Require
nullschema types to match onlynullvalues - Improve PHPDoc for service client transformers, command handler stacks, and service description, operation, and parameter schema arrays
- Mark
Operation,ValidatedDescriptionHandler, andRfc3986Serializeras soft-final with@finalannotations - Trim XML response text nodes with XML whitespace characters only
-
1.7.317 Jul 2026Release notes
Open source →- Require
guzzlehttp/guzzle^7.15 andguzzlehttp/psr7^2.13 - Require
guzzlehttp/command^1.5.3 andguzzlehttp/uri-template^1.0.10 - Replace deprecated Guzzle JSON utility methods with native JSON functions
- Normalize operation HTTP methods with locale-independent ASCII uppercasing
- Capitalize magic command names with locale-independent ASCII folding
Release notes
Open source →- Require
guzzlehttp/guzzle^7.15 andguzzlehttp/psr7^2.13 - Require
guzzlehttp/command^1.5.3 andguzzlehttp/uri-template^1.0.10 - Replace deprecated Guzzle JSON utility methods with native JSON functions
- Normalize operation HTTP methods with locale-independent ASCII uppercasing
- Capitalize magic command names with locale-independent ASCII folding
- Require
-
1.7.208 Jul 2026Release notes
Open source →- Require
guzzlehttp/guzzle^7.13.3 andguzzlehttp/psr7^2.12.4 - Require
guzzlehttp/command^1.5.2 andguzzlehttp/uri-template^1.0.9 - Pass explicit trim characters ahead of the PHP 8.6 trim default change
Release notes
Open source →- Require
guzzlehttp/guzzle^7.13.3 andguzzlehttp/psr7^2.12.4 - Require
guzzlehttp/command^1.5.2 andguzzlehttp/uri-template^1.0.9 - Pass explicit trim characters ahead of the PHP 8.6 trim default change
- Require
-
1.7.123 Jun 2026Release notes
Open source →- Require
guzzlehttp/guzzle^7.12.3 andguzzlehttp/psr7^2.12.3 - Require
guzzlehttp/command^1.5.1 andguzzlehttp/uri-template^1.0.8 - Fixed XML response parsing for default-namespace
sentAsobject properties - Report PCRE errors separately from ordinary schema pattern mismatches
Release notes
Open source →- Require
guzzlehttp/guzzle^7.12.3 andguzzlehttp/psr7^2.12.3 - Require
guzzlehttp/command^1.5.1 andguzzlehttp/uri-template^1.0.8 - Fixed XML response parsing for default-namespace
sentAsobject properties - Report PCRE errors separately from ordinary schema pattern mismatches
- Require
-
1.7.016 Jun 2026Release notes
Open source →- Require
guzzlehttp/guzzle^7.12,guzzlehttp/psr7^2.12, andguzzlehttp/uri-template^1.0.7 - Deprecate invalid
GuzzleClientconfiguration option values - Deprecate non-finite float location values; 2.0 rejects them
Release notes
Open source →- Require
guzzlehttp/guzzle^7.12,guzzlehttp/psr7^2.12, andguzzlehttp/uri-template^1.0.7 - Deprecate invalid
GuzzleClientconfiguration option values - Deprecate non-finite float location values; 2.0 rejects them
- Require
-
1.6.212 Jun 2026 -
1.6.104 Jun 2026Release notes
Open source →- Allow deprecated
nullheader location values to normalize to empty strings
Release notes
Open source →- Allow deprecated
nullheader location values to normalize to empty strings
- Allow deprecated
-
1.6.002 Jun 2026Release notes
Open source →- Require
guzzlehttp/guzzle^7.11 andguzzlehttp/psr7^2.11 - Require
guzzlehttp/command^1.5 andguzzlehttp/uri-template^1.0.6 - Deprecate the legacy
baseUrlservice description option; usebaseUriinstead - Deprecate the legacy
responseClassoperation option; useresponseModelinstead - Deprecate non-uppercase operation
httpMethodvalues; 2.0 preserves method casing - Deprecate non-string and empty-array header location values
- Deprecate loose parameter schema values and reject values that cannot be safely normalized
Release notes
Open source →- Require
guzzlehttp/guzzle^7.11 andguzzlehttp/psr7^2.11 - Require
guzzlehttp/command^1.5 andguzzlehttp/uri-template^1.0.6 - Deprecate the legacy
baseUrlservice description option; usebaseUriinstead - Deprecate the legacy
responseClassoperation option; useresponseModelinstead - Deprecate non-uppercase operation
httpMethodvalues; 2.0 preserves method casing - Deprecate non-string and empty-array header location values
- Deprecate loose parameter schema values and reject values that cannot be safely normalized
- Require
-
1.5.402 Jun 2026Release notes
Open source →- Prevent XML CDATA injection during request serialization (GHSA-q8r6-5hfw-5jff)
Release notes
Open source →- Prevent XML CDATA injection during request serialization (GHSA-q8r6-5hfw-5jff)
-
1.5.302 Jun 2026Release notes
Open source →- Harden request serialization state after failures
- Preserve explicit
nullJSON response properties - Validate
ToArrayInterfaceobject properties after conversion - Enforce zero-valued schema validation bounds
Release notes
Open source →- Harden request serialization state after failures
- Preserve explicit
nullJSON response properties - Validate
ToArrayInterfaceobject properties after conversion - Enforce zero-valued schema validation bounds
-
1.5.222 May 2026 -
1.5.120 May 2026Release notes
Open source →- Replace deprecated Guzzle JSON helper functions
- Serialize and validate header location values
-
1.5.018 May 2026Release notes
Open source →- Add PHP 8.5 support
- Require
guzzlehttp/guzzle^7.10,guzzlehttp/psr7^2.8, andguzzlehttp/command^1.4 - Fix recursive parameter model inheritance
-
1.4.318 May 2026Release notes
Open source →- Handle malformed XML responses safely
- Fix multipart request
Content-Typeheader
-
1.4.204 Feb 2025 -
1.4.103 Dec 2023 -
1.4.021 May 2023Release notes
Open source →- Add PHP 8.2 support
- Fix PHP 8.1 deprecation notices
- Bump minimum Guzzle dependency versions
-
1.3.203 Mar 2022 -
1.3.107 Oct 2021 -
1.3.014 Aug 2021Release notes
Open source →- Restore PHP 7.2 support
- Add PHP 8.1 support
- Add support for PSR-7 2.x
- Add support for
guzzlehttp/uri-template1.x - Add missing fallback to GET
-
1.2.013 Nov 2020Release notes
Open source →- Update to Guzzle 7
- Raise the minimum PHP version to 7.3
- Add
guzzlehttp/uri-templatedependency
-
1.1.306 Oct 2017Release notes
Open source →- Use wire names when deserializing named JSON arrays
- Improve invalid parameter error messages
-
1.1.219 May 2017Release notes
Open source →- Restore default values during validation
- Fix inherited operation parameters
-
1.1.115 May 2017Release notes
Open source →- Fix duplicate filter application
- Avoid mutating commands during validation
- Add response model filter support
- Improve JSON array response handling
-
1.1.031 Jan 2017Release notes
Open source →- Add configurable query parameter serialization
- Format values before validation
- Improve nested JSON array handling
-
1.0.113 Jan 2017Release notes
Open source →- Fix query parameter serialization
- Fix multipart request serialization
- Name the validation middleware in the handler stack
-
1.0.024 Nov 2016Release notes
Open source →- Add Guzzle 6 support
- Add PSR-7 request and response support
- Replace event subscribers with middleware-compatible handlers
- Rename
postFieldandpostFilerequest locations toformParamandmultipart
-
0.6.021 Oct 2016Nothing published for this version
-
0.5.023 Dec 2014Nothing published for this version
-
0.4.003 Nov 2014Nothing published for this version
-
0.3.001 Jun 2014Nothing published for this version
-
0.2.030 Mar 2014Nothing published for this version
-
0.1.015 Mar 2014Nothing published for this version