Skip to content

Releases: matchory/elasticsearch

Version 3.0.0 (Beta 2)

17 Feb 14:33
Immutable release. Only release title and notes can be modified.
add9901

Choose a tag to compare

Pre-release

Changelog

Added

  • Connection health check: New ping() method on Connection to check Elasticsearch connectivity
  • Retry logic: New retry($attempts, $delay) method for automatic retry with exponential backoff on transient failures
  • Bulk batching: The bulk() method now accepts an optional $batchSize parameter to automatically chunk large operations
  • Query profiling: New profile() method to enable Elasticsearch query profiling for debugging
  • Cache logging: Cache read/write failures are now logged instead of silently ignored
  • Fuzzy search: New fuzzy($field, $value, $fuzziness) method for typo-tolerant search
  • Match phrase: New matchPhrase($field, $value, $slop) method for exact phrase matching
  • Match phrase prefix: New matchPhrasePrefix($field, $value) method for autocomplete-style prefix searches
  • Min score filter: New minScore($score) method to filter out low-relevance results
  • Search after pagination: New searchAfter($sortValues) method for efficient deep pagination using cursor-based approach
  • Track total hits: New trackTotalHits($track) method to control total hit counting for performance optimization
  • Completion suggester: New suggest($name, $text, $field) method for autocomplete functionality with context and fuzzy support
  • Term suggester: New suggestTerm($name, $text, $field) method for spelling correction suggestions
  • Bulk update by query: New updateByQuery($script, $params) method to update all documents matching a query
  • Bulk delete by query: New deleteByQuery() method to delete all documents matching a query
  • Fluent aggregation helpers:
    • termsAgg($name, $field, $size) - Terms bucket aggregation
    • avgAgg($name, $field) - Average metric aggregation
    • sumAgg($name, $field) - Sum metric aggregation
    • minAgg($name, $field) - Minimum metric aggregation
    • maxAgg($name, $field) - Maximum metric aggregation
    • cardinalityAgg($name, $field) - Cardinality (distinct count) aggregation
    • valueCountAgg($name, $field) - Value count aggregation
    • statsAgg($name, $field) - Stats (min, max, sum, count, avg) aggregation
    • dateHistogramAgg($name, $field, $interval) - Date histogram bucket aggregation
    • histogramAgg($name, $field, $interval) - Numeric histogram bucket aggregation
    • rangeAgg($name, $field, $ranges) - Range bucket aggregation
    • filterAgg($name, $filter) - Filter bucket aggregation
    • subAgg($parentName, $childName, $config) - Sub-aggregation support
  • OR conditions: New orWhere($field, $operator, $value) method for OR query logic using Elasticsearch's should clause
  • Should clause: New should($type, $parameters) method for direct access to bool query should clauses
  • Minimum should match: New minimumShouldMatch($minimum) method to control how many should clauses must match
  • Field exclusion: New except(...$fields) method to exclude specific fields from results (clearer alternative to unselect())
  • Limit alias: New limit($count) method as an alias for take() matching Laravel Eloquent's API

Changed

  • BREAKING: Renamed Query class to Builder for consistency with Laravel Eloquent naming conventions
  • BREAKING: ScoutEngine now uses ConnectionManager for client creation, respecting all connection configuration
  • Scout search now uses simple_query_string instead of query_string for safer user input handling
  • Cache key generation now includes the application key for improved security
  • Cache key generation uses print_r() fallback instead of expensive serialize()

Removed

  • BREAKING: Removed deprecated Request class
  • BREAKING: Removed deprecated static methods from Connection:
    • setConnectionResolver()
    • configureLogging()
    • create()
    • connection()
    • isLoaded()
  • BREAKING: Removed static $resolver and $clients properties from Connection
  • BREAKING: Removed support for deprecated es.php config file (use elasticsearch.php)
  • BREAKING: Removed deprecated es container alias (use elasticsearch)
  • BREAKING: Removed deprecated ignore() method from Index (use ignores())
  • Removed deprecated $connection parameter from Connection::newQuery()

Fixed

  • ScoutEngine now consistently uses getTotalCount() for total count extraction in map() and lazyMap() methods
  • Index class no longer exposes internal properties publicly

Deprecated

  • The following Index properties are now private and should be accessed via methods:
    • $callback
    • $connection
    • $ignores
    • $mappings
    • $name
    • $replicas
    • $shards
    • $aliases
  • from($offset) method is deprecated, use skip($offset) instead for Eloquent compatibility
  • size($limit) method is deprecated, use take($limit) or limit($limit) instead for Eloquent compatibility
  • unselect(...$fields) method is deprecated, use except(...$fields) instead for better clarity

Full Changelog: 3.0.0-beta.1...3.0.0-beta.2

Version (3.0.0 Beta 1)

02 Sep 09:05
1c98375

Choose a tag to compare

Pre-release

Changelog

  • Chore: Bump dependencies

Full Changelog: 3.0.0-beta.0...3.0.0-beta.1

Version 3.0.0-beta.0

26 Aug 19:27
57c6ab4

Choose a tag to compare

Version 3.0.0-beta.0 Pre-release
Pre-release

Changelog

  • Fix: Modern Eloquent Attribute accessors and mutators would not work with Elasticsearch Model instances due to the way attributes were implemented. This has been fixed.
  • Chore: Bumped dependencies

Full Changelog: 3.0.0-alpha.13...3.0.0-beta.0

Version 3.0.0 (Alpha 13)

06 May 13:08
f5c9768

Choose a tag to compare

Pre-release

Changelog

  • Feature: Removed Lumen support. We don't use it, and supporting it has become a burden.
  • Fix: Laravel introduced changes to their trait booting behaviour that broke the package.

Full Changelog: 3.0.0-alpha.12...3.0.0-alpha.13

Version 3.0.0 (Alpha 12)

11 Apr 11:10
152069d

Choose a tag to compare

Pre-release

Changelog

Full Changelog: 3.0.0-alpha.11...3.0.0-alpha.12

Version 3.0.0 (Alpha 11)

11 Mar 14:11
8e6b636

Choose a tag to compare

Pre-release

Changelog

  • Chore: Added support for Laravel 12, removed support for Laravel 9
  • Chore: Improved tooling

Version 3.0.0 (Alpha 10) Pre-release

13 Feb 16:38
9c1d7be

Choose a tag to compare

Pre-release

Change log

  • Fix: Fixed deprecation warnings in PHP 8.4

Version 3.0.0 (Alpha 9)

11 Jun 10:30
5eaac70

Choose a tag to compare

Pre-release

Changelog

  • Fix: Logging channel configuration would not be applied due to a dependency resolution issue

Full Changelog: 3.0.0-alpha.8...3.0.0-alpha.9

Version 3.0.0 (Alpha 8)

15 May 11:41
a2f3bc6

Choose a tag to compare

Pre-release

Changelog

  • Fix: The index option would not be removed from the client config before building

Version 3.0.0 (Alpha 7)

15 May 06:34
91a7e23

Choose a tag to compare

Pre-release

Change log

  • Fix: Calls to methods that don't exist on either model or query would lead to recursive call forwarding
  • Fix: Improved deprecations to point to proper origin
  • Chore: Removed deprecated code and updated tests
  • Chore: Introduced more static typing