You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,13 +5,21 @@ All notable changes to this `laravel-elasticsearch` package will be documented i
5
5
## v5.4.0 - 2026-02-15
6
6
7
7
### Added
8
+
-**`upsert()`** — Insert or update records by unique key in a single bulk operation, matching Laravel's native `upsert()` signature. Supports single and batch documents, specific update columns, and composite unique keys
8
9
-`TimeOrderedUUIDGenerator` — sortable 20-character IDs where lexicographic order matches chronological order across processes (millisecond granularity)
9
10
-`GeneratesTimeOrderedIds` trait with `getRecordTimestamp()` and `getRecordDate()` helpers — safe for mixed datasets (returns null for pre-existing non-time-ordered IDs)
10
-
- New test coverage: advanced aggregations, filter context queries, DSL output inspection, point-in-time pagination, multi-match search, time-ordered IDs
11
+
- New test coverage: upsert variations, advanced aggregations, filter context queries, DSL output inspection, point-in-time pagination, multi-match search, time-ordered IDs
- Refactored Grammar into concerns: `CompilesAggregations`, `CompilesOrders`, `CompilesWheres`, `FieldUtilities`
16
+
- Decomposed `ElasticsearchModel` trait into focused traits for clarity
17
+
- Consolidated ES PHP client usage into `ElasticClient` wrapper
18
+
- Consolidated metadata handling into single `MetaDTO`
19
+
- Simplified `ManagesOptions` parameter inference
20
+
- Extracted `addFieldQuery()` dispatcher in `BuildsFieldQueries` to deduplicate field query methods
21
+
- Refactored Relations for readability: early returns, named variables, simplified loops across `MorphToMany`, `BelongsToMany`, `QueriesRelationships`, `InteractsWithPivotTable`, `ManagesManyToMany`
22
+
- Updated `ModelDocs` with comprehensive audit: corrected signatures, added missing methods, removed stale entries
15
23
- Added `declare(strict_types=1)` to all ID generation classes and traits
16
24
- Consolidated test ID strategy into `TestsWithIdStrategies` trait (removed duplicate `WithIds/` and `IdGenerated/` directories)
0 commit comments