Skip to content

Upgrading elasticsearch 7 to 8

Breaking7.17.11 → 8.19.3Breaking18Deprecated1New172Changed41Fixed1Other7

Fetching 38 releases from GitHub…17 / 38
BreakingUpgrade verdict

18 breaking changes.

  • The timeout option is gone from this call, and a new cause option lets you state why the template is created.
  • The method for streaming completion inference has a new name, so existing calls must be updated.
  • Calls passing these timeout options to the lifecycle management APIs will no longer accept them.
  • Calls to the rollover API can no longer pass the target_failure_store option.
Top 4 of 19 that need code or config changes

Ruby requirement changed in 8.0.0.pre1: >= 2.4 → >= 2.5.

Breaking18
Removes timeout parameter from cluster.put_component_template and adds cause parameter.
cluster.put_component_templatetimeoutcause
Renames inference.stream_inference to inference.stream_completion for streaming completion inference.
inference.stream_inferenceinference.stream_completion
Removes :master_timeout and :timeout parameters from several index_lifecycle_management APIs.
index_lifecycle_management.delete_lifecycleindex_lifecycle_management.explain_lifecycleindex_lifecycle_management.get_lifecycleindex_lifecycle_management.put_lifecycleindex_lifecycle_management.startindex_lifecycle_management.stopmaster_timeouttimeout
Removes target_failure_store parameter from indices.rollover.
indices.rollovertarget_failure_store
Removes :master_timeout and :timeout parameters from ingest geoip and ip location database APIs.
ingest.delete_geoip_databaseingest.delete_ip_location_databaseput_geoip_databaseput_ip_location_databasemaster_timeouttimeout
license.post_start_trial removes the timeout parameter.
license.post_start_trialtimeout
async_search.submit removes the keep_alive parameter and adds ccs_minimize_roundtrips and rest_total_hits_as_int.
async_search.submitkeep_aliveccs_minimize_roundtripsrest_total_hits_as_int
cluster.stats removes the flat_settings parameter and adds an include_remotes boolean parameter.
cluster.statsflat_settingsinclude_remotes
Renames inference.delete_model, inference.get_model and inference.put_model to inference.delete, inference.get and inference.put.
inference.delete_modelinference.deleteinference.get_modelinference.getinference.put_modelinference.putdry_runforce
Consolidates query_ruleset and query_rules APIs into the query_rules namespace with renamed and new methods.
query_rules.delete_rulesetquery_rules.delete_rulequery_rules.get_rulequery_rules.get_rulesetquery_rules.list_rulesetsquery_rules.put_rulequery_rules.put_rulesetquery_ruleset
Renames :model_id parameter to :inference_id in inference.delete_model, inference.get_model, inference.inference and inference.put_model.
inference.delete_modelinference.get_modelinference.inferenceinference.put_modelmodel_idinference_id
ml.infer_trained_model_path now uses /_ml/trained_models/{model_id}/_infer instead of the deprecated deployment path, changing the response shape.
ml.infer_trained_model_path
Makes the :body parameter required in several APIs.
bodyclose_point_in_timefleet.searchgraph.exploreindex_lifecycle_management.move_to_stepindex_lifecycle_management.put_lifecycleindices.analyzeindices.shrink
Adds :timeout to indices.resolve_cluster and makes :name optional.
indices.resolve_clustertimeoutname
Makes body optional instead of required for cluster.allocation_explain.
cluster.allocation_explainbody
Migrates all Connector APIs to the common connector namespace, renaming connector_secret and connector_sync_job methods.
connector_secret.deleteconnector.secret_deleteconnector_secret.getconnector.secret_getconnector_sync_job.cancelconnector.sync_job_cancelconnector_sync_job.postconnector.sync_job_post
Makes the inference_id parameter optional for inference.get_model.
inference.get_modelinference_id
Makes body and connector_id optional instead of required for the experimental connector.put API.
connector.putbodyconnector_id
Deprecated1
Deprecates termvector in favor of the plural termvectors.
termvectortermvectors

Generated by DepDelta from published Ruby source. Not mixed with prose notes.

  • removed: const Elasticsearch.NOT_SUPPORTED_ELASTICSEARCH_WARNING
  • removed: const Elasticsearch.YOU_KNOW_FOR_SEARCH
  • added: const Elasticsearch.VALIDATION_WARNING
  • removed: property Client.transport: accessor
  • added: const Client.DEFAULT_CLOUD_PORT
  • added: module Helpers
  • added: class BulkHelper
  • added: class ScrollHelper
  • added: constructor BulkHelper(_, _, _ = …)
  • added: constructor ScrollHelper(_, _, _, _ = …)
  • added: method BulkHelper.delete(_, _ = …, _ = …)
  • added: method BulkHelper.ingest(_, _ = …, _ = …)
  • added: method BulkHelper.ingest_json(_, _ = …)
  • added: method BulkHelper.update(_, _ = …, _ = …)
  • added: method ScrollHelper.clear()
  • added: method ScrollHelper.each()
  • added: method ScrollHelper.results()
  • added: module ESQLHelper
  • added: property BulkHelper.index: accessor
  • added: static method ESQLHelper.query(_, _, _ = …, parser: …)