Skip to content

Releases: elastic/elasticsearch-ruby

v7.17.9

26 Sep 11:10
Compare
Choose a tag to compare
  • Backports fix from elastic-transport: #66 - Manticore transport unable to send custom headers with perform_request Pull Request.

v8.10.0

12 Sep 15:46
Compare
Choose a tag to compare

Client

  • Tested versions of Ruby for 8.10.0: Ruby (MRI) 3.0, 3.1 and 3.2. JRuby 9.3 and JRuby 9.4.

API

New Experimental APIs, for internal use:

  • fleet.delete_secret
  • fleet.get_secret
  • fleet.post_secret

New stable APIs:

  • security.get_settings - Retrieve settings for the security system indices
  • security.update_settings - Update settings for the security system indices

New Experimental API:

  • query_ruleset.list List query rulesets.

API Changes:

  • indices.reload_search_analyzers - Adds parameter resource changed resource to reload analyzers from if applicable

Promoted from Experimental to Beta:

  • security.create_cross_cluster_api_key
  • security.update_cross_cluster_api_key

Synonyms namespace update:

All synonym related APIs have been moved to the synonyms namespace and some of the endpoints have been renamed, as well as their parameters:

  • synonyms.delete => synonyms.delete_synonym - requires id, the id of the synonyms set to be deleted.
  • synonyms.get => synonyms.get_synonym - requires id, the name of the synonyms set to be retrieved.
  • synonyms_set.get_synonyms_sets => synonyms.get_synonyms_sets
  • synonyms.put => synonyms.put_synonym - requires id of the synonyms set to be created or updated.
  • synonym_rule.put => synonyms.put_synonym_rule - Parameters changed to set_id (the id of the synonym set to be updated with the synonym rule) and rule_id (the id of the synonym rule to be updated or created).
  • New Experimental API synonyms.delete_synonym_rule - Deletes a synonym rule in a synonym set
  • New Experimental API synonyms.get_synonym_rule - Retrieves a synonym rule from a synonym set

v8.9.0

26 Jul 10:14
Compare
Choose a tag to compare

Client

  • Tested versions of Ruby for 8.9.0: Ruby (MRI) 3.0, 3.1 and 3.2. JRuby 9.3 and JRuby 9.4.
  • Updated product validation. The code for the product validation was refactored in a few ways:
    • Just check header, does not check the version of the server.
    • Warns only once when there's a general server error.
    • Removes the call to '/' (client.info) when doing the first request, checking on the first actual request from the client.
  • Fixes User-Agent code. In the migration to 8.x, the user agent code was extracted into transport, since we're now using that library in other projects. So for the Elasticsearch Client, the user-agent would be reported as the one defined in elastic-transport. This release fixes the issue and brings back the user agent in the format that was being used in 7.x

Helpers

This release introduces two new Helpers in the client:

  • BulkHelper - This helper provides a better developer experience when using the Bulk API. At its simplest, you can send it a collection of hashes in an array, and it will bulk ingest them into {es}.
  • ScrollHelper - This helper provides an easy way to get results from a Scroll.

See Helpers to read more about them.

API

New APIs

  • cluster.info - Returns different information about the cluster.

New Experimental APIs and namespaces:

This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

  • New namespace: query_ruleset
    • query_ruleset.delete - Deletes a query ruleset.
    • query_ruleset.get - Returns the details about a query ruleset.
    • query_ruleset.put - Creates or updates a query ruleset.
  • New API: search_application.render_query Renders a query for given search application search parameters.
  • New API: security.create_cross_cluster_api_key - Creates a cross-cluster API key for API key based remote cluster access.
  • New API: security.upate_cross_cluster_api_key - Updates attributes of an existing cross-cluster API key.
  • New namespace: synonyms
    • synonyms.delete- Deletes a synonym set
    • synonyms.get - Retrieves a synonym set
    • synonyms.put - Creates or updates a synonyms set
  • New namespace: synonym_rule
    • synonym_rule.put - Creates or updates a synonym rule in a synonym set
  • New namespace: synonyms
    • synonyms_set.get - Retrieves a summary of all defined synonym sets

v8.8.0

25 May 11:54
Compare
Choose a tag to compare
  • Tested versions of Ruby for 8.8.0: Ruby (MRI) 3.0, 3.1 and 3.2. JRuby 9.3 and JRuby 9.4.

API

  • Updates development dependency minitest-reporters to >= 1.6 to include showing failures at the end of the test run.

New APIs

  • watcher.get_settings - Retrieve settings for the watcher system index.
  • watcher.update_settings - Update settings for the watcher system index.

