Releases

Keep up with regular Scramble releases.
Latest versions:
Scramble: v0.13.34
Scramble PRO: v0.9.9
July 2026
Jul 14, 2026
v0.13.34

What’s Changed

  • Add IgnoreResponse attribute to exclude responses from docs by @romalytvynenko in #1210
  • Add #[Api] attribute for route-level API assignment by @romalytvynenko in #1211
  • Fix file min/max/size/between rules emitting minLength/maxLength by @romalytvynenko in #1212
  • Fix request body parameter order when merging nested rules by @romalytvynenko in #1213
Jul 13, 2026
v0.9.9 PRO

What’s Changed

  • Fix incorrect binding of route parameters
Jul 11, 2026
v0.9.8 PRO

What’s Changed

  • Fix Lazy|recursive properties failing to be documented
Jul 9, 2026
v0.9.7 PRO

What’s Changed

  • Fix custom Query Builder parameter names in docs
Jul 9, 2026
v0.13.32

What’s Changed

  • Improve JSON schema examples: add multiple @example support, avoid using example (deprecated, using examples instead) when serializing JSON schemas by @romalytvynenko in #1205
  • Improve Laravel 10.x compatibility for paginators
Jul 7, 2026
v0.9.6 PRO

What’s Changed

  • Fix Laravel Data date-only properties documented as date-time
Jul 7, 2026
v0.13.31

What’s Changed

  • Add support for Laravel’s fluent File validation rule by @squiaios in #1185
  • Improve nullable enum rule and serialization support by @romalytvynenko in #1195
  • Prevent more PHP 8.5 deprecations by @romalytvynenko in #1196
  • Adds support for accepted rule by @cappuc in #1129
  • Add support for extending the Group attribute by @sanfair in #1201
  • Add nullsafe operator support by @romalytvynenko in #1203
  • Fix coalesce operator support on property fetch by @romalytvynenko in #1204

New Contributors

  • @squiaios made their first contribution in #1185
  • @sanfair made their first contribution in #1201
June 2026
Jun 26, 2026
v0.9.5 PRO

What’s Changed

  • Fix spatie/laravel-json-api-paginate documentation generation issues when using Octane
Jun 26, 2026
v0.13.30

What’s Changed

  • Update paginator’s toArray logic so the type is coming from the real method
  • Added except and only support (for models and Arr helpers) by @romalytvynenko in #1193
  • Fixed JSON API resources when consts are used for attributes and relations properties by @romalytvynenko in #1194
  • Add support for pagination from Scout query builder by @cappuc in #1190
Jun 24, 2026
v0.13.29

What’s Changed

  • Fix config inconsistency
Jun 16, 2026
v0.9.4 PRO

What’s Changed

  • Add additional (with and additional) support for Laravel Data objects
Jun 15, 2026
v0.13.28

What’s Changed

  • Fix pre-serialized class map (failed in some cases due to new data on property definition)
Jun 12, 2026
v0.13.27

What’s Changed

  • Silence some PHP 8.5 deprecations (null array offset, preg_replace null) by @dabrandstetter in #1155
  • Add ability to cache OpenAPI document by @romalytvynenko in #1178
  • Plain objects documnetation by @romalytvynenko in #1181

New Contributors

  • @dabrandstetter made their first contribution in #1155
Jun 2, 2026
v0.13.26

What’s Changed

  • Fix missing Reference type during parameters serialization by @romalytvynenko in #1177
Jun 2, 2026
v0.9.3 PRO

What’s Changed

  • Fix Laravel Data property being rendered as a other type when one property input name (#[MapInputName]) and other property name collides (enum case)
Jun 2, 2026
v0.13.25

What’s Changed

  • Add #[IgnoreParam] attribute support by @WendellAdriel in #1176
  • Add UI renderers support (Scalar, etc.) by @romalytvynenko in #1175

New Contributors

  • @WendellAdriel made their first contribution in #1176
May 2026
May 29, 2026
v0.13.24

What’s Changed

  • Improve inference: __ support, facades support, array destructuring support by @romalytvynenko in #1167 and #1172
  • Add include/exclude filtering to scramble.api_path by @romalytvynenko in #1168
  • Automatically document API authentication by @romalytvynenko in #1170
  • Improve inference by dropping type of calls to non-existing methods in unions in #1171
  • Added newCollection support on models by @romalytvynenko in #1171
  • Add Responsable support by @romalytvynenko in #1173
May 20, 2026
v0.9.2 PRO

What’s Changed

  • Fix request media type for Laravel Data objects with file properties
  • Fixed compatibility with Laravel Data 4.23 by @romalytvynenko in #104
April 2026
Apr 27, 2026
v0.9.1 PRO

What’s Changed

  • Bump Scramble to 0.13.22
Apr 26, 2026
v0.9.0 PRO

Changes to the generated query parameters JSON schema

Parameter handling is aligned with JSON:API serialization rules and expressed using proper OpenAPI schema. Instead of documenting parameters like include as string with described values, they are now defined as arrays with enumerated items. With explode: false, these arrays are serialized as comma-separated values (e.g. include=foo,bar) while remaining arrays in the schema.

{
    "name": "fields[appointments]",
    "in": "query",
    "schema": {
        "type": "array",
        "items": {
            "type": "string",
            "enum": [
                "title",
                "description",
                "status",
                "created_at"
            ]
        }
    },
    "explode": false
}

Fallback to previous behavior is available via configuration. If you prefer the old approach where JSON:API array parameters are documented as string, you can switch the serialization strategy:

use Dedoc\Scramble\Scramble;
use Dedoc\Scramble\Enums\JsonApiArraySerialization;

Scramble::configure()
    ->jsonApi(
        arraySerialization: JsonApiArraySerialization::String,
    );

What’s changed

  • Improved type inference for query builder instances. The model type is now inferred for the query builder generic, allowing Scramble to correctly document types from expressions like QueryBuilder::from(SomeModel::class)->get()->toResourceCollection().
  • When documenting Query Builder parameters, Scramble now respects the jsonApi arraySerialization configuration when handling query array enum parameters (such as include, fields[*], sort), documenting them as arrays of specific enum values instead of listing available values in the description.
  • Added compatibility with Laravel’s native JSON:API implementation: Query Builder parameters take precedence when present.
  • When allowedFields is used, Scramble documents the fields query parameter as fields[${model table name here}] instead of fields, better aligning with the JSON:API specification.
  • Improved relationship include documentation for AllowedInclude::relationship(...) in Laravel Query Builder 7.0+: Scramble no longer documents redundant include values like postsCount and postsExists when only posts should be available.
Scramble PRO
Comprehensive API documentation generation for Spatie’s Laravel Data, Laravel Query Builder, and other packages.