Skip to content

Commit 7f8ae9f

Browse files
committed
Merge branch '10.x' into 11.x
# Conflicts: # CHANGELOG.md # src/Engines/AlgoliaEngine.php # src/Scout.php
2 parents 49bfc50 + d8b54f9 commit 7f8ae9f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+2711
-213
lines changed

.github/ISSUE_TEMPLATE/1_Bug_report.md

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Bug Report
2+
description: "Report something that's broken."
3+
body:
4+
- type: markdown
5+
attributes:
6+
value: "Please read [our full contribution guide](https://laravel.com/docs/contributions#bug-reports) before submitting bug reports. If you notice improper DocBlock, PHPStan, or IDE warnings while using Laravel, do not create a GitHub issue. Instead, please submit a pull request to fix the problem."
7+
- type: input
8+
attributes:
9+
label: Scout Version
10+
description: Provide the Scout version that you are using.
11+
placeholder: 10.1.0
12+
validations:
13+
required: true
14+
- type: dropdown
15+
attributes:
16+
label: Scout Driver
17+
description: Tell us which driver you're using. We only support the listed drivers.
18+
options:
19+
- Algolia
20+
- Meilisearch
21+
- Typesense
22+
- Database
23+
- Collection
24+
validations:
25+
required: true
26+
- type: input
27+
attributes:
28+
label: Laravel Version
29+
description: Provide the Laravel version that you are using. [Please ensure it is still supported.](https://laravel.com/docs/releases#support-policy)
30+
placeholder: 10.4.1
31+
validations:
32+
required: true
33+
- type: input
34+
attributes:
35+
label: PHP Version
36+
description: Provide the PHP version that you are using.
37+
placeholder: 8.1.4
38+
validations:
39+
required: true
40+
- type: input
41+
attributes:
42+
label: Database Driver & Version
43+
description: If applicable, provide the database driver and version you are using.
44+
placeholder: "MySQL 8.0.31 for macOS 13.0 on arm64 (Homebrew)"
45+
- type: input
46+
attributes:
47+
label: SDK Version
48+
description: If you're using a third-party service like Algolia or Meilisearch, please provide us with the SDK version.
49+
placeholder: 2.4.5
50+
- type: input
51+
attributes:
52+
label: Meilisearch CLI Version
53+
description: If you're using Meilisearch, please provide us with the CLI version.
54+
placeholder: 1.0.2
55+
- type: textarea
56+
attributes:
57+
label: Description
58+
description: Provide a detailed description of the issue you are facing.
59+
validations:
60+
required: true
61+
- type: textarea
62+
attributes:
63+
label: Steps To Reproduce
64+
description: Provide detailed steps to reproduce your issue. If necessary, please provide a GitHub repository to demonstrate your issue using `laravel new bug-report --github="--public"`.
65+
validations:
66+
required: true
67+
68+

.github/workflows/static-analysis.yml

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,4 @@ permissions:
1212

1313
jobs:
1414
tests:
15-
runs-on: ubuntu-22.04
16-
17-
strategy:
18-
fail-fast: true
19-
20-
name: Static Analysis
21-
22-
steps:
23-
- name: Checkout code
24-
uses: actions/checkout@v3
25-
26-
- name: Setup PHP
27-
uses: shivammathur/setup-php@v2
28-
with:
29-
php-version: 8.2
30-
tools: composer:v2
31-
coverage: none
32-
33-
- name: Install dependencies
34-
uses: nick-fields/retry@v2
35-
with:
36-
timeout_minutes: 5
37-
max_attempts: 5
38-
command: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
39-
40-
- name: Execute type checking
41-
run: vendor/bin/phpstan
15+
uses: laravel/.github/.github/workflows/static-analysis.yml@main

.github/workflows/tests.yml

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,25 @@ jobs:
1616
strategy:
1717
fail-fast: true
1818
matrix:
19-
php: ['8.0', 8.1, 8.2]
20-
laravel: [9, 10]
19+
php: ['8.0', 8.1, 8.2, 8.3]
20+
laravel: [9, 10, 11]
2121
exclude:
2222
- php: '8.0'
2323
laravel: 9
2424
- php: '8.0'
2525
laravel: 10
26+
- php: '8.0'
27+
laravel: 11
28+
- php: '8.1'
29+
laravel: 11
30+
- php: 8.3
31+
laravel: 9
2632

2733
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
2834

2935
steps:
3036
- name: Checkout code
31-
uses: actions/checkout@v3
37+
uses: actions/checkout@v4
3238

3339
- name: Setup PHP
3440
uses: shivammathur/setup-php@v2
@@ -45,4 +51,46 @@ jobs:
4551
composer update --prefer-dist --no-interaction --no-progress
4652
4753
- name: Execute tests
48-
run: vendor/bin/phpunit --verbose
54+
run: vendor/bin/phpunit
55+
56+
tests-using-meilisearch:
57+
runs-on: ubuntu-22.04
58+
59+
services:
60+
meilisearch:
61+
image: getmeili/meilisearch:latest
62+
ports:
63+
- 7700:7700
64+
env:
65+
MEILI_MASTER_KEY: masterKey
66+
MEILI_NO_ANALYTICS: true
67+
68+
strategy:
69+
fail-fast: true
70+
matrix:
71+
php: ['8.0', 8.1, 8.2, 8.3]
72+
73+
name: PHP ${{ matrix.php }} using Meilisearch
74+
75+
steps:
76+
- name: Checkout code
77+
uses: actions/checkout@v4
78+
79+
- name: Setup PHP
80+
uses: shivammathur/setup-php@v2
81+
with:
82+
php-version: ${{ matrix.php }}
83+
extensions: dom, curl, libxml, mbstring, zip
84+
ini-values: error_reporting=E_ALL
85+
tools: composer:v2
86+
coverage: none
87+
88+
- name: Install dependencies
89+
run: |
90+
composer update --prefer-dist --no-interaction --no-progress
91+
92+
- name: Execute tests
93+
run: vendor/bin/phpunit --group external-network,meilisearch
94+
env:
95+
MEILISEARCH_HOST: "http://localhost:7700"
96+
MEILISEARCH_KEY: 'masterKey'

CHANGELOG.md

Lines changed: 112 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,117 @@
11
# Release Notes
22

3-
## [Unreleased](https://github.com/laravel/scout/compare/v9.8.1...master)
3+
## [Unreleased](https://github.com/laravel/scout/compare/v10.9.0...11.x)
4+
5+
## [v10.9.0](https://github.com/laravel/scout/compare/v10.8.6...v10.9.0) - 2024-05-07
6+
7+
* Allow Typesense Search Parameter Definition on Models by [@stammbach](https://github.com/stammbach) in https://github.com/laravel/scout/pull/827
8+
* Fixing issue 825 by [@AbdullahFaqeir](https://github.com/AbdullahFaqeir) in https://github.com/laravel/scout/pull/826
9+
10+
## [v10.8.6](https://github.com/laravel/scout/compare/v10.8.5...v10.8.6) - 2024-04-16
11+
12+
* Prevent unnecessary api calls on Collection (index) by [@AbdullahFaqeir](https://github.com/AbdullahFaqeir) in https://github.com/laravel/scout/pull/820
13+
14+
## [v10.8.5](https://github.com/laravel/scout/compare/v10.8.4...v10.8.5) - 2024-04-02
15+
16+
* [Typesense] Issue when searching with queryCallback by [@karakhanyans](https://github.com/karakhanyans) in https://github.com/laravel/scout/pull/817
17+
18+
## [v10.8.4](https://github.com/laravel/scout/compare/v10.8.3...v10.8.4) - 2024-03-26
19+
20+
* Repaces when and tap functions with Conditionable and Tappable traits by [@ncharalampidis](https://github.com/ncharalampidis) in https://github.com/laravel/scout/pull/811
21+
* [10.x] Make commands lazy by [@timacdonald](https://github.com/timacdonald) in https://github.com/laravel/scout/pull/815
22+
* [10.x] Optional field definitions on model by [@MortenDHansen](https://github.com/MortenDHansen) in https://github.com/laravel/scout/pull/812
23+
24+
## [v10.8.3](https://github.com/laravel/scout/compare/v10.8.2...v10.8.3) - 2024-02-13
25+
26+
* [10.x] Fix zero integer value in options parameter for Typesense by [@alignwebs](https://github.com/alignwebs) in https://github.com/laravel/scout/pull/802
27+
28+
## [v10.8.2](https://github.com/laravel/scout/compare/v10.8.1...v10.8.2) - 2024-01-30
29+
30+
* [10.x] Ordering by model's custom `created_at` column by [@stevebauman](https://github.com/stevebauman) in https://github.com/laravel/scout/pull/801
31+
32+
## [v10.8.1](https://github.com/laravel/scout/compare/v10.8.0...v10.8.1) - 2024-01-23
33+
34+
* [10.x] Fix Typesense search parameters issue by [@karakhanyans](https://github.com/karakhanyans) in https://github.com/laravel/scout/pull/795
35+
36+
## [v10.8.0](https://github.com/laravel/scout/compare/v10.7.0...v10.8.0) - 2024-01-16
37+
38+
* [10.x] Laravel v11 support by [@nunomaduro](https://github.com/nunomaduro) in https://github.com/laravel/scout/pull/789
39+
40+
## [v10.7.0](https://github.com/laravel/scout/compare/v10.6.1...v10.7.0) - 2024-01-09
41+
42+
* [10.x] Add Typesense engine by [@jasonbosco](https://github.com/jasonbosco) in https://github.com/laravel/scout/pull/773
43+
44+
## [v10.6.1](https://github.com/laravel/scout/compare/v10.6.0...v10.6.1) - 2023-12-05
45+
46+
* Fix unsearchable config by [@Casmo](https://github.com/Casmo) in https://github.com/laravel/scout/pull/783
47+
48+
## [v10.6.0](https://github.com/laravel/scout/compare/v10.5.1...v10.6.0) - 2023-11-28
49+
50+
* Add search engine meta data to results by [@tobz-nz](https://github.com/tobz-nz) in https://github.com/laravel/scout/pull/780
51+
52+
## [v10.5.1](https://github.com/laravel/scout/compare/v10.5.0...v10.5.1) - 2023-10-31
53+
54+
- Call makeSearchableUsing before searching on CollectionEngine by [@Magnesium38](https://github.com/Magnesium38) in https://github.com/laravel/scout/pull/777
55+
56+
## [v10.5.0](https://github.com/laravel/scout/compare/v10.4.0...v10.5.0) - 2023-10-10
57+
58+
- Adds latest and oldest sorting options by [@peterfox](https://github.com/peterfox) in https://github.com/laravel/scout/pull/770
59+
60+
## [v10.4.0](https://github.com/laravel/scout/compare/v10.3.0...v10.4.0) - 2023-09-26
61+
62+
- Allow configuration of Algolia batch size by [@samlev](https://github.com/samlev) in https://github.com/laravel/scout/pull/768
63+
**Full Changelog**: https://github.com/laravel/scout/compare/v10.3.0...v10.4.0
64+
65+
## [v10.3.0](https://github.com/laravel/scout/compare/v10.2.4...v10.3.0) - 2023-09-05
66+
67+
- Add "whereNotIn" native support to Meilisearch, Database and Collection engines by [@guestpectacular](https://github.com/guestpectacular) in https://github.com/laravel/scout/pull/760
68+
69+
## [v10.2.4](https://github.com/laravel/scout/compare/v10.2.3...v10.2.4) - 2023-08-08
70+
71+
- Add Configurable Scout Key Type by [@geisi](https://github.com/geisi) in https://github.com/laravel/scout/pull/752
72+
73+
## [v10.2.3](https://github.com/laravel/scout/compare/v10.2.2...v10.2.3) - 2023-07-11
74+
75+
- Override attributesToRetrieve config to ensure search result is complete by [@mmachatschek](https://github.com/mmachatschek) in https://github.com/laravel/scout/pull/751
76+
77+
## [v10.2.2](https://github.com/laravel/scout/compare/v10.2.1...v10.2.2) - 2023-05-24
78+
79+
- Fixes usage with `sqlsrv` databases by @nunomaduro in https://github.com/laravel/scout/pull/740
80+
81+
## [v10.2.1](https://github.com/laravel/scout/compare/v10.2.0...v10.2.1) - 2023-05-10
82+
83+
- Fixes `makeSearchableUsing` not being able to be called by @nunomaduro in https://github.com/laravel/scout/pull/739
84+
85+
## [v10.2.0](https://github.com/laravel/scout/compare/v10.1.1...v10.2.0) - 2023-05-09
86+
87+
- Add 'makeSearchableUsing' method (to allow eager loading when making specific models searchable) by @gdebrauwer in https://github.com/laravel/scout/pull/732
88+
- Re-add options for search requests by @patrickweh in https://github.com/laravel/scout/pull/734
89+
90+
## [v10.1.1](https://github.com/laravel/scout/compare/v10.1.0...v10.1.1) - 2023-04-18
91+
92+
- Handle empty whereIn clause by @jshah4517 in https://github.com/laravel/scout/pull/729
93+
94+
## [v10.1.0](https://github.com/laravel/scout/compare/v10.0.2...v10.1.0) - 2023-04-11
95+
96+
- Removed redundant default value for config file by @siarheipashkevich in https://github.com/laravel/scout/pull/714
97+
- Adds support for custom page names using the database engine by @lukeraymonddowning in https://github.com/laravel/scout/pull/728
98+
99+
## [v10.0.2](https://github.com/laravel/scout/compare/v10.0.1...v10.0.2) - 2023-03-07
100+
101+
- Use `newQuery()` instead of `query()` in `DatabaseEngine` by @jbelien in https://github.com/laravel/scout/pull/713
102+
103+
## [v10.0.1](https://github.com/laravel/scout/compare/v10.0.0...v10.0.1) - 2023-03-05
104+
105+
- Fix missing function issue by @JerryBels in https://github.com/laravel/scout/pull/711
106+
107+
## [v10.0.0](https://github.com/laravel/scout/compare/v9.8.1...v10.0.0) - 2023-03-02
108+
109+
- Refactor the use of getScoutKeyName by @driesvints in https://github.com/laravel/scout/pull/509
110+
- Remove obsolete code for scout key name by @mmachatschek in https://github.com/laravel/scout/pull/545
111+
- Provide searchable data array with primary key and value for MeiliSearch by @mmachatschek in https://github.com/laravel/scout/pull/546
112+
- Fix custom scout keys not being utilized when deleting from queue by @stevebauman in https://github.com/laravel/scout/pull/657
113+
- Drop old PHP and Laravel versions by @driesvints in https://github.com/laravel/scout/pull/675
114+
- Meilisearch v1 support by @mmachatschek in https://github.com/laravel/scout/pull/678
4115

5116
## [v9.8.1](https://github.com/laravel/scout/compare/v9.8.0...v9.8.1) - 2023-02-14
6117

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Laravel Scout provides a simple, driver-based solution for adding full-text sear
1313

1414
- [Algolia](https://www.algolia.com/)
1515
- [Meilisearch](https://github.com/meilisearch/meilisearch)
16+
- [Typesense](https://github.com/typesense/typesense)
1617

1718
## Official Documentation
1819

RELEASE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Release Instructions
22

33
1. Update the version in [`Scout.php`](./src/Scout.php) and commit it
4-
2. Create a new GitHub release for this version with the release notes
4+
2. [Create a new GitHub release](https://github.com/laravel/scout/releases/new) for this version with the release notes

UPGRADE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The following dependency versions have been updated:
1313

1414
PR: https://github.com/laravel/scout/pull/509
1515

16-
In Scout 10.x, the `getScoutKeyName` method will return the unqualified key name and no longer qualifies the key name with the table name. If you are overriding the `getScoutKeyName` method you will need to account for this change and make sure you return an unqualified key name.
16+
In Scout 10.x, the `getScoutKeyName` method will return the unqualified key name and no longer qualifies the key name with the table name. If your application is overriding the `getScoutKeyName` method you should ensure an unqualified key name is returned.
1717

1818
```diff
1919
public function getScoutKeyName()

composer.json

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,24 @@
1515
],
1616
"require": {
1717
"php": "^8.0",
18-
"illuminate/bus": "^9.0|^10.0",
19-
"illuminate/contracts": "^9.0|^10.0",
20-
"illuminate/database": "^9.0|^10.0",
21-
"illuminate/http": "^9.0|^10.0",
22-
"illuminate/pagination": "^9.0|^10.0",
23-
"illuminate/queue": "^9.0|^10.0",
24-
"illuminate/support": "^9.0|^10.0"
18+
"illuminate/bus": "^9.0|^10.0|^11.0",
19+
"illuminate/contracts": "^9.0|^10.0|^11.0",
20+
"illuminate/database": "^9.0|^10.0|^11.0",
21+
"illuminate/http": "^9.0|^10.0|^11.0",
22+
"illuminate/pagination": "^9.0|^10.0|^11.0",
23+
"illuminate/queue": "^9.0|^10.0|^11.0",
24+
"illuminate/support": "^9.0|^10.0|^11.0",
25+
"symfony/console": "^6.0|^7.0"
2526
},
2627
"require-dev": {
2728
"algolia/algoliasearch-client-php": "^3.2",
29+
"typesense/typesense-php": "^4.9.3",
2830
"meilisearch/meilisearch-php": "^1.0",
2931
"mockery/mockery": "^1.0",
30-
"orchestra/testbench": "^7.0|^8.0",
32+
"orchestra/testbench": "^7.31|^8.11|^9.0",
3133
"php-http/guzzle7-adapter": "^1.0",
3234
"phpstan/phpstan": "^1.10",
33-
"phpunit/phpunit": "^9.3"
35+
"phpunit/phpunit": "^9.3|^10.4"
3436
},
3537
"autoload": {
3638
"psr-4": {
@@ -54,7 +56,8 @@
5456
},
5557
"suggest": {
5658
"algolia/algoliasearch-client-php": "Required to use the Algolia engine (^3.2).",
57-
"meilisearch/meilisearch-php": "Required to use the Meilisearch engine (^1.0)."
59+
"meilisearch/meilisearch-php": "Required to use the Meilisearch engine (^1.0).",
60+
"typesense/typesense-php": "Required to use the Typesense engine (^4.9)."
5861
},
5962
"config": {
6063
"sort-packages": true,

0 commit comments

Comments
 (0)