Skip to content

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,Request brings back its relations, enum values, foreign keys and column modifiers. See Regenerate specific files.
  • Fields added with --add-fields join 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.
  • StorePostRequest and UpdatePostRequest replace PostRequest, 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 a casts() 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-fields no 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 belongsTo toward a model with a custom string primary key, such as country_code, no longer turns the key into 0 in 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 hasOne puts its foreign key on the related table, where Eloquent looks for it. A has_one_foreign_key warning names the column to add when the related model is generated separately.
  • Fixed: date, time and datetime fields get DATE, TIME and DATETIME columns instead of TIMESTAMP, and time fields are validated as a time of day. See Field Types.
  • Fixed: --query-builder sorts on the real primary key, so entities with a custom key no longer fail on their index.
  • class_data.json gets the missing side of its relations, like schema files and Mermaid diagrams.

3.14.0 - September 27, 2026 ​

  • The MCP server offers a design-api prompt: 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 hasMany follows the belongsTo of the other side when it is named after its role, such as author_id for author: 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_type warning.
  • --add-fields refuses an entity name that points outside app/Models.

3.11.0 - September 27, 2026 ​

  • Regenerating keeps the files you edited by hand, and names them. --force overwrites them anyway. See Evolving Entities.
  • The generator records what it writes in .api-generator/manifest.json: commit it.
  • delete:fullapi also 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-generator skill 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 about shows the installed version, the protocol and the detected schema file.
  • The documentation publishes llms.txt and llms-full.txt for AI agents.

3.9.0 - September 27, 2026 ​

  • --dry-run shows every file a command would create or update, with nothing written, for every source including --add-fields.
  • --json prints one machine-readable document for scripts, editors and AI agents. See Tools & Agents.
  • --schema=- reads a schema from stdin.
  • api-generator:serve --stdio keeps 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 --auth again no longer removes the resource routes from routes/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.php even when the file uses Windows (CRLF) line endings.
  • --auth limits register and login to 6 requests per minute.
  • json_api: true is now honored in schema files.
  • api-generator:install offers install:api and Scramble, and no longer overwrites your configuration.
  • delete:fullapi asks for confirmation before deleting (--force skips it).
  • Removed the undocumented make:loic command. 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 $attributes list plus a $relationships list from the entity's relations, the id becoming the JSON:API identifier. Controllers are unchanged; the generated feature test asserts data.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, so composer require was 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 @property docblock (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 backed App\Enums\Status enum, 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, morphMany in schema files; --from-database detects *_type/*_id pairs.
  • Entity evolution (--add-fields): add fields to a generated entity without touching manual changes: incremental migration + in-place patches.
  • Custom primary keys: code:string:primary replaces id everywhere: model, migration, incoming relations, validation, factories.
  • api-generator:clean-routes: removes route lines referencing deleted controllers (the route:list ReflectionException fix). Supports --dry-run.
  • Fixed: self-referential relation imports; missing Collection import in model PHPDoc.

3.5.1 - July 16, 2026 ​

  • Fixed: unique columns generated a broken bare unique rule (500 on every store/update); now Rule::unique(…)->ignore(…).
  • Fixed: factories for unique columns collided on seeding; now fake()->unique().
  • Fixed: --only was 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 become belongsToMany, deleted_at enables 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): erDiagram and classDiagram become entities and relations.
  • Spatie QueryBuilder integration (--query-builder): ?filter[field]=value&sort=-created_at on 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.json to write, and an Agents block in the sidebar installs laravel/mcp when 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.bat on 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-fields migrations 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.yaml Copilot 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/mcp in 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-generator skill and generates APIs with make:fullapi.
  • api-schema.yaml, .yml and .json files 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=-. No class_data.json at the project root anymore, and Soft Deletes, Auth and Postman are no longer ignored when the form has relationships.
  • laravelApiGenerator.phpCommand runs 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-generator is 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-api to 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 PK checkbox per field row, reflected in the live preview.
  • Orphan route cleanup: offers api-generator:clean-routes when 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.