Skip to content

Conversation

@tommitchelmore
Copy link
Collaborator

@tommitchelmore tommitchelmore commented Sep 8, 2025

Dependency Upgrades

Upgrades major version of most packages. This will form the basis of an 8.0 release.

Waiting on updates:

  1. Upgrade dependencies to support PHP 8.4 router#22
  2. Upgrade dependencies psr7-server-request-extension#1

Breaking Changes

PHP - 8.1 - 8.4

Support for PHP < 8.1 has been removed.

Laminas Zend Framework Bridge removed

Any imports that start with Zend\Diactoros must be re-written to Laminas\Diactoros

Facades - blast/facades removed

Blast facades was 10 years out of date, and has been removed. We've decided to take ownership of this code.

All facades will need to be modified as follows:

<?php

namespace Rareloop\Lumberjack\Facades;

- use Blast\Facades\AbstractFacade;
+ use Rareloop\Lumberjack\Facades\AbstractFacade;

class Session extends AbstractFacade
{
    protected static function accessor()
    {
        return 'session';
    }
}

Internally, any calls to \Blast\Facades\FacadeFactory should be replaced by \Rareloop\Lumberjack\FacadeManager

Future work on this looks like adding Laravel-style mocking features.

Encryption

mmeyer2k/dcrypt appears to be stale, and doesn't support PHP 8.4. In light of this we've switched to illuminate/encryption.

We've removed the Encrypter class and contract, projects using it should switch to illuminate/encryption. Most uses should be a simple import path change.

Log levels

We now use Monolog\Level objects throughout Lumberjack. Any instances of Monolog\Logger need to be replaced.

For example:

'logs' => [
    'enabled' => true,
    'path' => false,
-    'level' => Monolog\Logger::ERROR,
+    'level' => Monolog\Level::Error,
],

Non-breaking changes

Ignition

We've moved from symfony/debug to spatie/ignition - mirroring #56. This addresses deprecation warnings in #52.

PHPUnit

PHPUnit hasn't been upgraded, but has had the configuration migrated to the new format. There will be sweeping changes if we're to upgrade to PHPUnit 10.x and beyond.

@tommitchelmore tommitchelmore marked this pull request as draft September 8, 2025 13:25
@adamtomat
Copy link
Member

adamtomat commented Oct 8, 2025

Adding to this with bits I find when testing:

I noticed you updated the collections package to v12, but this sets a minimum PHP requirement to 8.3. I'll play with downgrading this to v10 instead, which sets the minimum requirement to PHP 8.1.

The switch to Encryption also requires an APP_KEY to be set and it errors if there isn't one. You can't even run the wp key generate command without a valid key set initially.

@adamtomat adamtomat closed this Oct 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants