Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Documentator Laravel Package

tsitsishvili/documentator

View on GitHub
Deep Wiki
Context7
v2.0.3
v2.0.2

Documentator v2.0.2

This maintenance release restores complete release history after v2.0.1 was published without its required changelog entry.

Included v2.0.1 improvements

  • Refined the built-in explorer with softer dark surfaces, borders, shadows, and response panels.
  • Enabled automatic text detection and LF line-ending normalization through .gitattributes.

Release metadata

  • Added accurate changelog entries for v2.0.1 and v2.0.2.
  • Verified the release tag against the changelog before publication.

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v2.0.1...v2.0.2

v2.0.0

Documentator v2.0.0

This major release upgrades generated API descriptions to OpenAPI 3.2 and adds first-class support for the HTTP QUERY method.

Highlights

  • Added end-to-end HTTP QUERY support across generation, validation, contract diffs, section filtering, Postman exports, the built-in explorer, try-it requests, and code snippets.
  • Upgraded generated documents from OpenAPI 3.1 to OpenAPI 3.2.
  • Reworked portable, Codex, Gemini, Cursor, Boost, and Agent Skills guidance with tested, tool-specific workflows.
  • Added a dedicated v2 upgrade guide and cleaned Composer release archives so development-only files are excluded.

Upgrade notes

Existing Laravel routes, configuration, namespaces, and Documentator attributes require no source changes. Before upgrading, confirm that every downstream OpenAPI consumer supports OpenAPI 3.2.

composer require "tsitsishvili/documentator:^2.0" --with-all-dependencies

See the v2 upgrade guide for the complete migration and rollback checklist.

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.8.0...v2.0.0

v1.8.0

Documentator v1.8.0

This release makes Documentator's inference more accurate, explainable, and better suited to OpenAPI contract enforcement.

Highlights

  • Added documentator:explain METHOD URI to show which extraction strategies produced each parameter, field, and response. Use --json for tooling.
  • Added --fail-on=breaking to documentator:check --against=<spec>, allowing additive changes while rejecting breaking contract changes.
  • Added inference for responses produced by abort, abort_if, abort_unless, authorization checks, and recognized HTTP exceptions.
  • Added PHP 8.5 to the test matrix.

