Skip to content

Commit 76df8ae

Browse files
committed
Added missing v4.6.29 update section
1 parent db5ae13 commit 76df8ae

1 file changed

Lines changed: 60 additions & 0 deletions

File tree

docs/update_and_migration/from_4.6/update_from_4.6.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,66 @@ Run the provided SQL upgrade script to adapt your database to latest change in [
598598
Prior, `0` was interpreted as "no length limit".
599599
Now, `0` is interpreted as "length limited to zero characters" and `NULL` as "no length limit".
600600

601+
## v4.6.29
602+
603+
### GraphQL package update
604+
605+
Due to the [GHSA-68jq-c3rv-pcrr security issue](https://github.com/advisories/GHSA-68jq-c3rv-pcrr), the GraphQL package requirements have been updated to allow installing higher versions in which this issue is resolved.
606+
607+
When doing the update, you have two options:
608+
609+
#### Update GraphQL packages and custom code (recommended)
610+
611+
Make sure the `webonyx/graphql-php` package is installed in a version higher or equal to v15.31.5.
612+
613+
If you [extended GraphQL to support custom field types](graphql_custom_ft.md), update the returned expression from `@=resolver(...)` to `@=query(...)` and change the argument syntax from an array to variadic arguments as in the following example:
614+
615+
```diff
616+
-return sprintf('@=resolver("MyFieldValue", [field, %s])', $myArg);
617+
+return sprintf('@=query("MyFieldValue", field, %s)', $myArg);
618+
```
619+
620+
Then, regenerate the GraphQL schema by running:
621+
622+
``` bash
623+
rm -rf config/graphql/types/ibexa/
624+
php bin/console ibexa:graphql:generate-schema
625+
```
626+
627+
#### Implement other countermeasures
628+
629+
If updating the GraphQL packages isn't possible right now, for example because the project is using PHP 7.4 where the fix is not available, review the security issue carefully and assess the danger.
630+
631+
If you choose to implement countermeasures without updating the GraphQL packages, for example by restricting access to the GrapQL endpoint with rate limiting, authentication, or [WAF](https://en.wikipedia.org/wiki/Web_application_firewall), then you can silence the advisory in `composer.json`:
632+
633+
```json
634+
"config": {
635+
"audit": {
636+
"ignore": {
637+
"GHSA-68jq-c3rv-pcrr": "Description of the countermeasures you've implemented causing this one to be safe to ignore."
638+
}
639+
}
640+
}
641+
```
642+
643+
In addition, consider upgrading your project to one of [the actively supported PHP versions](/getting_started/requirements.md#php).
644+
645+
### Database update [[% include 'snippets/experience_badge.md' %]] [[% include 'snippets/commerce_badge.md' %]]
646+
647+
Run the provided SQL upgrade script to update your database:
648+
649+
=== "MySQL"
650+
651+
``` bash
652+
mysql -u <username> -p <password> <database_name> < vendor/ibexa/installer/upgrade/db/mysql/ibexa-4.6.28-to-4.6.29.sql
653+
```
654+
655+
=== "PostgreSQL"
656+
657+
``` bash
658+
psql <database_name> < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-4.6.28-to-4.6.29.sql
659+
```
660+
601661
## LTS Updates
602662

603663
[LTS Updates](https://doc.ibexa.co/en/4.6/ibexa_products/editions/#lts-updates) are standalone packages with their own update procedures.

0 commit comments

Comments
 (0)