PHP 8.3 compatibility (bump lcobucci/jwt to ^5)

Created on 15 July 2024, 5 months ago
Updated 30 August 2024, 3 months ago

After updating PHP to 8.3 and running the composer installer, I got the following:

  Problem 1
    - lcobucci/clock is locked to version 3.0.0 and an update of this package was not requested.
    - lcobucci/clock 3.0.0 requires php ~8.1.0 || ~8.2.0 -> your php version (8.3.7) does not satisfy that requirement.
  Problem 2
    - lcobucci/clock 3.0.0 requires php ~8.1.0 || ~8.2.0 -> your php version (8.3.7) does not satisfy that requirement.
    - lcobucci/jwt 4.3.0 requires lcobucci/clock ^2.0 || ^3.0 -> satisfiable by lcobucci/clock[3.0.0].
    - lcobucci/jwt is locked to version 4.3.0 and an update of this package was not requested.

So the lcobucci/jwt library needs to be updated to ^5 (https://github.com/lcobucci/jwt/releases)

πŸ› Bug report
Status

Needs review

Version

1.0

Component

Code

Created by

πŸ‡ΊπŸ‡¦Ukraine marchuk.vitaliy Rivne, UA

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @marchuk.vitaliy
  • Pipeline finished with Failed
    5 months ago
    Total: 289s
    #224445
  • Status changed to Needs work 5 months ago
  • πŸ‡ΊπŸ‡¦Ukraine marchuk.vitaliy Rivne, UA

    Updated to lcobucci/jwt:5.3.0 and tested locally (composer require 'lcobucci/jwt:5.3.0 as 4.3.0') and it works great. The lcobucci/clock library has been replaced by psr/clock.
    Opened MR with the fixes.
    There seems to be a problem running the tests:

    Problem 1
        - lcobucci/jwt[5.0.0, ..., 5.4.x-dev] require ext-sodium * -> it is missing from your system. Install or enable PHP's sodium extension.
        - Root composer.json requires lcobucci/jwt ^5 -> satisfiable by lcobucci/jwt[5.0.0, ..., 5.4.x-dev].
    To enable extensions, verify that they are enabled in your .ini files:
        - /usr/local/etc/php/php-cli.ini
    

    So that should be fixed as well.

  • First commit to issue fork.
  • Pipeline finished with Failed
    3 months ago
    Total: 44s
    #260858
  • Pipeline finished with Failed
    3 months ago
    Total: 38s
    #260860
  • Pipeline finished with Failed
    3 months ago
    Total: 45s
    #260863
  • Pipeline finished with Success
    3 months ago
    Total: 218s
    #261799
  • Pipeline finished with Success
    3 months ago
    Total: 213s
    #261890
  • Pipeline finished with Failed
    3 months ago
    Total: 242s
    #261903
  • Pipeline finished with Failed
    3 months ago
    Total: 162s
    #261907
  • Pipeline finished with Failed
    3 months ago
    Total: 173s
    #261918
  • Pipeline finished with Success
    3 months ago
    Total: 697s
    #261925
  • πŸ‡ΊπŸ‡ΈUnited States rhovland Oregon

    I'm very confused as this seems to suggest sodium is built into php now https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911135
    But running php -m sodium is not listed there. It is in Ubuntu PHP installations though.
    Additionally it cannot be installed via PECL because it was abandoned since PHP 8.1
    And it is not in the list of "provided but not enabled" PHP modules

    I added a composer command to ignore the lack of that module in .gitlab-ci.yml

    Tests seem to pass despite the module being missing?

  • Pipeline finished with Failed
    3 months ago
    Total: 234s
    #263071
  • Pipeline finished with Success
    3 months ago
    Total: 349s
    #263078
  • Pipeline finished with Failed
    3 months ago
    Total: 303s
    #263083
  • Pipeline finished with Success
    3 months ago
    Total: 506s
    #269817
  • Pipeline finished with Success
    3 months ago
    Total: 378s
    #269850
  • πŸ‡ΊπŸ‡ΈUnited States rhovland Oregon

    Ok finally everything is good to go.

    The only test failures are project level that have issues to address them. Everything is green otherwise
    πŸ“Œ Fix eslint errors Active
    πŸ“Œ AcceptJsPaymentMethodTest fails due to invalid permission RTBC

  • Status changed to Needs review 3 months ago
  • πŸ‡ΊπŸ‡ΈUnited States rhovland Oregon
  • πŸ‡ΊπŸ‡ΈUnited States rhovland Oregon

    Also note that apparently PHP 8.3 is required to run Drupal 11 so this module isn't actually Drupal 11 compatible until this is addressed.

Production build 0.71.5 2024