NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #485 most downloaded on Packagist
Automatic generation of API documentation for Laravel applications.
Last release 8 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Some releases are documented
notes for 15 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
158 releases · first in 2022
One column per quarter.
Skip the digit separator case on phpdoc-parser older than 1.21 by @bassim in #1287
Full Changelog: v0.13.46...v0.13.47
Fix generation error after route:cache and deprecations when closure routes are used by @romalytvynenko in #1280
route:cache and deprecations when closure routes are used by @romalytvynenko in #1280Full Changelog: v0.13.45...v0.13.46
Replace collision highlighter with formatted source snippets by @romalytvynenko in #1276
Full Changelog: v0.13.44...v0.13.45
Fix PhpDoc summary and description split for CRLF files by @dualfroz in #1271
Full Changelog: 0.13.43...v0.13.44
Tuple schemas no longer emit additionalItems . Homogeneous unions now serialize as OpenAPI 3.1 type arrays instead of anyOf .
Tuple schemas no longer emit additionalItems. Homogeneous unions now serialize as OpenAPI 3.1 type arrays instead of anyOf.
additionalItems from array schemas by @romalytvynenko in #1264additionalItems existed in older JSON Schema drafts. OpenAPI 3.1 uses JSON Schema 2020-12, where that keyword is gone — extra items after prefixItems are controlled by items instead.
Scramble was emitting additionalItems: false on fixed-length array / tuple schemas (prefixItems plus minItems / maxItems). Validators such as Redocly rejected the document: Property additionalItems is not expected here.
Tuple length is already pinned with minItems / maxItems, so the extra keyword was both invalid and redundant. It is omitted rather than replaced with items: false.
The generated spec will no longer contain additionalItems. ArrayType::setAdditionalItems() is also gone. This is very unlikely to affect you unless a client or linter depended on that keyword, or you called the setter yourself.
Unions whose branches are only types (string|int, int|float|string, unconstrained array|string, …) now serialize as a type array instead of anyOf:
{ "type": ["string", "integer"] }instead of
{ "anyOf": [{ "type": "string" }, { "type": "integer" }] }anyOf is kept when a branch has extra keywords (enum, const, …). integer is dropped when number is present (JSON Schema: integer is a subset of number), so int|float becomes { "type": "number" }. Empty items: {} on unconstrained arrays is omitted so they can fold into the same form.
This is valid OpenAPI 3.1 and usually renders the same in the UI, but generated clients may change if they treated anyOf and type arrays differently.
clone instead of documenting them as string by @romalytvynenko in #1267Unknown operands are treated as numeric (int|float) rather than unknown/string. + also documents array union ($a + [] → array). Impossible arithmetic (1 + []) is never. Concat of mixed values keeps enough of the template to guess download MIME from the extension.
return as response descriptions — only explicit @description, @status, and @body apply by @yugarinn in #1254| null unions as a nullable string (type: ["string", "null"]) instead of anyOfpaginate() on mixed as a paginatorself return types to the receiver so chained setters keep their genericFull Changelog: v0.13.42...v0.13.43
Dev tools by @romalytvynenko in #1255
Preserve pagination metadata for resource collection JSON responses by @romalytvynenko in #1251
Full Changelog: v0.13.40...v0.13.41
FunctionLikeDeclarationPhpDocDefinitionBuilder: Fix phpdoc parsing, add test by @jrdnrc in #1247
Rule::enum on array items replacing array type in OpenAPI spec by @dbrekelmans in #1123Full Changelog: v0.13.39...v0.13.40
Add PHP's Deprecated attribute support by @romalytvynenko in #1246
Full Changelog: v0.13.38...v0.13.39
Add uniqueItems support for the distinct validation rule by @JurianArie in #1240
Full Changelog: v0.13.37...v0.13.38
Collapse duplicate self types in unions by @romalytvynenko in #1234
Full Changelog: v0.13.36...v0.13.37
Add eager-loaded relationship analysis for JSON resources by @romalytvynenko in #1188
Full Changelog: v0.13.35...v0.13.36
Resolve references types in self out type builder by @romalytvynenko in #1221
Full Changelog: v0.13.34...v0.13.35
Add IgnoreResponse attribute to exclude responses from docs by @romalytvynenko in #1210
IgnoreResponse attribute to exclude responses from docs by @romalytvynenko in #1210#[Api] attribute for route-level API assignment by @romalytvynenko in #1211Full Changelog: v0.13.33...v0.13.34
Fix missing enum case name and descriptions for Rule::enum()->only()/except() by @romalytvynenko in #1208
Rule::enum()->only()/except() by @romalytvynenko in #1208Full Changelog: v0.13.32...v0.13.33
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →