diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 000000000..2e7acaf5d
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+trim_trailing_whitespace = true
+
+[*.md]
+trim_trailing_whitespace = false
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
index 2431c400a..41015da35 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,22 +1,9 @@
-# Auto detect text files and perform LF normalization
* text=auto
-# Custom for Visual Studio
-*.cs diff=csharp
-*.sln merge=union
-*.csproj merge=union
-*.vbproj merge=union
-*.fsproj merge=union
-*.dbproj merge=union
-
-# Standard to msysgit
-*.doc diff=astextplain
-*.DOC diff=astextplain
-*.docx diff=astextplain
-*.DOCX diff=astextplain
-*.dot diff=astextplain
-*.DOT diff=astextplain
-*.pdf diff=astextplain
-*.PDF diff=astextplain
-*.rtf diff=astextplain
-*.RTF diff=astextplain
+/.github export-ignore
+/tests export-ignore
+.editorconfig export-ignore
+.gitattributes export-ignore
+.gitignore export-ignore
+changelog.md export-ignore
+phpunit.xml.dist export-ignore
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 000000000..41f9ae41c
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,5 @@
+# These are supported funding model platforms
+
+github: barryvdh
+custom: ['https://fruitcake.nl']
+
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
new file mode 100644
index 000000000..27bcee3fb
--- /dev/null
+++ b/.github/release-drafter.yml
@@ -0,0 +1,4 @@
+template: |
+ ## What’s Changed
+
+ $CHANGES
diff --git a/.github/stale.yml b/.github/stale.yml
new file mode 100644
index 000000000..36cd06661
--- /dev/null
+++ b/.github/stale.yml
@@ -0,0 +1,24 @@
+# Number of days of inactivity before an issue becomes stale
+daysUntilStale: 60
+# Number of days of inactivity before a stale issue is closed
+daysUntilClose: 7
+# Issues with these labels will never be considered stale
+exemptLabels:
+ - bug
+ - enhancement
+ - discussion
+# Label to use when marking an issue as stale
+staleLabel: stale
+# Comment to post when marking an issue as stale. Set to `false` to disable
+markComment: >
+ This issue has been automatically marked as stale because it has not had
+ recent activity. It will be closed if no further activity occurs.
+
+ If this issue is still present on the latest version of this library on supported Laravel versions,
+ please let us know by replying to this issue so we can investigate further.
+
+ Thank you for your contribution! Apologies for any delayed response on our side.
+# Comment to post when closing a stale issue. Set to `false` to disable
+closeComment: false
+# Limit to only `issues` or `pulls`
+only: issues
diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml
new file mode 100644
index 000000000..84492e314
--- /dev/null
+++ b/.github/workflows/release-drafter.yml
@@ -0,0 +1,41 @@
+name: Release Drafter
+
+on:
+ push:
+ # branches to consider in the event; optional, defaults to all
+ branches:
+ - master
+ # pull_request event is required only for autolabeler
+ pull_request:
+ # Only following types are handled by the action, but one can default to all as well
+ types: [opened, reopened, synchronize]
+ # pull_request_target event is required for autolabeler to support PRs from forks
+ # pull_request_target:
+ # types: [opened, reopened, synchronize]
+
+permissions:
+ contents: read
+
+jobs:
+ update_release_draft:
+ permissions:
+ # write permission is required to create a github release
+ contents: write
+ # write permission is required for autolabeler
+ # otherwise, read permission is required at least
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ # (Optional) GitHub Enterprise requires GHE_HOST variable set
+ #- name: Set GHE_HOST
+ # run: |
+ # echo "GHE_HOST=${GITHUB_SERVER_URL##https:\/\/}" >> $GITHUB_ENV
+
+ # Drafts your next Release notes as Pull Requests are merged into "master"
+ - uses: release-drafter/release-drafter@v6
+ # (Optional) specify config name to use, relative to .github/. Default: release-drafter.yml
+ # with:
+ # config-name: my-config.yml
+ # disable-autolabeler: true
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/run-integration-tests.yml b/.github/workflows/run-integration-tests.yml
new file mode 100644
index 000000000..2f78f9543
--- /dev/null
+++ b/.github/workflows/run-integration-tests.yml
@@ -0,0 +1,63 @@
+name: Integration Tests
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - "*"
+ schedule:
+ - cron: '0 0 * * *'
+
+jobs:
+ php-laravel-integration-tests:
+ runs-on: ubuntu-latest
+ timeout-minutes: 15
+ env:
+ COMPOSER_NO_INTERACTION: 1
+ strategy:
+ fail-fast: false
+ matrix:
+ php: [8.4, 8.3, 8.2, 8.1]
+ laravel: [12.*, 11.*, 10.*, 9.*]
+ exclude:
+ - laravel: 12.*
+ php: 8.1
+ - laravel: 11.*
+ php: 8.1
+ - laravel: 9.*
+ php: 8.4
+ name: P${{ matrix.php }} - Laravel${{ matrix.laravel }}
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ path: src
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ coverage: none
+ tools: composer:v2
+
+ - name: Install dependencies
+ run: |
+ composer create-project --prefer-dist laravel/laravel:${{ matrix.laravel }} --stability=dev --no-progress sample
+ cd sample
+ composer config minimum-stability dev
+ composer update --prefer-stable --prefer-dist --no-progress
+ - name: Add package from source
+ run: |
+ cd sample
+ sed -e 's|"type": "project",|&\n"repositories": [ { "type": "path", "url": "../src" } ],|' -i composer.json
+ composer require --dev "barryvdh/laravel-debugbar:*"
+ - name: Execute generate run
+ run: |
+ cd sample
+ mkdir -p "storage/debugbar/" && touch "storage/debugbar/foo.json"
+ php artisan debugbar:clear
+ - name: Check file count in logs
+ run: |
+ if [ `ls -1q "sample/storage/debugbar/" | wc -l` -gt 0 ];then exit 1;fi
diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
new file mode 100644
index 000000000..8cf1eff4b
--- /dev/null
+++ b/.github/workflows/run-tests.yml
@@ -0,0 +1,64 @@
+name: Unit Tests
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - "*"
+ schedule:
+ - cron: '0 0 * * *'
+
+jobs:
+ php-tests:
+ runs-on: ubuntu-latest
+ timeout-minutes: 15
+ env:
+ COMPOSER_NO_INTERACTION: 1
+
+ strategy:
+ fail-fast: false
+ matrix:
+ php: [8.4, 8.3, 8.2, 8.1]
+ laravel: [^12, ^11, ^10, ^9]
+ dependency-version: [prefer-stable]
+ exclude:
+ - laravel: ^12
+ php: 8.1
+ - laravel: ^11
+ php: 8.1
+ - laravel: ^9
+ php: 8.4
+
+ name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ coverage: none
+ tools: composer:v2
+ extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif
+
+ - name: Install dependencies
+ run: |
+ composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
+ composer update --${{ matrix.dependency-version }} --prefer-dist --no-progress
+
+ - name: Update Dusk Chromedriver
+ run: vendor/bin/dusk-updater detect --auto-update
+
+ - name: Execute Unit Tests
+ run: composer test
+
+ - name: Upload Failed Screenshots
+ uses: actions/upload-artifact@v4
+ if: failure()
+ with:
+ name: screenshots
+ path: tests/Browser/screenshots/*
diff --git a/.github/workflows/update-changelog.yaml b/.github/workflows/update-changelog.yaml
new file mode 100644
index 000000000..c7832e5ee
--- /dev/null
+++ b/.github/workflows/update-changelog.yaml
@@ -0,0 +1,34 @@
+name: "Update Changelog"
+
+on:
+ release:
+ types: [released]
+
+jobs:
+ update:
+ runs-on: ubuntu-latest
+
+ permissions:
+ # Give the default GITHUB_TOKEN write permission to commit and push the
+ # updated CHANGELOG back to the repository.
+ # https://github.blog/changelog/2023-02-02-github-actions-updating-the-default-github_token-permissions-to-read-only/
+ contents: write
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.release.target_commitish }}
+
+ - name: Update Changelog
+ uses: stefanzweifel/changelog-updater-action@v1
+ with:
+ latest-version: ${{ github.event.release.tag_name }}
+ release-notes: ${{ github.event.release.body }}
+
+ - name: Commit updated CHANGELOG
+ uses: stefanzweifel/git-auto-commit-action@v5
+ with:
+ branch: ${{ github.event.release.target_commitish }}
+ commit_message: Update CHANGELOG
+ file_pattern: CHANGELOG.md
diff --git a/.gitignore b/.gitignore
index 2c1fc0c14..0f88edc4a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,8 @@
+/.idea
+/build
/vendor
composer.phar
composer.lock
-.DS_Store
\ No newline at end of file
+.DS_Store
+.phpunit*
+/tests/Browser
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 9095663b7..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-language: php
-
-php:
- - 5.3
- - 5.4
- - 5.5
- - hhvm
-
-before_script:
- - composer self-update
- - composer install --no-interaction --prefer-source --dev
-
-script:
- - phpunit
-
-matrix:
- allow_failures:
- - php: hhvm
- fast_finish: true
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..1fd3e3ddc
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,142 @@
+# Changelog
+
+## v3.15.4 - 2025-04-16
+
+### What's Changed
+
+* Remove html `` tag from route on clockwork by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1777
+* Fix default for capturing dd/dump by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1783
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.15.3...v3.15.4
+
+## v3.15.3 - 2025-04-08
+
+### What's Changed
+
+* Add condition for implemented query grammar by @rikwillems in https://github.com/barryvdh/laravel-debugbar/pull/1757
+* Collect dumps on message collector by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1759
+* Fix `capture_dumps` option on laravel `dd();` by @parallels999 in https://github.com/barryvdh/laravel-debugbar/pull/1762
+* Preserve laravel error handler by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1760
+* Fix `Trying to access array offset on false on LogsCollector.php` by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1763
+* Update css theme for views widget by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1768
+* Fix laravel-debugbar.css on query widget by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1765
+* Use htmlvardumper if available on CacheCollector by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1766
+* Update QueryCollector.php fix issue #1775 by @Mathias-DS in https://github.com/barryvdh/laravel-debugbar/pull/1776
+* Better grouping the events count by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1774
+
+### New Contributors
+
+* @rikwillems made their first contribution in https://github.com/barryvdh/laravel-debugbar/pull/1757
+* @Mathias-DS made their first contribution in https://github.com/barryvdh/laravel-debugbar/pull/1776
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.15.2...v3.15.3
+
+## v3.15.2 - 2025-02-25
+
+### What's Changed
+
+* Fix empty tabs on clockwork by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1750
+* fix: Ignore info query statements in Clockwork converter by @boserup in https://github.com/barryvdh/laravel-debugbar/pull/1749
+* Check if request controller is string by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1751
+
+### New Contributors
+
+* @boserup made their first contribution in https://github.com/barryvdh/laravel-debugbar/pull/1749
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.15.1...v3.15.2
+
+## v3.15.1 - 2025-02-24
+
+### What's Changed
+
+* Hide more empty tabs by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1742
+* Always show application by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1745
+* Add conflict with old debugbar by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1746
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.15.0...v3.15.1
+
+## v3.15.0 - 2025-02-21
+
+### What's Changed
+
+* Add middleware to web to save session by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1710
+* Check web middleware by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1712
+* Add special `dev` to composer keywords by @jnoordsij in https://github.com/barryvdh/laravel-debugbar/pull/1713
+* Removed extra sentence by @cheack in https://github.com/barryvdh/laravel-debugbar/pull/1714
+* Hide empty tabs by default by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1711
+* Combine route info with Request by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1720
+* fix: The log is not processed correctly when it consists of multiple lines. by @uniho in https://github.com/barryvdh/laravel-debugbar/pull/1721
+* [WIP] Use php-debugbar dark theme, move to variables by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1717
+* Remove openhandler overrides by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1723
+* Drop Lumen And Laravel 9 by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1725
+* Use tooltip for Laravel collector by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1724
+* Add more data to timeline by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1726
+* Laravel version preview as repo branch name by @angeljqv in https://github.com/barryvdh/laravel-debugbar/pull/1727
+* Laravel 12 support by @jonnott in https://github.com/barryvdh/laravel-debugbar/pull/1730
+* Preview action_name on request tooltip by @angeljqv in https://github.com/barryvdh/laravel-debugbar/pull/1728
+* Map tooltips by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1732
+* Add back L9 by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1734
+* Fix tooltip url by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1735
+* Show request status as badge by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1736
+* Fix request badge by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1737
+* Use Laravel ULID for key by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1738
+* defer datasets by config option by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1739
+* Reorder request tab by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1740
+* Defer config by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1741
+
+### New Contributors
+
+* @cheack made their first contribution in https://github.com/barryvdh/laravel-debugbar/pull/1714
+* @angeljqv made their first contribution in https://github.com/barryvdh/laravel-debugbar/pull/1727
+* @jonnott made their first contribution in https://github.com/barryvdh/laravel-debugbar/pull/1730
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.14.10...v3.15.0
+
+## v3.14.10 - 2024-12-23
+
+### What's Changed
+
+* Fix Debugbar spelling inconsistencies by @ralphjsmit in https://github.com/barryvdh/laravel-debugbar/pull/1626
+* Fix Visual Explain confirm message by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1709
+
+### New Contributors
+
+* @ralphjsmit made their first contribution in https://github.com/barryvdh/laravel-debugbar/pull/1626
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.14.9...v3.14.10
+
+## v3.14.9 - 2024-11-25
+
+### What's Changed
+
+* Fix custom prototype array by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1706
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.14.8...v3.14.9
+
+## v3.14.8 - 2024-11-25
+
+### What's Changed
+
+* Add fix + failing test for custom array prototype by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1705
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.14.7...v3.14.8
+
+## v3.14.7 - 2024-11-14
+
+### What's Changed
+
+* Make better use of query tab space by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1694
+* Do not open query details on text selecting by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1693
+* Add (initial) support for PHP 8.4 by @jnoordsij in https://github.com/barryvdh/laravel-debugbar/pull/1631
+* More warnings by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1696
+* Fix sql-duplicate highlight by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1699
+* ci: Use GitHub Actions V4 by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1700
+* Fix "Uncaught TypeError: is not iterable" by @erikn69 in https://github.com/barryvdh/laravel-debugbar/pull/1701
+* Fix Exception when QueryCollector softLimit exceeded by @johnkary in https://github.com/barryvdh/laravel-debugbar/pull/1702
+* Test soft/hard limit queries by @barryvdh in https://github.com/barryvdh/laravel-debugbar/pull/1703
+
+### New Contributors
+
+* @johnkary made their first contribution in https://github.com/barryvdh/laravel-debugbar/pull/1702
+
+**Full Changelog**: https://github.com/barryvdh/laravel-debugbar/compare/v3.14.6...v3.14.7
diff --git a/LICENSE b/LICENSE
index 1b751326e..f724f7c29 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (C) 2013-2014 Barry vd. Heuvel
+Copyright (C) 2013-present Barry vd. Heuvel
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
@@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
+SOFTWARE.
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 000000000..c6138bc29
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,5 @@
+# Security Policy
+
+## Reporting a Vulnerability
+
+Please report security issues to `barryvdh@gmail.com`
diff --git a/composer.json b/composer.json
index 3ca823252..93fbb9a8c 100644
--- a/composer.json
+++ b/composer.json
@@ -1,9 +1,15 @@
{
"name": "barryvdh/laravel-debugbar",
"description": "PHP Debugbar integration for Laravel",
- "keywords": ["laravel", "debugbar", "profiler", "debug", "webprofiler"],
+ "keywords": [
+ "laravel",
+ "debugbar",
+ "profiler",
+ "debug",
+ "webprofiler",
+ "dev"
+ ],
"license": "MIT",
-
"authors": [
{
"name": "Barry vd. Heuvel",
@@ -11,20 +17,50 @@
}
],
"require": {
- "php": ">=5.3.0",
- "laravel/framework": "~4.0",
- "symfony/finder": "~2.3",
- "maximebf/debugbar": "~1.9"
+ "php": "^8.1",
+ "php-debugbar/php-debugbar": "~2.2.0",
+ "illuminate/routing": "^9|^10|^11|^12",
+ "illuminate/session": "^9|^10|^11|^12",
+ "illuminate/support": "^9|^10|^11|^12",
+ "symfony/finder": "^6|^7"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.3.3",
+ "orchestra/testbench-dusk": "^7|^8|^9|^10",
+ "phpunit/phpunit": "^9.5.10|^10|^11",
+ "squizlabs/php_codesniffer": "^3.5"
},
"autoload": {
- "psr-0": {
- "Barryvdh\\Debugbar": "src/"
+ "psr-4": {
+ "Barryvdh\\Debugbar\\": "src/"
+ },
+ "files": [
+ "src/helpers.php"
+ ]
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Barryvdh\\Debugbar\\Tests\\": "tests"
}
},
+ "minimum-stability": "dev",
+ "prefer-stable": true,
"extra": {
"branch-alias": {
- "dev-master": "1.x-dev"
+ "dev-master": "3.16-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Barryvdh\\Debugbar\\ServiceProvider"
+ ],
+ "aliases": {
+ "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar"
+ }
}
},
- "minimum-stability": "dev"
+ "scripts": {
+ "check-style": "phpcs",
+ "fix-style": "phpcbf",
+ "test": "phpunit"
+ }
}
diff --git a/config/debugbar.php b/config/debugbar.php
new file mode 100644
index 000000000..8ee60a600
--- /dev/null
+++ b/config/debugbar.php
@@ -0,0 +1,338 @@
+ env('DEBUGBAR_ENABLED', null),
+ 'hide_empty_tabs' => env('DEBUGBAR_HIDE_EMPTY_TABS', true), // Hide tabs until they have content
+ 'except' => [
+ 'telescope*',
+ 'horizon*',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Storage settings
+ |--------------------------------------------------------------------------
+ |
+ | Debugbar stores data for session/ajax requests.
+ | You can disable this, so the debugbar stores data in headers/session,
+ | but this can cause problems with large data collectors.
+ | By default, file storage (in the storage folder) is used. Redis and PDO
+ | can also be used. For PDO, run the package migrations first.
+ |
+ | Warning: Enabling storage.open will allow everyone to access previous
+ | request, do not enable open storage in publicly available environments!
+ | Specify a callback if you want to limit based on IP or authentication.
+ | Leaving it to null will allow localhost only.
+ */
+ 'storage' => [
+ 'enabled' => env('DEBUGBAR_STORAGE_ENABLED', true),
+ 'open' => env('DEBUGBAR_OPEN_STORAGE'), // bool/callback.
+ 'driver' => env('DEBUGBAR_STORAGE_DRIVER', 'file'), // redis, file, pdo, socket, custom
+ 'path' => env('DEBUGBAR_STORAGE_PATH', storage_path('debugbar')), // For file driver
+ 'connection' => env('DEBUGBAR_STORAGE_CONNECTION', null), // Leave null for default connection (Redis/PDO)
+ 'provider' => env('DEBUGBAR_STORAGE_PROVIDER', ''), // Instance of StorageInterface for custom driver
+ 'hostname' => env('DEBUGBAR_STORAGE_HOSTNAME', '127.0.0.1'), // Hostname to use with the "socket" driver
+ 'port' => env('DEBUGBAR_STORAGE_PORT', 2304), // Port to use with the "socket" driver
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Editor
+ |--------------------------------------------------------------------------
+ |
+ | Choose your preferred editor to use when clicking file name.
+ |
+ | Supported: "phpstorm", "vscode", "vscode-insiders", "vscode-remote",
+ | "vscode-insiders-remote", "vscodium", "textmate", "emacs",
+ | "sublime", "atom", "nova", "macvim", "idea", "netbeans",
+ | "xdebug", "espresso"
+ |
+ */
+
+ 'editor' => env('DEBUGBAR_EDITOR') ?: env('IGNITION_EDITOR', 'phpstorm'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Remote Path Mapping
+ |--------------------------------------------------------------------------
+ |
+ | If you are using a remote dev server, like Laravel Homestead, Docker, or
+ | even a remote VPS, it will be necessary to specify your path mapping.
+ |
+ | Leaving one, or both of these, empty or null will not trigger the remote
+ | URL changes and Debugbar will treat your editor links as local files.
+ |
+ | "remote_sites_path" is an absolute base path for your sites or projects
+ | in Homestead, Vagrant, Docker, or another remote development server.
+ |
+ | Example value: "/home/vagrant/Code"
+ |
+ | "local_sites_path" is an absolute base path for your sites or projects
+ | on your local computer where your IDE or code editor is running on.
+ |
+ | Example values: "/Users//Code", "C:\Users\\Documents\Code"
+ |
+ */
+
+ 'remote_sites_path' => env('DEBUGBAR_REMOTE_SITES_PATH'),
+ 'local_sites_path' => env('DEBUGBAR_LOCAL_SITES_PATH', env('IGNITION_LOCAL_SITES_PATH')),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Vendors
+ |--------------------------------------------------------------------------
+ |
+ | Vendor files are included by default, but can be set to false.
+ | This can also be set to 'js' or 'css', to only include javascript or css vendor files.
+ | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files)
+ | and for js: jquery and highlight.js
+ | So if you want syntax highlighting, set it to true.
+ | jQuery is set to not conflict with existing jQuery scripts.
+ |
+ */
+
+ 'include_vendors' => env('DEBUGBAR_INCLUDE_VENDORS', true),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Capture Ajax Requests
+ |--------------------------------------------------------------------------
+ |
+ | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors),
+ | you can use this option to disable sending the data through the headers.
+ |
+ | Optionally, you can also send ServerTiming headers on ajax requests for the Chrome DevTools.
+ |
+ | Note for your request to be identified as ajax requests they must either send the header
+ | X-Requested-With with the value XMLHttpRequest (most JS libraries send this), or have application/json as a Accept header.
+ |
+ | By default `ajax_handler_auto_show` is set to true allowing ajax requests to be shown automatically in the Debugbar.
+ | Changing `ajax_handler_auto_show` to false will prevent the Debugbar from reloading.
+ |
+ | You can defer loading the dataset, so it will be loaded with ajax after the request is done. (Experimental)
+ */
+
+ 'capture_ajax' => env('DEBUGBAR_CAPTURE_AJAX', true),
+ 'add_ajax_timing' => env('DEBUGBAR_ADD_AJAX_TIMING', false),
+ 'ajax_handler_auto_show' => env('DEBUGBAR_AJAX_HANDLER_AUTO_SHOW', true),
+ 'ajax_handler_enable_tab' => env('DEBUGBAR_AJAX_HANDLER_ENABLE_TAB', true),
+ 'defer_datasets' => env('DEBUGBAR_DEFER_DATASETS', false),
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Error Handler for Deprecated warnings
+ |--------------------------------------------------------------------------
+ |
+ | When enabled, the Debugbar shows deprecated warnings for Symfony components
+ | in the Messages tab.
+ |
+ */
+ 'error_handler' => env('DEBUGBAR_ERROR_HANDLER', false),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Clockwork integration
+ |--------------------------------------------------------------------------
+ |
+ | The Debugbar can emulate the Clockwork headers, so you can use the Chrome
+ | Extension, without the server-side code. It uses Debugbar collectors instead.
+ |
+ */
+ 'clockwork' => env('DEBUGBAR_CLOCKWORK', false),
+
+ /*
+ |--------------------------------------------------------------------------
+ | DataCollectors
+ |--------------------------------------------------------------------------
+ |
+ | Enable/disable DataCollectors
+ |
+ */
+
+ 'collectors' => [
+ 'phpinfo' => env('DEBUGBAR_COLLECTORS_PHPINFO', false), // Php version
+ 'messages' => env('DEBUGBAR_COLLECTORS_MESSAGES', true), // Messages
+ 'time' => env('DEBUGBAR_COLLECTORS_TIME', true), // Time Datalogger
+ 'memory' => env('DEBUGBAR_COLLECTORS_MEMORY', true), // Memory usage
+ 'exceptions' => env('DEBUGBAR_COLLECTORS_EXCEPTIONS', true), // Exception displayer
+ 'log' => env('DEBUGBAR_COLLECTORS_LOG', true), // Logs from Monolog (merged in messages if enabled)
+ 'db' => env('DEBUGBAR_COLLECTORS_DB', true), // Show database (PDO) queries and bindings
+ 'views' => env('DEBUGBAR_COLLECTORS_VIEWS', true), // Views with their data
+ 'route' => env('DEBUGBAR_COLLECTORS_ROUTE', false), // Current route information
+ 'auth' => env('DEBUGBAR_COLLECTORS_AUTH', false), // Display Laravel authentication status
+ 'gate' => env('DEBUGBAR_COLLECTORS_GATE', true), // Display Laravel Gate checks
+ 'session' => env('DEBUGBAR_COLLECTORS_SESSION', false), // Display session data
+ 'symfony_request' => env('DEBUGBAR_COLLECTORS_SYMFONY_REQUEST', true), // Only one can be enabled..
+ 'mail' => env('DEBUGBAR_COLLECTORS_MAIL', true), // Catch mail messages
+ 'laravel' => env('DEBUGBAR_COLLECTORS_LARAVEL', true), // Laravel version and environment
+ 'events' => env('DEBUGBAR_COLLECTORS_EVENTS', false), // All events fired
+ 'default_request' => env('DEBUGBAR_COLLECTORS_DEFAULT_REQUEST', false), // Regular or special Symfony request logger
+ 'logs' => env('DEBUGBAR_COLLECTORS_LOGS', false), // Add the latest log messages
+ 'files' => env('DEBUGBAR_COLLECTORS_FILES', false), // Show the included files
+ 'config' => env('DEBUGBAR_COLLECTORS_CONFIG', false), // Display config settings
+ 'cache' => env('DEBUGBAR_COLLECTORS_CACHE', false), // Display cache events
+ 'models' => env('DEBUGBAR_COLLECTORS_MODELS', true), // Display models
+ 'livewire' => env('DEBUGBAR_COLLECTORS_LIVEWIRE', true), // Display Livewire (when available)
+ 'jobs' => env('DEBUGBAR_COLLECTORS_JOBS', false), // Display dispatched jobs
+ 'pennant' => env('DEBUGBAR_COLLECTORS_PENNANT', false), // Display Pennant feature flags
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Extra options
+ |--------------------------------------------------------------------------
+ |
+ | Configure some DataCollectors
+ |
+ */
+
+ 'options' => [
+ 'time' => [
+ 'memory_usage' => env('DEBUGBAR_OPTIONS_TIME_MEMORY_USAGE', false), // Calculated by subtracting memory start and end, it may be inaccurate
+ ],
+ 'messages' => [
+ 'trace' => env('DEBUGBAR_OPTIONS_MESSAGES_TRACE', true), // Trace the origin of the debug message
+ 'capture_dumps' => env('DEBUGBAR_OPTIONS_MESSAGES_CAPTURE_DUMPS', false), // Capture laravel `dump();` as message
+ ],
+ 'memory' => [
+ 'reset_peak' => env('DEBUGBAR_OPTIONS_MEMORY_RESET_PEAK', false), // run memory_reset_peak_usage before collecting
+ 'with_baseline' => env('DEBUGBAR_OPTIONS_MEMORY_WITH_BASELINE', false), // Set boot memory usage as memory peak baseline
+ 'precision' => (int) env('DEBUGBAR_OPTIONS_MEMORY_PRECISION', 0), // Memory rounding precision
+ ],
+ 'auth' => [
+ 'show_name' => env('DEBUGBAR_OPTIONS_AUTH_SHOW_NAME', true), // Also show the users name/email in the debugbar
+ 'show_guards' => env('DEBUGBAR_OPTIONS_AUTH_SHOW_GUARDS', true), // Show the guards that are used
+ ],
+ 'gate' => [
+ 'trace' => false, // Trace the origin of the Gate checks
+ ],
+ 'db' => [
+ 'with_params' => env('DEBUGBAR_OPTIONS_WITH_PARAMS', true), // Render SQL with the parameters substituted
+ 'exclude_paths' => [ // Paths to exclude entirely from the collector
+ //'vendor/laravel/framework/src/Illuminate/Session', // Exclude sessions queries
+ ],
+ 'backtrace' => env('DEBUGBAR_OPTIONS_DB_BACKTRACE', true), // Use a backtrace to find the origin of the query in your files.
+ 'backtrace_exclude_paths' => [], // Paths to exclude from backtrace. (in addition to defaults)
+ 'timeline' => env('DEBUGBAR_OPTIONS_DB_TIMELINE', false), // Add the queries to the timeline
+ 'duration_background' => env('DEBUGBAR_OPTIONS_DB_DURATION_BACKGROUND', true), // Show shaded background on each query relative to how long it took to execute.
+ 'explain' => [ // Show EXPLAIN output on queries
+ 'enabled' => env('DEBUGBAR_OPTIONS_DB_EXPLAIN_ENABLED', false),
+ ],
+ 'hints' => env('DEBUGBAR_OPTIONS_DB_HINTS', false), // Show hints for common mistakes
+ 'show_copy' => env('DEBUGBAR_OPTIONS_DB_SHOW_COPY', true), // Show copy button next to the query,
+ 'slow_threshold' => env('DEBUGBAR_OPTIONS_DB_SLOW_THRESHOLD', false), // Only track queries that last longer than this time in ms
+ 'memory_usage' => env('DEBUGBAR_OPTIONS_DB_MEMORY_USAGE', false), // Show queries memory usage
+ 'soft_limit' => (int) env('DEBUGBAR_OPTIONS_DB_SOFT_LIMIT', 100), // After the soft limit, no parameters/backtrace are captured
+ 'hard_limit' => (int) env('DEBUGBAR_OPTIONS_DB_HARD_LIMIT', 500), // After the hard limit, queries are ignored
+ ],
+ 'mail' => [
+ 'timeline' => env('DEBUGBAR_OPTIONS_MAIL_TIMELINE', true), // Add mails to the timeline
+ 'show_body' => env('DEBUGBAR_OPTIONS_MAIL_SHOW_BODY', true),
+ ],
+ 'views' => [
+ 'timeline' => env('DEBUGBAR_OPTIONS_VIEWS_TIMELINE', true), // Add the views to the timeline
+ 'data' => env('DEBUGBAR_OPTIONS_VIEWS_DATA', false), // True for all data, 'keys' for only names, false for no parameters.
+ 'group' => (int) env('DEBUGBAR_OPTIONS_VIEWS_GROUP', 50), // Group duplicate views. Pass value to auto-group, or true/false to force
+ 'inertia_pages' => env('DEBUGBAR_OPTIONS_VIEWS_INERTIA_PAGES', 'js/Pages'), // Path for Inertia views
+ 'exclude_paths' => [ // Add the paths which you don't want to appear in the views
+ 'vendor/filament' // Exclude Filament components by default
+ ],
+ ],
+ 'route' => [
+ 'label' => env('DEBUGBAR_OPTIONS_ROUTE_LABEL', true), // Show complete route on bar
+ ],
+ 'session' => [
+ 'hiddens' => [], // Hides sensitive values using array paths
+ ],
+ 'symfony_request' => [
+ 'label' => env('DEBUGBAR_OPTIONS_SYMFONY_REQUEST_LABEL', true), // Show route on bar
+ 'hiddens' => [], // Hides sensitive values using array paths, example: request_request.password
+ ],
+ 'events' => [
+ 'data' => env('DEBUGBAR_OPTIONS_EVENTS_DATA', false), // Collect events data, listeners
+ 'excluded' => [], // Example: ['eloquent.*', 'composing', Illuminate\Cache\Events\CacheHit::class]
+ ],
+ 'logs' => [
+ 'file' => env('DEBUGBAR_OPTIONS_LOGS_FILE', null),
+ ],
+ 'cache' => [
+ 'values' => env('DEBUGBAR_OPTIONS_CACHE_VALUES', true), // Collect cache values
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Inject Debugbar in Response
+ |--------------------------------------------------------------------------
+ |
+ | Usually, the debugbar is added just before