New Experimental APIs

  • indices.delete_data_lifecycle- Deletes the data lifecycle of the selected data streams
  • indices.explain_data_lifecycle - Retrieves information about the index's current DLM lifecycle, such as any potential encountered error, time since creation etc.
  • indices.get_data_lifecycle - Returns the data lifecycle of the selected data streams.
  • indices.put_data_lifecycle - Updates the data lifecycle of the selected data streams.
  • search_application.delete - Deletes a search application.
  • search_application.delete_behavioral_analytics - Delete a behavioral analytics collection.
  • search_application.get - Returns the details about a search application.
  • search_application.get_behavioral_analytics - Returns the existing behavioral analytics collections.
  • search_application.list - Returns the existing search applications.
  • search_application.post_behavioral_analytics_event - Creates a behavioral analytics event for existing collection.
  • search_application.put - Creates or updates a search application.
  • search_application.put_behavioral_analytics - Creates a behavioral analytics collection.
  • search_application.search - Perform a search against a search application.

API Changes

  • clear_scroll now works with the argument ignore: 404. Issue on GitHub.
  • The code generator was updated to fix a bug for ignore: 404. APIs that were supposed to support this wouldn't parse the parameters correctly. The support it now: security.get_role, watcher.delete_watch
  • cluster.get_component_template, indices.get_data_stream, indices.get_index_template, indices.simulate_index_template, indices.simulate_template - Add include_defaults (Boolean) parameter: Return all default configurations for the component template (default: false).
  • machine_learning.put_trained_model - Adds wait_for_completion (Boolean) parameter: Whether to wait for all child operations(e.g. model download) to complete, before returning or not (default: false).
  • machine_learning.start_trained_model_deployment - Adds deployiment_id (String) parameter: The Id of the new deployment. Defaults to the model_id if not set.
  • search - Adds include_named_queries_score (Boolean) parameter: Indicates whether hit.matched_queries should be rendered as a map that includes the name of the matched query associated with its score (true) or as an array containing the name of the matched queries (false).
  • transform.delete_transform - Adds delete_dest_index (Boolean) parameter: When true, the destination index is deleted together with the transform. The default value is false, meaning that the destination index will not be deleted.

v8.7.1

02 May 14:00
Compare
Choose a tag to compare

API Bugfix

  • Updates logstash.get_pipeline, fixed in the specification id is not a required parameter, so removes raising ArgumentError when id is not present.

v8.7.0

30 Mar 14:46
Compare
Choose a tag to compare
  • Tested versions of Ruby for 8.6.0: Ruby (MRI) 2.7, 3.0, 3.1 and 3.2. JRuby 9.3 and JRuby 9.4. Ruby 2.7's end of life is coming in a few days, so this will probably be the last release to test for Ruby 2.7.

New APIs

  • health_report - Returns the health of the cluster.
  • transform.schedule_now_transform - Schedules now a transform.

API Changes

  • transform.get_transform_stats - Adds timeout (Time) parameter. Controls the time to wait for the stats.
  • transform.start_transform - Adds from (String) parameter. Restricts the set of transformed entities to those changed after this time.
  • ml.delete_job, ml.reset_job - Add delete_user_annotations (Boolean) parameter. Should annotations added by the user be deleted.
  • ml.clear_trained_model_deployment_cache, ml.infer_trained_model, ml.put_trained_model_definition_part, ml.put_trained_model_vocabulary, ml.start_trained_model_deployment, ml.stop_trained_model_deployment - These APIs are no longer in Beta.

8.6.0

10 Jan 16:46
Compare
Choose a tag to compare
  • Tested versions of Ruby for 8.6.0: Ruby (MRI) 2.7, 3.0, 3.1 and 3.2. JRuby 9.3 and JRuby 9.4.

New APIs

  • update_trained_model_deployment - Updates certain properties of trained model deployment (This functionality is in Beta and is subject to change).

API Changes

  • cluster.reroute - :metric parameter adds none as an option.
  • ml.start_trained_model_deployment - New parameter :priority (String), the deployment priority

v7.17.8

05 Sep 15:44
Compare
Choose a tag to compare
  • Patch releases back to being detached from Elastic stack releases.
  • Tested compatibility with Elasticsearch v7.17 APIs.
  • Tested versions of Ruby for 7.17.8: Ruby (MRI) 2.7, 3.0, 3.1, 3.2, JRuby 9.3, JRuby 9.4.
  • Bugfix in elasticsearch-transport: Fixes enforcing UTF-8 in Response body, causing an error when the string is frozen, particularly when using webmock: issue #63.

8.5.2

23 Nov 09:47
Compare
Choose a tag to compare

API Bugfix

Fixes security.create_service_token API, uses POST when token name isn't present.
Thanks @carlosdelest for reporting in #1961.

8.5.1

15 Nov 16:33
Compare
Choose a tag to compare

Bugfix

Fixes bug when instantiating client with api_key: When passing in api_key and transport_options that don't include headers to the client, the api_key code would overwrite the arguments passed in for transport_options. This was fixed in this Pull Request.
Thanks svdasein for reporting in #1940.