Schema improvements

  • Resource fields are now marked required more accurately.
  • Conditional when* and mergeWhen fields are optional instead of nullable.
  • Resource composition preserves field descriptions, [@var](https://github.com/var) types, and examples.
  • Spatie Data schemas respect input/output name mapping and Optional or Lazy properties.
  • Distinct responses sharing a status code are represented with oneOf.
  • OpenAPI comparison now follows local references and checks constraints, nullability, composites, headers, security scopes, and additional properties.

Upgrade notes

This release has no intended package-level breaking changes. However, regenerated OpenAPI documents may change because required fields, conditional fields, error responses, and same-status response branches are now modeled more accurately. Review the generated contract diff before updating committed specifications or generated clients.

composer require tsitsishvili/documentator:^1.8

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.7.1...v1.8.0

v1.7.0

What's Changed

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.6.3...v1.7.0

v1.6.2

What's Changed

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.6.1...v1.6.2

v1.5.1

What's Changed

New Contributors

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.5.0...v1.5.1

v1.5.0

Highlights

  • Added sectioned docs surfaces, such as /docs/api and /docs/app, each with its own split OpenAPI document.
  • Added path-based grouping controls for controller-less, localized, and tenant-style routes.
  • Added reusable global path parameter metadata for placeholders like {pathlang} and {tenant}.
  • Added route exclusion by middleware via routes.exclude_middleware.
  • Added configurable auth middleware aliases with auth_middleware.
  • Expanded documentator:check with health metrics, --json, and --suggest-hidden.
  • Improved inline response inference for Laravel helpers, service-returned arrays, views, redirects, plain text, and HTML responses.
  • Improved built-in explorer navigation with persisted filters, collapsed groups, and sidebar virtualization.
  • Preserved non-JSON response media types in generated OpenAPI output.

Verification

  • composer validate --no-check-publish
  • vendor/bin/pest tests/Feature/CheckCommandTest.php tests/Feature/DocsUiTest.php tests/Feature/PackageImprovementsTest.php tests/Feature/PackagingTest.php
  • git diff --check

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.4.0...v1.5.0

v1.3.0

Added

  • Extension hooks.
  • Per-guard security schemes.
  • Token/ability scopes.
  • Inferred collection & paginated responses from the method body.
  • Reusable response schema components.
  • Contract-aware drift report.
  • More request-snippet languages.
  • Copy endpoint link.
  • #[Response(paginationLinks: false)].

Changed

  • Pagination schema reflects custom collections.
  • Richer API Resource parsing.
  • Smarter generated examples.

Fixed

  • Clipboard copy fallback.
  • Snippet highlighting.

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.2.0...v1.3.0

v1.2.0

Added

  • Resizable request panel. The built-in explorer's right-side request / response panel can now be resized on desktop, remembers the chosen width, and keeps the existing off-canvas behavior on smaller screens.
  • Clear request inputs. The try-it console now has a Clear button that resets path, query, body, raw JSON and file inputs while preserving server, auth and snippet-language preferences.
  • Collapsible JSON responses. Live JSON responses now render as an expandable tree with per-object toggles plus Expand all / Collapse all controls. Copy still copies the full formatted response body.
  • Richer explorer navigation. The built-in UI now shows endpoint counts, method counts, sidebar summaries, endpoint metadata and an explicit Try it action for opening the console on smaller screens.
  • TypeScript request snippets. The explorer's snippet pane now offers a TypeScript generator alongside cURL, PHP, JS and Python. It emits typed Request / Response interfaces derived from the endpoint's schemas and an async fetch wrapper, including automatic Date hydration for date / date-time fields and FormData handling for multipart bodies.

Changed

  • Improved response readability. Try-it responses now appear in a dedicated result panel with a pending state, clearer status/meta sections, larger body area and automatic scroll-into-view after a request completes.
  • Refined explorer styling and responsive layout. The built-in UI has a quieter visual treatment, tighter card radii, better mobile wrapping and fewer layout overflows for long paths.
  • Reorganized the snippet language switcher. cURL, PHP, JS and TypeScript are shown as primary tabs; additional languages (Python) live in an Other dropdown. The previously selected language is still remembered.
  • Renamed snippet language labels — "Laravel" → PHP and "JavaScript" → JS — to match the broader language set.

Fixed

  • Versioned built-in assets. The docs shell now appends a file timestamp to built-in CSS/JS asset URLs so browsers pick up package UI changes immediately instead of holding stale cached assets.
  • Desktop Try it overlay. Clicking Try it on desktop no longer activates the mobile scrim over the already-visible request panel.

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.1.0...v1.2.0

v1.1.0

Added

  • Controller PHPDoc → summary & description. The method docblock's first paragraph becomes the summary and the rest the Markdown description, overridable by #[Summary] / #[Description].
  • spatie/laravel-data support. Data objects type-hinted as a controller argument (request) or return type (response) are documented from their typed properties — enums, nested Data, DateTime, #[DataCollectionOf], nullability. Auto-detected and a no-op when the package isn't installed.
  • Eloquent model return types. A controller returning a model (not a Resource) now produces a response schema from the model's $casts and [@property](https://github.com/property) docblock.
  • Generated examples. Every request body and parameter without an explicit example gets a representative, format-aware one (email[email protected], enums, dates, …). Toggle with generate_examples.
  • Conventional success status codes. POST → 201, DELETE → 204 instead of always 200. Toggle with infer_status_codes.
  • Pagination query parameters. Paginated/collection responses now document page and per_page query parameters.
  • documentator:check command. Audits the docs for gaps (closure routes, missing success schema); --strict fails CI on issues and --against=<spec> fails on drift from a committed spec.
  • Richer validation-rule coverage. Rule::enum() / Rule::in() rule objects, regex:pattern, digits / digits_between → integer, all-numeric enums (int-backed) → integer enum, and confirmed → a mirrored {field}_confirmation.

Changed

  • Typed path parameters. Path parameters are typed integer when the route has a numeric constraint (->whereNumber()) or binds a model with an integer key, instead of always string.
  • GET/HEAD FormRequest rules become query parameters rather than a request body, which OpenAPI clients ignore for those verbs.

Full Changelog: https://github.com/tsitsishvili/documentator/compare/v1.0.0...v1.1.0

v1.0.0

Auto-inferred, interactive API documentation for Laravel. Scans your routes, FormRequests, API Resources and return types, lets you override with PHP attributes, and serves an interactive Scalar UI backed by an OpenAPI 3.1 spec.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle