Skip to content

LIMS-2135: Update PHP Libraries#1053

Merged
ndg63276 merged 6 commits into
pre-release/2026-R2.3from
improvement/LIMS-2135/update-php-libraries
Apr 21, 2026
Merged

LIMS-2135: Update PHP Libraries#1053
ndg63276 merged 6 commits into
pre-release/2026-R2.3from
improvement/LIMS-2135/update-php-libraries

Conversation

@ndg63276
Copy link
Copy Markdown
Collaborator

@ndg63276 ndg63276 commented Mar 20, 2026

JIRA ticket: LIMS-2135

Summary:

Various PHP libraries can be updated

Changes:

  • Tell Composer we are using PHP 7.4.33 which is on production
  • Remove the getallheaders polyfill, and then add a bootstrapped version for CI testing
  • Remove the bcmath polyfill, but enforce the native library instead
  • Increment the major version of php-amqplib and psalm
  • Allow minor updates on htmlpurifier, sql-formatter, mpdf, slim, and zipstream-php
  • Change how JWTs are decoded in php-jwt 6 with PHP 7.4.33
  • Fix some tests that now fail as PHP 7.4 is tougher on TypeErrors

Not done:

  • No change to phpcas as that may be removed soon
  • No major update to slim as that would require large changes

To test:

  • Use the production database, and retrigger a processing job, to check the php-amqplib update
  • Open a shipment and click "Print Shipment Labels" to check the mpdf update
  • Run ./vendor/bin/psalm within the container, check no errors occur

@ndg63276 ndg63276 changed the base branch from master to pre-release/2026-R2.3 April 21, 2026 08:54
@ndg63276 ndg63276 merged commit 6e5a072 into pre-release/2026-R2.3 Apr 21, 2026
2 checks passed
@ndg63276 ndg63276 deleted the improvement/LIMS-2135/update-php-libraries branch April 21, 2026 08:56
ndg63276 added a commit that referenced this pull request May 1, 2026
* Add instruction for industry users (#1063)

* LIMS-1949: Use parentAutoProcProgramId field (#1062)

* LIMS-1949: Use parentAutoProcProgramId field

* LIMS-1949: Add config variable to example file

---------

Co-authored-by: Mark Williams <mark.williams@diamond.ac.uk>

* LIMS-2109: Require an email address when creating a plate (#1037)

* LIMS-2109: Require an email address when creating a plate

* Update php-jwt as much as possible and ignore security advisory

---------

Co-authored-by: Mark Williams <mark.williams@diamond.ac.uk>

* LIMS-2126: Add new strategy pipeline and tidy code (#1054)

Co-authored-by: Mark Williams <mark.williams@diamond.ac.uk>

* LIMS-2135: Update PHP Libraries (#1053)

* LIMS-2135: Update PHP Libraries

* LIMS-2135: Update tests for PHP 7.4.33

* LIMS-2135: Use global getallheaders

* LIMS-2135: Fix unit tests

* LIMS-2135: Fix unit tests

* LIMS-2135: Add bootstrap getallheaders function for CI tests

---------

Co-authored-by: Mark Williams <mark.williams@diamond.ac.uk>

* LIMS-2136: Fix editing priority processing pipeline (#1057)

Co-authored-by: Mark Williams <mark.williams@diamond.ac.uk>

* LIMS-2139: Dont display special beam as beam dumps (#1052)

Co-authored-by: Mark Williams <mark.williams@diamond.ac.uk>

* LIMS-2163: Notation change to dispensing CSV for 2 drop plates

---------

Co-authored-by: Guilherme Francisco <guilherme.de-freitas@diamond.ac.uk>
Co-authored-by: Mark Williams <mark.williams@diamond.ac.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants