Skip to content

Commit ec69366

Browse files
mnoconadriendupuisdabrtkonradoboza
committed
Release 4.6.27 (#3035)
* Removed warning about Safari (#2982) * 4.6.27: Update doc for dropped unused guzzle dependencies (#2995) * Added update section for 4.6.27 * Update docs/update_and_migration/from_4.6/update_from_4.6.md * Described virtual products and added an example creating product type with PHP API (#3024) * Described virtual products and added an example creating product type with PHP API * Apply suggestions from code review Co-authored-by: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> * Fixed invalid include * Apply suggestions from code review Co-authored-by: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Co-authored-by: Tomasz Dąbrowski <64841871+dabrt@users.noreply.github.com> * Added link to user doc --------- Co-authored-by: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Co-authored-by: Tomasz Dąbrowski <64841871+dabrt@users.noreply.github.com> * [4.6] Doc for Elasticsearch 8 (#3022) * Added doc for ES8 * Added update guide mention * Fixed header * Formatting fixes * Apply suggestions from code review Co-authored-by: Konrad Oboza <konrad.oboza@ibexa.co> * Apply suggestions from code review Co-authored-by: Tomasz Dąbrowski <64841871+dabrt@users.noreply.github.com> * Manual changes --------- Co-authored-by: Konrad Oboza <konrad.oboza@ibexa.co> Co-authored-by: Tomasz Dąbrowski <64841871+dabrt@users.noreply.github.com> --------- Co-authored-by: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Co-authored-by: Tomasz Dąbrowski <64841871+dabrt@users.noreply.github.com> Co-authored-by: Konrad Oboza <konrad.oboza@ibexa.co>
1 parent fd6b2ce commit ec69366

7 files changed

Lines changed: 147 additions & 10 deletions

File tree

docs/getting_started/requirements.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ For production setups it's recommended that you use Varnish/Fastly, Redis/Valkey
225225
|Name|Version|
226226
|---|---|
227227
|Solr|7.7+, 8.11.1+ or 9.8.1+|
228-
|Elasticsearch| 7.16.2+ |
228+
|Elasticsearch| 7.16.2+ or 8.19+ |
229229

230230
If you see a "+" next to the product version, it indicates a recommended version or higher within the same major release.
231231
For example, "1.18+" means any 1.x version equal to or higher than 1.18, but not 2.x.

docs/pim/pim_guide.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@ Before you can assign categories to products, you need to [enable product catego
7979

8080
![Product categories](img/product_categories.png)
8181

82+
### Virtual and physical products
83+
84+
Product types in [[= product_name =]] can be either virtual or physical:
85+
86+
- **Physical products** are tangible items that require shipping (for example: books, clothing, electronics).
87+
- **Virtual products** are items that don't require physical delivery (for example: software licenses, e-books, online courses, digital downloads, additional warranty, tickets for an event).
88+
89+
This product type property can affect the checkout process.
90+
A cart of only virtual products skips the [shipping step](shipping_management.md) during checkout.
91+
To learn more about working with virtual products, see [Virtual products]([[= user_doc =]]/pim/create_virtual_product/) in the User Documentation.
92+
8293
### Currencies
8394

8495
Currencies are used when calculating product price. In the system you can find a list of available currencies, but you can also create custom ones by providing its code.

docs/search/search_engines/elasticsearch/configure_elasticsearch.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ ibexa_elasticsearch:
256256
credentials: ['VnVhQ2ZHY0JDZGJrUW0tZTVhT3g6dWkybHAyYXhUTm1zeWFrdzl0dk5udw==']
257257
```
258258

259-
Refer to the [examples in Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/8.19/security-api-create-api-key.html#security-api-create-api-key-example) to see the difference between API key, API key id, and encoded API key.
259+
To see the difference between API key, API key id, and encoded API key, refer to the [examples in Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/8.19/security-api-create-api-key.html#security-api-create-api-key-example).
260260

261261
### SSL
262262

@@ -313,7 +313,8 @@ For more information, see [Elasticsearch: SSL Encryption](https://www.elastic.co
313313
In a staging environment, you can log messages about the status of communication with Elasticsearch.
314314
You can then use Symfony Profiler to review the logs.
315315

316-
By default, debugging is disabled. To enable debugging, you can use the following setting:
316+
By default, debugging is disabled.
317+
To enable debugging, you can use the following setting:
317318

318319
``` yaml
319320
<connection_name>:
@@ -412,8 +413,8 @@ For more information and a list of available settings, see [Elasticsearch docume
412413
For more information about mappings, see [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/8.19/mapping.html).
413414

414415
When you create a custom index template, with settings for your own field and document types, make sure that it contains mappings for all searchable fields that are available in [[= product_name =]].
415-
For an example of default configuration with a list of searchable fields.
416-
To see the default configuration, go to `vendor/ibexa/elasticsearch/src/bundle/Resources/config/` and open the `default-config.yaml` file.
416+
417+
To see the default configuration, go to `vendor/ibexa/elasticsearch/src/bundle/Resources/config/` and open the `default-config.yaml` file.
417418

418419
### Fine-tune the search results
419420

@@ -506,7 +507,7 @@ For more information about specifying the pattern for your language, see [Define
506507

507508
For information about configuring an analyzer for each specific language, see [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/8.19/analysis-lang-analyzer.html).
508509

509-
An adoption of the [English analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/8.19/analysis-lang-analyzer.html#english-analyzer) in [[= product_name =]] configuration looks like this:
510+
An adoption of the [`english` analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/8.19/analysis-lang-analyzer.html#english-analyzer) in [[= product_name =]] configuration looks like this:
510511

511512
```yaml hl_lines="3-5 15-23 35 41-52 94 99"
512513
[[= include_file('code_samples/search/custom/config/packages/elasticsearch-en.yaml') =]]

docs/search/search_engines/elasticsearch/install_elasticsearch.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ docker run -d --name ibexa-dxp-elasticsearch -p 9200:9200 -p 9300:9300 -e "disco
2020

2121
## Verify the instance
2222

23-
To make sure that the Elasticsearch instance operates properly, access the instance (for example, with `curl http://localhost:9200/`).
23+
To make sure that the Elasticsearch instance operates properly, access the instance, for example, with `curl http://localhost:9200/`.
2424

2525
If Elasticsearch operates properly, an object with cluster details is displayed.
2626
It should be similar to the following example:
@@ -92,4 +92,4 @@ php bin/console ibexa:reindex
9292
!!! caution "Risks of premature indexing"
9393

9494
Don't reindex your data before you create index templates.
95-
Otherwise Elasticsearch attempts to use its [dynamic field mapping](https://www.elastic.co/guide/en/elasticsearch/reference/8.19/dynamic-field-mapping.html) feature to create type mappings automatically.
95+
Otherwise, Elasticsearch attempts to use its [dynamic field mapping](https://www.elastic.co/guide/en/elasticsearch/reference/8.19/dynamic-field-mapping.html) feature to create type mappings automatically.

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

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,120 @@ Run the provided SQL upgrade script to add the missing indexes to your database:
452452

453453
No additional steps needed.
454454

455+
## v4.6.27
456+
457+
### Elasticsearch 8 support
458+
459+
As of v4.6.27, [[= product_name =]] adds optional support for Elasticsearch 8.19 or higher through the new `ibexa/elasticsearch8` package.
460+
461+
By default, [[= product_name =]] continues to support Elasticsearch 7.16.2+ with the `ibexa/elasticsearch` package.
462+
To use Elasticsearch 8, follow these steps:
463+
464+
#### Install Elasticsearch 8 package
465+
466+
Replace the existing Elasticsearch package and install Elasticsearch 8:
467+
468+
```bash
469+
composer require ibexa/elasticsearch8:[[= latest_tag_4_6 =]]
470+
```
471+
472+
#### Update Elasticsearch server
473+
474+
Upgrade your Elasticsearch server to version 8.19 or higher.
475+
For detailed instructions, follow the [Elasticsearch upgrade guide](https://www.elastic.co/guide/en/elastic-stack/8.19/upgrading-elastic-stack.html#prepare-to-upgrade).
476+
477+
When you use [[= product_name_cloud =]], see [Elasticsearch service](https://docs.upsun.com/add-services/elasticsearch.html) for a list of supported versions.
478+
479+
#### Update configuration
480+
481+
Update your configuration in `config/packages/ibexa_elasticsearch.yaml` as decribed below:
482+
483+
##### Replace connection pool settings
484+
485+
The `connection_pool` and `connection_selector` settings are ignored when using Elasticsearch 8.
486+
Replace them with appropriate `node_pool_selector` and `node_pool_resurrect` settings:
487+
488+
``` yaml
489+
# Elasticsearch 7 configuration
490+
ibexa_elasticsearch:
491+
connections:
492+
default:
493+
connection_pool: 'Elasticsearch\ConnectionPool\StaticNoPingConnectionPool'
494+
connection_selector: 'Elasticsearch\ConnectionPool\Selectors\RoundRobinSelector'
495+
```
496+
497+
``` yaml
498+
# Elasticsearch 8 configuration
499+
ibexa_elasticsearch:
500+
connections:
501+
default:
502+
node_pool_selector: 'Elastic\Transport\NodePool\Selector\RoundRobin'
503+
node_pool_resurrect: 'Elastic\Transport\NodePool\Resurrect\NoResurrect'
504+
```
505+
506+
For more information, see [Connection pool and node pool settings](configure_elasticsearch.md#connection-pool-and-node-pool-settings).
507+
508+
##### Remove trace option
509+
510+
The `trace` debugging option is no longer available in Elasticsearch 8:
511+
512+
``` yaml
513+
# Elasticsearch 7 configuration
514+
ibexa_elasticsearch:
515+
connections:
516+
default:
517+
debug: true
518+
trace: true
519+
```
520+
521+
``` yaml
522+
# Elasticsearch 8 configuration
523+
ibexa_elasticsearch:
524+
connections:
525+
default:
526+
debug: true
527+
# Trace option is no longer available
528+
```
529+
530+
#### Reindex content
531+
532+
After upgrading to Elasticsearch 8 and updating your configuration, reindex the search engine:
533+
534+
1. Push the index templates:
535+
536+
``` bash
537+
php bin/console ibexa:elasticsearch:put-index-template --overwrite
538+
```
539+
540+
2. Reindex your content:
541+
542+
``` bash
543+
php bin/console ibexa:reindex
544+
```
545+
546+
### Removed Composer dependencies
547+
548+
The following unused Composer dependencies have been removed from `ibexa/core`:
549+
550+
- `guzzlehttp/guzzle`
551+
- `php-http/guzzle6-adapter`
552+
553+
If your project uses Guzzle directly, you should add these dependencies to your project's `composer.json` file.
554+
555+
To check if you need to add these dependencies, run:
556+
557+
```bash
558+
composer why guzzlehttp/guzzle
559+
composer why php-http/guzzle6-adapter
560+
```
561+
562+
If only the `ibexa/core` entry appears in the output, check your codebase to determine if you use Guzzle directly.
563+
If you do, add the required dependencies to your project:
564+
565+
```bash
566+
composer require guzzlehttp/guzzle:^6.5 php-http/guzzle6-adapter:^2.0
567+
```
568+
455569
<!-- End of update instructions -->
456570

457571
[[% include 'snippets/update/notify_support.md' %]]

docs/update_and_migration/from_4.6/update_to_5.0.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,17 @@ composer remove --no-update \
206206
;
207207
```
208208

209+
#### Remove separate Elasticsearch 8 package
210+
211+
If you were using the separate `ibexa/elasticsearch8` package in v4.6, you should switch back to the built-in `ibexa/elasticsearch` package, as it now supports both Elasticsearch 7 and Elasticsearch 8.
212+
213+
```bash
214+
composer remove --no-update ibexa/elasticsearch8
215+
```
216+
217+
The `ibexa/elasticsearch` package is automatically installed as part of your [[= product_name =]] 5.0 update.
218+
Your existing Elasticsearch 8 server and configuration continue to work with the `ibexa/elasticsearch` package.
219+
209220
#### Remove PHP 8.2 error handler
210221

211222
If you were using the [`Php82HideDeprecationsErrorHandler`](update_from_4.6.md#v468) to avoid deprecation messages,

docs/update_and_migration/from_5.0/update_from_5.0.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,9 @@ If you choose to upgrade to Elasticsearch 8, follow these steps:
194194
#### Update Elasticsearch server
195195

196196
Upgrade your Elasticsearch server to version 8.19 or higher.
197-
Follow the [Elasticsearch upgrade guide](https://www.elastic.co/guide/en/elastic-stack/8.19/upgrading-elastic-stack.html#prepare-to-upgrade) for detailed instructions.
197+
For detailed instructions, follow the [Elasticsearch upgrade guide](https://www.elastic.co/guide/en/elastic-stack/8.19/upgrading-elastic-stack.html#prepare-to-upgrade).
198198

199-
When using [[= product_name_cloud =]], see [Elasticsearch service](https://docs.upsun.com/add-services/elasticsearch.html) for a list of supported versions.
199+
When you use [[= product_name_cloud =]], see [Elasticsearch service](https://docs.upsun.com/add-services/elasticsearch.html) for a list of supported versions.
200200

201201
#### Update configuration
202202

0 commit comments

Comments
 (0)