News

Copy Errors as Markdown to Share With AI in Laravel 12.25

Published Updated

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

The Laravel team released v12.25.0 with a "Copy as Markdown" button on the error page, defining allowed URL patterns when preventing stray requests in the HTTP client, and more:

Copy Errors as Markdown

Marcel Pociot contributed a "Copy as Markdown" button on the Laravel error page. As Marcel mentions in the pull request description, the markdown representation can be used with AI:

When clicking this button, we copy a markdown representation of the exception to the users clipboard, which can then be used for AI agents/LLMs.

The markdown contains all the information that is also visible on the page:

  • Exception title, class, message
  • PHP and Laravel Version
  • Request and route context
  • Application context

The button is near the top right of the page, and the clipboard copy works with local (http) environments as well as HTTPS:

The "Copy as Markdown" button in dark mode.
The "Copy as Markdown" button in dark mode.

Here's an example of an error (abbreviated) I created locally to demonstrate:

# Error - Internal Server Error
Call to undefined function error_here()
 
PHP 8.3.22
Laravel 12.25.0
localhost:8000
 
## Stack Trace
 
0 - resources/views/welcome.blade.php:21
1 - vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:123
2 - vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:124
3 - vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:57
4 - vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:76
5 - vendor/laravel/framework/src/Illuminate/View/View.php:208
6 - vendor/laravel/framework/src/Illuminate/View/View.php:191
...
 
## Request
 
GET /
 
## Headers
 
* **host**: localhost:8000
* **user-agent**: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:141.0) Gecko/20100101 Firefox/141.0
* **accept**: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
* **accept-language**: en-US,en;q=0.5
...
 
## Route Context
 
controller: Closure
middleware: web
 
## Route Parameters
 
No route parameter data available.
 
## Database Queries
 
* sqlite - select * from "sessions" where "id" = 'uOnPTV8XE51BLUrKqXW1jkzKPvuhDbg8zHTgp3Bc' limit 1 (0.6 ms)

See Pull Request #56657 for details.

Allowed URLs Through Stray Requests

Richard Browne contributed the ability to pass an allowed list of request patterns when calling the preventStrayRequests() method in a test:

Http::allowStrayRequests([
'http://127.0.0.1:13714/*',
]);
 
// Works on a PendingRequest instance
$pendingRequest->allowStrayRequests([
'http://127.0.0.1:13714/*',
]);
 
$pendingRequest->isAllowedRequestUrl($url); // bool

See Pull Request #56645 for details.

Release notes

You can see the complete list of new features and updates below and the diff between 12.24.0 and 12.25.0 on GitHub. The following release notes are directly from the changelog:

v12.25.0

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article