Releases: crescat-io/saloon-sdk-generator
v1.6.0: Saloon v4 Support
What's Changed
Adds Saloon v4 support. Saloon v4 is a security-focused release (CVE-2026-33942, CVE-2026-33182, CVE-2026-33183) with no functional API changes — generated SDKs work identically on both v3 and v4.
Added
- Saloon v4 support: upgraded
saloonphp/saloonto^4.0andsaloonphp/laravel-pluginto^4.0 - Generated SDKs now accept both Saloon v3 and v4 (
^3.0|^4.0)
Fixed
- Multi-authenticator connectors now correctly use
defaultAuth()instead ofgetAuthenticator(), consistent with single-authenticator behavior and Saloon's intended override pattern
Credits
- Thanks to @Sammyjo20 for the Saloon v4 upgrade in PR #40
Installation
composer global require crescat-io/saloon-sdk-generatorFull Changelog: v1.5.0...v1.6.0
v1.5.0: Laravel 13 Support
What's Changed
Adds Laravel 13 support and widens dependency constraints for modern PHP tooling.
Added
- Laravel 13 support: widened
illuminate/httpto^13.0 - Widened
spatie/laravel-datato^3.10|^4.0(v4 supports Laravel 13) - Widened
laravel-zero/frameworkdev dep to^10.3.0|^12.0 - Widened
pestphp/pestdev dep to^2.28.0|^3.0
Changed
- Bumped generated SDK PHP minimum to
^8.2 - Widened generated SDK dev dependencies:
pestphp/pest ^2.0|^3.0,orchestra/testbench ^8.0|^9.0|^10.0,phpunit/phpunit ^10.0|^11.0|^12.0 - Updated test assertions to match new dependency constraints
Credits
- Thanks to @brandonjjon for Laravel 13 support in PR #39
Installation
composer global require crescat-io/saloon-sdk-generatorFull Changelog: v1.4.2...v1.5.0
v1.4.2: Dependency Compatibility Update
What's Changed
This release removes the pinned nikic/php-parser dependency constraint, allowing better compatibility with other packages while maintaining full functionality.
Changed
- Removed pinned nikic/php-parser dependency constraint to allow v5.x as transitive dependency
- Upgraded nikic/php-parser from v4.19.4 to v5.6.2 (transitive dependency via PHPUnit)
- Updated multiple dependencies to latest patch versions for improved compatibility
Credits
- Thanks to @tomasvanrijsse for the php-parser dependency update in PR #32
Installation
composer global require crescat-io/saloon-sdk-generatorFull Changelog: v1.4.1...v1.4.2
v1.4.1: Laravel 12 Support
[1.4.1] - 2025-11-06
Changed
- Added Laravel 12 support to illuminate/http dependency constraint
v1.4.0: Test Generation Support
[1.4.0] - 2025-11-06
Added
- Test Generation: New
--pestflag to generate Pest PHP test suites for generated SDKs PestTestGenerator: Automatically generates test files for each resource with proper setup and fixturesComposerGenerator: Generates composer.json file with proper dependencies and configurationPostProcessorcontract for extensible post-processing of generated code- Test stubs for Pest test generation (Pest.php, TestCase.php, resource tests)
- Sample API specifications (Google Drive, Paddle Billing, Paddle OpenAPI)
- Fallback to path-based naming when endpoint has no name in OpenAPI spec
- Generated tests include proper constructor arguments, method parameters, and fixture names
Changed
- composer.json is now always generated (not just when --pest is enabled)
- Pinned nikic/php-parser to v4.x for compatibility
- Improved endpoint naming fallback strategy
Fixed
- Test generator parameter handling for path, body, query, and header parameters
- Test generator properly respects ignored query and header parameters
- Test suite configuration now properly excludes generated tests in tests/Output directory
- ArchTest now properly included in test runs
- Removed outdated TODO comment about duplicate DTOs (references work correctly)
Known Limitations
- Test generator constructor argument handling for nullable parameters is not configurable
- Exception handling in test generator silently returns null (no user feedback)
- Request body type assumptions (JSON for POST/PATCH) are not configurable
v1.3.1: Dependency compatibility patch
What's Changed
This is a patch release that fixes dependency conflicts when installing the SDK generator globally.
Fixed
- Updated dependency constraints to support Laravel 11 and newer termwind versions
- Resolved global installation conflicts with illuminate/http and nunomaduro/termwind
Changed
- illuminate/http version constraint updated from
^10.0to^10.0|^11.0 - nunomaduro/termwind version constraint updated from
^1.15.1to^1.15.1|^2.0
Installation
You can now install the SDK generator globally without dependency conflicts:
composer global require crescat-io/saloon-sdk-generatorFull Changelog: v1.3.0...v1.3.1
v1.3.0
What's Changed
🚀 Major Improvements
- Fixed OpenAPI $ref Resolution: Parameter and schema references from components section are now properly resolved, fixing issues #21 and #24
- Configurable Header Filtering: Added support for filtering headers that Saloon manages automatically (Authorization, Content-Type, Accept, Accept-Language, User-Agent)
- Nullable Parameters Enhancement: Resource methods now have default values for nullable parameters, improving developer experience
🐛 Bug Fixes
- Fixed multi-authenticator implementation generating invalid PHP (PR #26 by @mmachatschek)
- Fixed SecurityRequirements object handling in OpenApiParser
- Fixed missing namespace use and method params in authenticators
- Fixed DTO generation with nested references using FQN to prevent backslash prefix issues
✨ Features
- Header parameter support for both OpenAPI and Postman parsers
- ApiSpecification constructor now has default values for convenience
- Added comprehensive test coverage for:
- Deeply nested DTO references
- Header filtering functionality
- Nullable parameter default values
Upgrading
You might have to run the following to upgrade:
composer global require crescat-io/saloon-sdk-generator:^1.3.0 -WContributors
- Thanks to @nikspyratos for the initial header support implementation in PR #10
- Thanks to @mmachatschek for the nullable parameters fix in PR #27 and multi-authenticator fix in PR #26
Full Changelog: v1.2.0...v1.3.0
v1.2.0
What's Changed
- DTO Generation: SDK Generator will now generate DTOs from openapi specs, the DTOs
- Authenticator in Connector class, The SDK Generator will detect which authentication method that is used in the API and setup the scaffolding for Authentication in the Connector class, supports apiKey (in header, query), HTTP auth (basic, digest), Bearer Token, Header Token, and also support OAuth2 Authentication using Client Credentials and Authorization Code Grant (see the Saloon OAuth2 Docs for more info on how that works.
- Bumped required PHP version up from
^8.1to^8.2
Upgrading
You might have to run the following to upgrade:
composer global require crescat-io/saloon-sdk-generator:^1.2.0 -WNew Contributors
- @HelgeSverre made their first contribution in #18
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
- Upgrade | Saloon v3 by @Sammyjo20 in #11
New Contributors
- @Sammyjo20 made their first contribution in #11
Full Changelog: v1.0.5...v1.1.0
v1.0.5
What's Changed
- bugfix: Fix for when operation ID is null. by @bobbyshaw in #8
New Contributors
- @bobbyshaw made their first contribution in #8
Full Changelog: v1.0.4...v1.0.5