Skip to content

Commit 4e9bef9

Browse files
committed
Update CHANGELOG.md
1 parent 041b6f3 commit 4e9bef9

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@
22

33
All notable changes to this `laravel-elasticsearch` package will be documented in this file.
44

5-
## v5.4.0 - 2026-02-15
5+
## v5.4.0 - 2026-02-21
66

77
### Added
8+
- **Auto-create index on first query** — When a model queries an index that doesn't exist yet, the index is created automatically instead of throwing `index_not_found_exception`. Matches Elasticsearch's own auto-create behavior for writes, extended to reads. Controlled via `options.auto_create_index` config (default: `true`)
9+
- **Artisan commands**`elastic:status`, `elastic:indices`, `elastic:show {index}` for connection health checks, index listing, and index inspection
810
- **`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
911
- `TimeOrderedUUIDGenerator` — sortable 20-character IDs where lexicographic order matches chronological order across processes (millisecond granularity)
1012
- `GeneratesTimeOrderedIds` trait with `getRecordTimestamp()` and `getRecordDate()` helpers — safe for mixed datasets (returns null for pre-existing non-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
13+
- Schema Builder: `getIndexes()`, `getForeignKeys()`, `getViews()` for Laravel compatibility
14+
- Test suite expanded from 379 to 422 tests (2,548 assertions), all passing. New coverage: upsert variations, advanced aggregations, filter context queries, DSL output inspection, point-in-time pagination, multi-match search, time-ordered IDs
1215

1316
### Changed
1417
- Refactored Query Builder into focused concerns: `BuildsAggregations`, `BuildsSearchQueries`, `BuildsFieldQueries`, `BuildsGeoQueries`, `BuildsNestedQueries`, `HandlesScripts`, `ManagesPit`
@@ -22,6 +25,7 @@ All notable changes to this `laravel-elasticsearch` package will be documented i
2225
- Updated `ModelDocs` with comprehensive audit: corrected signatures, added missing methods, removed stale entries
2326
- Added `declare(strict_types=1)` to all ID generation classes and traits
2427
- Consolidated test ID strategy into `TestsWithIdStrategies` trait (removed duplicate `WithIds/` and `IdGenerated/` directories)
28+
- CI updated to Elasticsearch 8.18.0
2529

2630
### Fixed
2731
- `id` is now always present in serialized model output

0 commit comments

Comments
 (0)