Changelog
Recent releases of the package and the VS Code extension. Full histories live on GitHub: package CHANGELOG · extension CHANGELOG.
Package - nameless/laravel-api-generator
4.1.0 - October 27, 2026
- Regenerate an entity without retyping its fields: the manifest keeps the definition each entity was generated from, so
make:fullapi Post --only=Model,Requestbrings back its relations, enum values, foreign keys and column modifiers. See Regenerate specific files. - Fields added with
--add-fieldsjoin that definition and keep their own migration.
4.0.0 - September 27, 2026
- Laravel 12 or 13 is required. Laravel 10 and 11 projects keep 3.15, and Upgrading to 4.0 lists every change.
- Controllers receive the model through route model binding and ask the entity's policy before every action. The generated policies let everyone through, guests included, until you restrict them.
StorePostRequestandUpdatePostRequestreplacePostRequest, and a PATCH changes only the fields it sends.- The generated tests cover partial updates, and restore and force delete on entities with soft deletes.
- Every index is paginated, filterable and sortable (
filter[status]=draft&sort=-created_at&per_page=20), with or without Spatie QueryBuilder. See Pagination, filters and sorting. - On Laravel 13, generated models declare their key and fillable columns with
#[Table]and#[Fillable]. Casts live in acasts()method, and enums are named after the entity and the field (PostStatus). - The generated code passes
pint --test, and JSON fields accept an object or a list. - Fixed: a migration from
--add-fieldsno longer runs before the table it changes when both were generated in the same second. - Removed: the config file that was never loaded, and the two service methods deprecated in 3.8.
3.15.1 - September 27, 2026
- Fixed: a
belongsTotoward a model with a custom string primary key, such ascountry_code, no longer turns the key into0in the DTO, which made creating and updating fail.
3.15.0 - September 27, 2026
- Fixed: a custom primary key is validated as unique, so posting a key that already exists returns a 422 instead of a 500.
- Fixed: a
hasOneputs its foreign key on the related table, where Eloquent looks for it. Ahas_one_foreign_keywarning names the column to add when the related model is generated separately. - Fixed:
date,timeanddatetimefields getDATE,TIMEandDATETIMEcolumns instead ofTIMESTAMP, andtimefields are validated as a time of day. See Field Types. - Fixed:
--query-buildersorts on the real primary key, so entities with a custom key no longer fail on their index. class_data.jsongets the missing side of its relations, like schema files and Mermaid diagrams.
3.14.0 - September 27, 2026
- The MCP server offers a
design-apiprompt: describe the API in plain words, and the agent drafts the schema, shows you the plan, then generates it once you agree. See MCP Server.
3.13.0 - September 27, 2026
- Generate from an OpenAPI 3.0, 3.1 or Swagger 2.0 spec with
--openapi, from the command line or through the MCP server. See OpenAPI Specs. - Fixed: a
hasManyfollows thebelongsToof the other side when it is named after its role, such asauthor_idforauthor: belongsTo User.
3.12.0 - September 27, 2026
- An MCP server lets Claude Code, Copilot, Cursor and other agents list, preview and generate APIs, and add fields, without ever overwriting your edits. See MCP Server.
- A schema field with an unknown type now comes with an
unknown_field_typewarning. --add-fieldsrefuses an entity name that points outsideapp/Models.
3.11.0 - September 27, 2026
- Regenerating keeps the files you edited by hand, and names them.
--forceoverwrites them anyway. See Evolving Entities. - The generator records what it writes in
.api-generator/manifest.json: commit it. delete:fullapialso removes the migrations added with--add-fields, names the files you edited, and gains--dry-run.
3.10.0 - September 27, 2026
- Laravel Boost support: guidelines and a
laravel-api-generatorskill teach your coding agent to generate APIs instead of writing the files by hand. See Tools & Agents. - A JSON Schema for schema files brings autocompletion and typo checks to your editor. See Editor autocompletion.
php artisan aboutshows the installed version, the protocol and the detected schema file.- The documentation publishes
llms.txtandllms-full.txtfor AI agents.
3.9.0 - September 27, 2026
--dry-runshows every file a command would create or update, with nothing written, for every source including--add-fields.--jsonprints one machine-readable document for scripts, editors and AI agents. See Tools & Agents.--schema=-reads a schema from stdin.api-generator:serve --stdiokeeps a preview process running. The VS Code extension uses it, so its live preview shows the exact code the package writes.- A failed generation no longer leaves half the files behind.
- Regenerating the Postman collection keeps its id.
- Fixed: running
--authagain no longer removes the resource routes fromroutes/api.php.
3.8.0 - September 27, 2026
- Fixed: a PUT that keeps a unique value no longer returns 422 on multi-word entities (
BlogPost) or with a custom primary key. - Fixed: the seeder is registered in
DatabaseSeeder.phpeven when the file uses Windows (CRLF) line endings. --authlimits register and login to 6 requests per minute.json_api: trueis now honored in schema files.api-generator:installoffersinstall:apiand Scramble, and no longer overwrites your configuration.delete:fullapiasks for confirmation before deleting (--forceskips it).- Removed the undocumented
make:loiccommand. Composer downloads drop from about 7 MB to under 0.5 MB.
3.7.1 - July 17, 2026
- Corrected the maintainer contact email (
composer.json+ README security section).
3.7.0 - July 17, 2026
--json-api: generates JSON:API-compliant resources (JsonApiResource, Laravel 12.45+): an$attributeslist plus a$relationshipslist from the entity's relations, theidbecoming the JSON:API identifier. Controllers are unchanged; the generated feature test assertsdata.id. Falls back to a standard resource on Laravel < 12.45.
3.6.1 - July 17, 2026
- Laravel 13 support: the constraint stopped at
^12, socomposer requirewas rejected on any application running Laravel 13 (released March 17, 2026). Now allows^13.0. - Fixed: 55 of the 68 package tests were silently not collected under PHPUnit 12, which no longer reads
/** @test */doc-comments. Tests now use the#[Test]attribute. Generated stubs were never affected. - CI now covers PHP 8.3/8.4 × Laravel 13.
3.6.0 - July 16, 2026
- Model PHPDoc: every generated model carries a full
@propertydocblock (real PHP types, nullability, relations, timestamps). IDE autocompletion out of the box, no ide-helper needed. - Native enum fields:
status:enum(draft,published)generates a backedApp\Enums\Statusenum, the model cast,Rule::enum()validation, a faked factory value and a real$table->enum()column. --pest: generates Pest tests (it(…),expect(…)) instead of PHPUnit classes.- Automatic inverse relations on schema/Mermaid sources: declaring one side is enough; the inverse (and its FK column) is synthesized.
- Polymorphic relations:
morphTo,morphOne,morphManyin schema files;--from-databasedetects*_type/*_idpairs. - Entity evolution (
--add-fields): add fields to a generated entity without touching manual changes: incremental migration + in-place patches. - Custom primary keys:
code:string:primaryreplacesideverywhere: model, migration, incoming relations, validation, factories. api-generator:clean-routes: removes route lines referencing deleted controllers (theroute:listReflectionException fix). Supports--dry-run.- Fixed: self-referential relation imports; missing
Collectionimport in model PHPDoc.
3.5.1 - July 16, 2026
- Fixed: unique columns generated a broken bare
uniquerule (500 on every store/update); nowRule::unique(…)->ignore(…). - Fixed: factories for unique columns collided on seeding; now
fake()->unique(). - Fixed:
--onlywas ignored on--from-database/--schema/--mermaid. - Fixed: duplicate model import in tests for self-referential relations.
3.5.0 - July 15, 2026
--from-database: introspects the project database and generates a complete API for every table: FKs become relations, pivot tables becomebelongsToMany,deleted_atenables soft deletes.- Declarative schema file (
--schema=api-schema.yaml): the whole API in one versionable YAML/JSON file, auto-detected at the project root. - Mermaid import (
--mermaid=diagram.mmd):erDiagramandclassDiagrambecome entities and relations. - Spatie QueryBuilder integration (
--query-builder):?filter[field]=value&sort=-created_aton every index endpoint. - Pivot table migrations for
belongsToMany, and FK-safe migration ordering (parents first).
Older releases
3.3.1 (strict-types fixes), 3.3.0 (auto-registered routes and seeders, required-by-default validation), 3.2.0 (interactive wizard, Sanctum auth, generated tests, Postman export, soft deletes), 3.0.0 (clean-architecture rewrite): details in the full changelog.
VS Code extension
1.2.0 - October 27, 2026
- Fixed: Regenerate File(s) no longer drops an entity's relations, enums and column modifiers. It opens the review screen with the diff of every file, and with package 4.1 the entity comes back from its recorded definition.
- Cursor gets the MCP server and the agent skill, with no
mcp.jsonto write, and an Agents block in the sidebar installslaravel/mcpwhen it is missing and copies the Claude Code command. See MCP Server. - Fixed: the review screen handles large imports (it failed past about 50 entities), Herd's
php.baton Windows works, and the Copilot model list follows Copilot as it loads. - The views, commands and shortcut only show in Laravel projects, and the walkthrough covers the current extension, agents included.
1.1.0 - September 28, 2026
- A redesigned interface. The sidebar home shows the project, its Laravel and PHP versions and the package state, with New API, the sources and the project tools. See Diagram & Sidebar.
- One review screen for every source: a description, the database, a schema file, a Mermaid diagram and an OpenAPI spec open the package's dry run, entity by entity, before Generate. See Sources & Review.
- Describe with Copilot in a panel: pick the model, relate the API to the existing entities or not, adjust the proposed entities, then review the plan.
- An API ready screen runs the migrations, the tests, the seeding, the docs and the stubs in place, and Project Actions opens it at any time. See API Ready & Project Actions.
- The builder previews the real files next to the form, with nullable, unique and default on each field. The entity diagram gains a search, a minimap, an export to SVG or Mermaid and an inspector. Files edited by hand are flagged in the entity tree.
1.0.0 - September 27, 2026
- Pairs with the package 4.0: the entity tree, Go to Related File and Regenerate File(s) read the generation manifest, so the Store and Update requests, the enums and the
--add-fieldsmigrations show up. - On Laravel 10 and 11, the extension installs the package's 3.x line, since 4.x needs Laravel 12.
- Generation errors are read from the package's error codes, and the stub check explains why a 3.x stub no longer fits.
0.17.0 - September 27, 2026
- Describe an API with Copilot: write the API in plain words, review the
api-schema.yamlCopilot drafts, then preview and generate it. See Sources & Review.
0.16.0 - September 27, 2026
- Generate from an OpenAPI 3.0, 3.1 or Swagger 2.0 spec, JSON or YAML, from the command palette, the sidebar or the builder's Import OpenAPI button. A dry run shows the entities, the files and the schemas left aside before anything is written. Pairs with package 3.13.
0.15.0 - September 27, 2026
- With
laravel/mcpin the project, Copilot's agent mode lists the package's MCP server, started with your PHP command, Sail and Docker included. See Copilot and schema files. Pairs with package 3.12.
0.14.0 - September 27, 2026
- Regenerating from the builder keeps the files you edited by hand. A modal names them: overwrite them, or keep your changes and generate the rest. The live preview marks them kept. Pairs with package 3.11.
0.13.0 - September 27, 2026
- In Laravel projects, GitHub Copilot gets the package's
laravel-api-generatorskill and generates APIs withmake:fullapi. api-schema.yaml,.ymland.jsonfiles get completion and typo checks from the package's JSON Schema.
0.12.0 - September 27, 2026
- The live preview is rendered by the installed package (3.9 or later): every file the generator writes, your published stubs, badges for new, modified and unchanged files, and a diff for modified ones.
- Generation sends the form to
make:fullapi --schema=-. Noclass_data.jsonat the project root anymore, and Soft Deletes, Auth and Postman are no longer ignored when the form has relationships. laravelApiGenerator.phpCommandruns PHP through Sail or Docker.
0.11.1 - September 27, 2026
- The builder form now offers the one-click package update when the installed
nameless/laravel-api-generatoris too old for an option, as the import commands already did.
0.11.0 - July 21, 2026
- Sidebar home: the activity bar view opens on a panel with a New API button, the three import sources and shortcuts to the diagram, the snippets and the documentation.
- Infinite canvas: the entity diagram pans in every direction over a dotted grid, and Ctrl+wheel zooms toward the cursor.
0.10.1 - July 17, 2026
- Sponsor button on the Marketplace listing; corrected the maintainer contact email.
0.10.0 - July 17, 2026
- JSON:API resources: a "JSON:API resources" option in the builder form and the source generators passes
--json-apito the package; the live preview renders the JSON:API shape. Pairs with package >= 3.7.
0.9.0 - July 16, 2026
- Model autocomplete on relationships: target model inputs suggest the models in
app/Models. - Primary key designation: a
PKcheckbox per field row, reflected in the live preview. - Orphan route cleanup: offers
api-generator:clean-routeswhen List Routes hits a deleted controller. - Diagram zoom & pan: Ctrl+wheel zoom toward cursor, background pan, −/+/100%/Fit toolbar.
- Cancellable operations: clicking a spinning button kills the running artisan process.
0.8.0 - July 16, 2026
- Add Fields to Entity command (pairs with package ≥ 3.6), with a one-click migration run after.
- Pest tests toggle in the form and the three source commands.
- Enum field type with values input, rendered in the live preview.
0.7.x - July 15 and 16, 2026
- Generate APIs from Database / Schema File / Mermaid Diagram commands (pair with package ≥ 3.5).
- Spatie QueryBuilder toggle + dependency check with one-click
composer require. - Entity diagram overhaul: Bezier links, cardinality pills, hover highlighting, merged inverse links.
- Welcome view, auto-refresh file watcher, monorepo support, getting-started walkthrough, old-package detection.
- VSIX size cut from 24.5 MB to under 1 MB.
Older releases
0.2.0 (loading spinners, smart server management, JSON bulk import, real-time preview), 0.1.0 (initial release): details in the full changelog.
