Команда Laravel випустила версію v12.25.0, в якій з’явилася кнопка "Копіювати як Markdown" на сторінці помилок, а також було визначено дозволені шаблони URL для запобігання блукаючим запитам у HTTP-клієнті та інші новини:
Марсель Посіот додав кнопку "Копіювати як Markdown" на сторінку помилок Laravel. Як зазначає Марсель у описі pull request, представлені у форматі Markdown можна використовувати з AI:
Натискаючи цю кнопку, ми копіюємо представлену інформацію про виключення у форматі Markdown у буфер обміну користувача, що може бути використано для AI-агентів/LLM.
Markdown містить усю інформацію, яка також є видимою на сторінці:
- Назва виключення, клас, повідомлення
- Версії PHP та Laravel
- Контекст запиту та маршруту
- Контекст програми
Кнопка розташована у верхньому правому куті сторінки, а копіювання у буфер обміну працює як в локальних (http) середовищах, так і в HTTPS:
Ось приклад помилки (скорочений), яку я створив локально для демонстрації:
# Помилка - Внутрішня помилка сервера
Виклик невизначеної функції error_here()
PHP 8.3.22
Laravel 12.25.0
localhost:8000
## Відстеження стека
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
...
## Запит
GET /
## Заголовки
* **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
...
## Контекст маршруту
контролер: Closure
проміжне програмне забезпечення: web
## Параметри маршруту
Дані параметрів маршруту відсутні.
## Запити до бази даних
* sqlite - select * from "sessions" where "id" = 'uOnPTV8XE51BLUrKqXW1jkzKPvuhDbg8zHTgp3Bc' limit 1 (0.6 ms)
Деталі можна переглянути у Pull Request #56657.
Річард Браун додав можливість передавати дозволений список шаблонів запитів при виклику методу preventStrayRequests()
у тестах:
Http::allowStrayRequests([
'http://127.0.0.1:13714/*',
]);
// Працює з екземпляром PendingRequest
$pendingRequest->allowStrayRequests([
'http://127.0.0.1:13714/*',
]);
$pendingRequest->isAllowedRequestUrl($url); // bool
Деталі можна переглянути у Pull Request #56645.
Ви можете ознайомитися з повним списком нових функцій та оновлень нижче, а також з різницею між версіями 12.24.0 і 12.25.0 на GitHub. Наведені нижче примітки є прямими з журналу змін:
db:table
– @hafezdivandari в pull requestallowedUrls
через preventStrayRequests
– @rabrowne85 в pull requestContext@scope()
може кидати виключення – @cosmastech в pull requestmergeVisible
, mergeHidden
і mergeAppends
– @jonerickson в pull request