diff --git a/acorn/controllers-middleware-kernel.md b/acorn/controllers-middleware-kernel.md index c43a8526..3b99163e 100644 --- a/acorn/controllers-middleware-kernel.md +++ b/acorn/controllers-middleware-kernel.md @@ -1,5 +1,5 @@ --- -date_modified: 2025-10-01 00:00 +date_modified: 2026-03-22 12:00 date_published: 2025-10-01 00:00 description: Build robust APIs and handle requests with Laravel controllers, middleware, and custom HTTP kernels in WordPress using Acorn. Clean separation of concerns with validation, authentication, and response formatting. title: Controllers, Middleware, and HTTP Kernel in WordPress @@ -11,7 +11,7 @@ authors: Acorn brings Laravel's controller and middleware system to WordPress, enabling you to build robust APIs, handle complex request logic, and implement clean separation of concerns. Controllers organize your route logic, while middleware provides a convenient mechanism for filtering HTTP requests. -We recommend referencing the [Laravel docs on Controllers](https://laravel.com/docs/12.x/controllers) and [Middleware](https://laravel.com/docs/12.x/middleware) for a complete understanding. +We recommend referencing the [Laravel docs on Controllers](https://laravel.com/docs/13.x/controllers) and [Middleware](https://laravel.com/docs/13.x/middleware) for a complete understanding. ## Creating controllers diff --git a/acorn/creating-and-processing-laravel-queues.md b/acorn/creating-and-processing-laravel-queues.md index 7d209022..7a92f2ac 100644 --- a/acorn/creating-and-processing-laravel-queues.md +++ b/acorn/creating-and-processing-laravel-queues.md @@ -1,5 +1,5 @@ --- -date_modified: 2025-09-29 00:00 +date_modified: 2026-03-22 12:00 date_published: 2025-09-29 00:00 description: Use Laravel's queue system in WordPress through Acorn. Process background jobs, handle async tasks, and schedule recurring operations efficiently. title: Creating and Processing Laravel Queues @@ -11,7 +11,7 @@ authors: Acorn brings Laravel's robust queue system to WordPress, enabling you to defer time-consuming tasks like image processing, email sending, or API calls to background jobs. This improves your application's response time and user experience by handling heavy operations asynchronously. -We recommend referencing the [Laravel docs on Queues](https://laravel.com/docs/12.x/queues) for a complete understanding of the queue system. +We recommend referencing the [Laravel docs on Queues](https://laravel.com/docs/13.x/queues) for a complete understanding of the queue system. ## Setting up the queue system diff --git a/acorn/creating-and-running-laravel-migrations.md b/acorn/creating-and-running-laravel-migrations.md index cdcc94d1..e51837a4 100644 --- a/acorn/creating-and-running-laravel-migrations.md +++ b/acorn/creating-and-running-laravel-migrations.md @@ -1,5 +1,5 @@ --- -date_modified: 2025-08-06 14:00 +date_modified: 2026-03-22 12:00 date_published: 2025-08-06 14:00 description: Use Laravel's migration system in WordPress through Acorn. Create, modify, and manage custom database tables with Artisan migration commands. title: Creating and Running Laravel Migrations @@ -11,7 +11,7 @@ authors: Acorn brings Laravel's powerful migration system to WordPress, allowing you to version control your database schema and manage custom tables with ease. Each migration contains instructions for creating or modifying database tables. -We recommend referencing the [Laravel docs on Database Migrations](https://laravel.com/docs/12.x/migrations) for a complete understanding of the migration system. +We recommend referencing the [Laravel docs on Database Migrations](https://laravel.com/docs/13.x/migrations) for a complete understanding of the migration system. ## Creating your first migration diff --git a/acorn/creating-wp-cli-commands-with-artisan-console.md b/acorn/creating-wp-cli-commands-with-artisan-console.md index 1dfa725a..daf1d4ac 100644 --- a/acorn/creating-wp-cli-commands-with-artisan-console.md +++ b/acorn/creating-wp-cli-commands-with-artisan-console.md @@ -1,5 +1,5 @@ --- -date_modified: 2025-09-28 00:00 +date_modified: 2026-03-22 12:00 date_published: 2025-09-28 00:00 description: Create custom WP-CLI commands using Laravel's Artisan Console system with Acorn. Extend WordPress CLI with powerful Laravel functionality. title: Creating WP-CLI Commands with Artisan Console @@ -11,7 +11,7 @@ authors: Acorn brings Laravel's powerful Artisan Console system to WordPress, allowing you to create custom WP-CLI commands with the same elegance and functionality you'd expect from Laravel. This enables you to build sophisticated command-line tools that integrate seamlessly with both WordPress and Laravel features. -We recommend referencing the [Laravel docs on Artisan Console](https://laravel.com/docs/12.x/artisan) for a complete understanding of the console system. +We recommend referencing the [Laravel docs on Artisan Console](https://laravel.com/docs/13.x/artisan) for a complete understanding of the console system. ## Creating your first command diff --git a/acorn/eloquent-models.md b/acorn/eloquent-models.md index 086c4668..75d0947e 100644 --- a/acorn/eloquent-models.md +++ b/acorn/eloquent-models.md @@ -1,5 +1,5 @@ --- -date_modified: 2025-10-01 00:00 +date_modified: 2026-03-22 12:00 date_published: 2025-10-01 00:00 description: Use Laravel's Eloquent ORM in WordPress with Acorn. Create models for WordPress posts, users, and custom tables with relationships, scopes, and clean query syntax. title: Using Eloquent Models in WordPress @@ -11,7 +11,7 @@ authors: Acorn brings Laravel's powerful Eloquent ORM to WordPress, allowing you to interact with WordPress data using clean, expressive syntax. Create models for posts, users, custom tables, and more with relationships, scopes, and all the Eloquent features you love. -We recommend referencing the [Laravel docs on Eloquent](https://laravel.com/docs/12.x/eloquent) for a complete understanding of the ORM. +We recommend referencing the [Laravel docs on Eloquent](https://laravel.com/docs/13.x/eloquent) for a complete understanding of the ORM. ## Creating your first model diff --git a/acorn/installation.md b/acorn/installation.md index f0b89bab..8bfc4b91 100644 --- a/acorn/installation.md +++ b/acorn/installation.md @@ -1,5 +1,5 @@ --- -date_modified: 2025-04-03 09:00 +date_modified: 2026-03-22 12:00 date_published: 2021-11-19 11:58 description: Install Acorn by running `composer require roots/acorn` in your WordPress project root. Requires Composer-based WordPress like Bedrock. title: Installing Acorn in WordPress @@ -146,8 +146,8 @@ Open `composer.json` and add Acorn's `postAutoloadDump` function to Composer's ` ## Server requirements -Acorn's server requirements are minimal, and mostly come from WordPress and [Laravel 12's requirements](https://laravel.com/docs/12.x/deployment#server-requirements). +Acorn's server requirements are minimal, and mostly come from WordPress and [Laravel 13's requirements](https://laravel.com/docs/13.x/deployment#server-requirements). -- PHP >=8.2 with extensions: Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer, XML +- PHP >=8.3 with extensions: Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer, XML - WordPress >= 5.4 - [WP-CLI](https://wp-cli.org/) diff --git a/acorn/laravel-cache-alternative-to-wordpress-transients.md b/acorn/laravel-cache-alternative-to-wordpress-transients.md index 54fc7c5b..2e7c0ad3 100644 --- a/acorn/laravel-cache-alternative-to-wordpress-transients.md +++ b/acorn/laravel-cache-alternative-to-wordpress-transients.md @@ -1,5 +1,5 @@ --- -date_modified: 2025-06-29 20:23 +date_modified: 2026-03-22 12:00 date_published: 2023-01-30 17:32 description: Use Laravel's caching system instead of WordPress Transients. Acorn supports multiple cache drivers including Redis, Memcached, and files. title: Laravel Cache as an Alternative to WordPress Transients @@ -11,10 +11,10 @@ authors: Acorn provides [Laravel integration with WordPress](/acorn/), which means that certain Laravel components are able to be used within your WordPress site. -Compared to WordPress transients API, [Laravel Cache](https://laravel.com/docs/12.x/cache) provides a more standardized and developer-friendly approach to caching data. It also has a wider range of cache storage options, compared to the WordPress Transients API, which only supports storing data in the WordPress database. +Compared to WordPress transients API, [Laravel Cache](https://laravel.com/docs/13.x/cache) provides a more standardized and developer-friendly approach to caching data. It also has a wider range of cache storage options, compared to the WordPress Transients API, which only supports storing data in the WordPress database. ::: tip -Review the [Laravel Cache docs](https://laravel.com/docs/12.x/cache) to get a more detailed understanding about how it works, along with the various ways that the cache can be configured +Review the [Laravel Cache docs](https://laravel.com/docs/13.x/cache) to get a more detailed understanding about how it works, along with the various ways that the cache can be configured ::: ## Storing data in the cache diff --git a/acorn/laravel-redis-configuration.md b/acorn/laravel-redis-configuration.md index a180a030..f33152de 100644 --- a/acorn/laravel-redis-configuration.md +++ b/acorn/laravel-redis-configuration.md @@ -1,5 +1,5 @@ --- -date_modified: 2025-10-27 10:00 +date_modified: 2026-03-22 12:00 date_published: 2025-10-27 10:00 title: Laravel Redis Configuration for Acorn description: Configure Redis with Laravel and Acorn in WordPress. Enable high-performance caching using PhpRedis or Predis with your WordPress sites. @@ -12,7 +12,7 @@ authors: Acorn provides [Laravel integration with WordPress](/acorn/), which means that Laravel's Redis setup can be configured to work on your WordPress sites. -We recommend referencing the [Laravel docs on Redis](https://laravel.com/docs/12.x/redis) for a complete understanding of the integration. +We recommend referencing the [Laravel docs on Redis](https://laravel.com/docs/13.x/redis) for a complete understanding of the integration. ## Requirements diff --git a/acorn/logging.md b/acorn/logging.md index afb68b09..b7181b40 100644 --- a/acorn/logging.md +++ b/acorn/logging.md @@ -1,5 +1,5 @@ --- -date_modified: 2023-01-27 16:52 +date_modified: 2026-03-22 12:00 date_published: 2021-10-21 13:21 description: Acorn provides Laravel's logging services for WordPress. Configure multiple channels and send logs to files, syslog, Slack, and custom handlers. title: Laravel Logging in WordPress @@ -10,7 +10,7 @@ authors: # Laravel Logging in WordPress ::: tip -We recommend referencing the [Laravel docs on Logging](https://laravel.com/docs/12.x/logging) +We recommend referencing the [Laravel docs on Logging](https://laravel.com/docs/13.x/logging) ::: The location of your application logs depends on your [directory structure](/acorn/docs/directory-structure/). diff --git a/acorn/package-development.md b/acorn/package-development.md index 2f7adb35..7af820cc 100644 --- a/acorn/package-development.md +++ b/acorn/package-development.md @@ -1,5 +1,5 @@ --- -date_modified: 2026-03-05 12:00 +date_modified: 2026-03-22 12:00 date_published: 2021-10-21 13:21 title: Developing Packages for Acorn description: Use the Acorn Example Package as a template for creating custom packages and reusable functionality for WordPress with Laravel architecture. @@ -17,7 +17,7 @@ Creating Acorn packages is useful for when you want to reuse specific functional Packages are installed by Composer, just like Acorn is. ::: tip -We recommend referencing the [Laravel docs on Packages](https://laravel.com/docs/12.x/packages) +We recommend referencing the [Laravel docs on Packages](https://laravel.com/docs/13.x/packages) ::: ## Creating an Acorn package diff --git a/acorn/upgrading-acorn.md b/acorn/upgrading-acorn.md index 25a94e51..609e7622 100644 --- a/acorn/upgrading-acorn.md +++ b/acorn/upgrading-acorn.md @@ -1,7 +1,7 @@ --- -date_modified: 2024-08-30 08:45 +date_modified: 2026-03-22 12:00 date_published: 2023-01-13 13:12 -description: Acorn v4 includes minimal breaking changes from v3. Review required configuration updates, deprecated features, and new functionality available. +description: Learn how to upgrade Acorn to the latest version with guidance on breaking changes, dependency requirements, and configuration updates. title: Upgrading Acorn to the Latest Version authors: - ben @@ -11,6 +11,86 @@ authors: # Upgrading Acorn to the Latest Version +## Upgrading to v6.x from v5.x + +Acorn v6 includes Laravel v13 components, whereas Acorn v5 includes Laravel v12 components. + +### Upgrading dependencies + +Acorn v6 requires PHP >= 8.3. + +Update the `roots/acorn` dependency in your `composer.json` file to `^6.0`: + +```shell +$ composer require roots/acorn ^6.0 -W +``` + +The `-W` flag is required to upgrade the included Laravel dependencies. + +::: warning +If any packages/dependencies have conflicts while updating, try removing and then re-requiring them after Acorn is bumped to 6.x. +::: + +### Breaking changes + +#### Cache, session, and Redis prefix separators + +The default prefix/cookie separators have changed from underscores to hyphens to match Laravel 13 defaults. This means: + +- **Cache prefix**: `laravel_cache_` → `laravel-cache-` +- **Session cookie**: `laravel_session` → `laravel-session` +- **Redis prefix**: `laravel_database_` → `laravel-database-` + +This will **invalidate existing caches and log out all sessions** unless you have explicitly set these values via environment variables (`CACHE_PREFIX`, `SESSION_COOKIE`, `REDIS_PREFIX`). + +To preserve existing behavior, add these to your `.env`: + +```env +CACHE_PREFIX=your_app_name_cache_ +SESSION_COOKIE=your_app_name_session +REDIS_PREFIX=your_app_name_database_ +``` + +#### Mail configuration + +The SMTP `encryption` key has been replaced with `scheme`: + +```diff + 'smtp' => [ + 'transport' => 'smtp', +- 'encryption' => env('MAIL_ENCRYPTION', 'tls'), ++ 'scheme' => env('MAIL_SCHEME'), + ], +``` + +If you are using the `MAIL_ENCRYPTION` environment variable, rename it to `MAIL_SCHEME`. + +#### Logging configuration + +The stderr channel's `with` key has been renamed to `handler_with`: + +```diff + 'stderr' => [ + 'driver' => 'monolog', + 'handler' => StreamHandler::class, +- 'with' => [ ++ 'handler_with' => [ + 'stream' => 'php://stderr', + ], + ], +``` + +### Config changes + +If you have published Acorn's configs, you should review and update them based on the latest versions in the [Acorn repo](https://github.com/roots/acorn/tree/main/config). Notable changes include: + +- **cache.php**: New `serializable_classes` option +- **session.php**: New `serialization` option +- **database.php**: New Redis retry/backoff keys, SQLite `transaction_mode`, SSL CA guard updated for PHP 8.5 +- **mail.php**: New `resend` and `roundrobin` mailers, `retry_after` on failover, `markdown` section removed +- **services.php**: Postmark and Resend env variable names updated +- **All configs**: `(string)` casts added to `env()` calls per Laravel 13 conventions + ## Upgrading to v5.x from v4.x Acorn v5 includes Laravel v12 components, whereas Acorn v4 includes Laravel v10 components. diff --git a/sage/compiling-assets.md b/sage/compiling-assets.md index ae2a63c3..f585e377 100644 --- a/sage/compiling-assets.md +++ b/sage/compiling-assets.md @@ -16,7 +16,7 @@ authors: [Vite](https://vitejs.dev/) is front-end build tool used in Sage. -Sage also uses the Laravel Vite plugin, along with Laravel's Vite facade for referencing Vite assets in PHP and Blade template files. Because of this, [Laravel's Vite documentation](https://laravel.com/docs/12.x/vite) also applies to Sage. +Sage also uses the Laravel Vite plugin, along with Laravel's Vite facade for referencing Vite assets in PHP and Blade template files. Because of this, [Laravel's Vite documentation](https://laravel.com/docs/13.x/vite) also applies to Sage. ## Available build commands @@ -38,7 +38,7 @@ It will also copy any files in the `images` or `fonts` directories under `/resou ### Assets in Blade template files -Use the [`Vite::asset` method](https://laravel.com/docs/12.x/vite#blade-processing-static-assets) to call assets from Blade template files: +Use the [`Vite::asset` method](https://laravel.com/docs/13.x/vite#blade-processing-static-assets) to call assets from Blade template files: ```blade