NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules
Last release 2 months ago
04 Aug 2026
Release timing varies
gaps range from 9 days to 4 months
Nearly every release is documented
notes for 34 of 35 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
508 releases · first in 2019
Typed API: Update 8.19 client to spec c799312
client: (*elasticsearch.Client).ToTyped() is removed. Use elasticsearch.NewTypedFrom(c) instead.
One column per quarter.
gen: Accept bool form for deprecated in URL parts and paths
Typed API: update client from spec 6ee016a
bulk_indexer: Enable instrumentation support in bulk index requests
Expose FlushedMs metric in BulkIndexer
Add queue size multiplier config to BulkIndexer
Nothing published for this version
Update TypedAPI to latest elasticsearch-specification 8.19
Nothing published for this version
This patch release fixes the broken build found in 8.18.0. If you are using the TypedClient, you should update to this version.
TypedClient, you should update to this version.Nothing published for this version
Update elastictransport to 8.7.0.
elastictransport to 8.7.0.TypedClient can now be used in the BulkIndexer.BaseClient constructor with no attached APIs, allowing it to be used purely as a transport layer instead of a full-featured API client.baseClient, err := elasticsearch.NewBaseClient(elasticsearch.Config{
Addresses: []string{
"http://localhost:9200",
},
})
if err != nil {
log.Println(err)
return
}
res, err := esapi.InfoRequest{
Pretty: false,
Human: false,
ErrorTrace: false,
FilterPath: nil,
Header: nil,
Instrument: baseClient.InstrumentationEnabled(),
}.Do(context.Background(), baseClient)
if err != nil {
log.Println(err)
return
}
defer res.Body.Close()
if res.IsError() {
log.Println("Error response:", res)
return
}
var infoMap map[string]interface{}
if err := json.NewDecoder(res.Body).Decode(&infoMap); err != nil {
log.Println("Error parsing response:", err)
return
}
log.Printf("Elasticsearch version esapi: %s\n", infoMap["version"].(map[string]interface{})["number"])
typedRes, err := info.New(baseClient).Do(context.Background())
if err != nil {
log.Println(err)
return
}
log.Printf("Elasticsearch version typedapi: %s\n", typedRes.Version.Int)
Nothing published for this version
Update elastictransport to 8.6.1 fixes #912
Thanks to @AkisAya and @jmfrees for their contributions!
Nothing published for this version
Expose BulkIndexer total flushed bytes metric #914 thanks to @aureleoules
Updated APIs to 8.17.0
Update APIs to latest elasticsearch-specification 8.17
Nothing published for this version
Nothing published for this version
InferenceStreamInference Documentation
InferenceStreamInference DocumentationQueryRulesTest DocumentationIngest.DeleteIPLocationDatabase DocumentationIngest.GetIPLocationDatabase DocumentationIngest.PutIPLocationDatabase DocumentationUpdate APIs to latest elasticsearch-specification 8.16
Nothing published for this version
Nothing published for this version
API is generated from the Elasticsearch 8.15.0 specification.
Update APIs to latest elasticsearch-specification 8.15
Nothing published for this version
ConnectorUpdateActiveFiltering Documentation
New APIs:
New APIs:
Nothing published for this version
Nothing published for this version
Update APIs to latest elasticsearch-specification 8.13
Update APIs to latest elasticsearch-specification 8.13
This patch release brings a fix to the initialisation of the Request in endpoints which would prevent using the shortcuts for fields.
Canonical.Request() method was unaffected.
Autoscaling.PutAutoscalingPolicyIndices.DownsampleIndices.PutSettingsIndices.SimulateTemplateInference.PutModelLogstash.PutPipelineMl.ValidateDetectorSearchApplication.PutConnectorUpdateAPIKeyDocumentID
New APIS:
ConnectorSecretGet
ConnectorSecretPost
ConnectorSecretPut
ConnectorSecretDelete
ConnectorUpdateIndexName
ConnectorUpdateNative
ConnectorUpdateStatus
ConnectorUpdateAPIKeyDocumentID
ConnectorUpdateServiceDocumentType
EsqlAsyncQuery Documentation
EsqlAsyncQueryGet Documentation
ProfilingFlamegraph Documentation
ProfilingStacktraces Documentation
TextStructureTestGrokPattern Documentation
Indices.ResolveCluster Documentation
Security.QueryUser Documentation
indices.ResolveCluster Documentationtextstructure.TestGrokPattern DocumentationThanks to @pakio, transport now has an optional pool based compression option. https://github.com/elastic/elastic-transport-go/pull/19
And to @tblyler for fixing a very subtle memory leak in the BulkIndexer. #797
Nothing published for this version
Nothing published for this version
Fix: ticker memory leak in bulk indexer due to internal flush call resetting the ticker. #797
Many thanks to @tblyler, @frkntplglu and @HaraldNordgren for their contribution!
Nothing published for this version
Nothing published for this version
The client now requires Golang version 1.20
The client now requires Golang version 1.20
The client now provides OpenTelemetry integration. This integration can be enabled in the config using the elasticsearch.NewOpenTelemetryInstrumentation.
Once set up, the provided context will be used to record spans with useful information about the request being made to the server.
More about what you can expect in the Semantic Conventions for Elasticsearch.
if_seq_no & if_primary_term are now supported thanks to @benjyiw #783
SimulateIngestConnectorCheckInConnectorDeleteConnectorGetConnectorLastSyncConnectorListConnectorPostConnectorPutConnectorSyncJobCancelConnectorSyncJobCheckInConnectorSyncJobDeleteConnectorSyncJobErrorConnectorSyncJobGetConnectorSyncJobListConnectorSyncJobPostConnectorSyncJobUpdateStatsConnectorUpdateConfigurationConnectorUpdateErrorConnectorUpdateFilteringConnectorUpdateNameConnectorUpdatePipelineConnectorUpdateSchedulingEsql.Query documentationFleet.PostSecretInference documentation
DeleteModel documentationGetModel documentationInference documentationPutModel documentationSearchApplication
GetSettings documentationUpdateSettings documentationNothing published for this version
Fix https://github.com/elastic/go-elasticsearch/issues/756 preventing from settings indices in indices.PutSettings
indices.PutSettingsNothing published for this version
Nothing published for this version
InferenceDeleteModel documentation
Experimental APIs
EsqlQuery documentationInferenceDeleteModel documentationInferenceGetModel documentationInferenceInference documentationInferencePutModel documentationStarting from version 8.12.0, this library follow the Go language policy. Each major Go release is supported until there are two newer major releases. For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release.
If you have any questions or concerns, please do not hesitate to reach out to us.
Nothing published for this version
Update APIs to latest elasticsearch-specification 8.10
Update APIs to latest elasticsearch-specification 8.10
Nothing published for this version
Experimental APIs for internal use
Experimental APIs for internal use
FleetDeleteSecretFleetGetSecretFleetPostSecretExprimental APIs
QueryRulesetList
Stable APIs
Security.GetSettings
Security.UpdateSettings
Exprimental APIs
QueryRuleset.List
Technical Preview
Beta
Nothing published for this version
Nothing published for this version
QueryRulesetDelete Documentation
New API
Cluster.Info DocumentationExperimental APIs
QueryRulesetGet DocumentationQueryRulesetDelete DocumentationQueryRulesetPut DocumentationSearchApplicationRenderQuery DocumentationSecurity.CreateCrossClusterAPIKey DocumentationSecurity.UpdateCrossClusterAPIKey Documentationcore.exists.core.bulk.fixes
Property & Analyzer #696Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixed deserialization for Suggest in search responses.
Suggest in search responses.core.Get response when the index did not exist. #678Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Watcher.GetSettings Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/8.8/watcher-api-get-settings.html
New APIs
Watcher.GetSettings Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/8.8/watcher-api-get-settings.htmlWatcher.UpdateSettings Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/8.8/watcher-api-update-settings.htmlExperimental APIs
ML.DeleteDataLifecycle Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/8.8/dlm-delete-lifecycle.html
ML.ExplainDataLifecycle Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/8.8/dlm-explain-lifecycle.html
ML.GetDataLifecycle Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/8.8/dlm-get-lifecycle.html
ML.PutDataLifecycle Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/8.8/dlm-put-lifecycle.html
SearchApplications https://www.elastic.co/guide/en/elasticsearch/reference/8.8/search-application-apis.html
Nothing published for this version
Nothing published for this version
This release include fixes for responses deserialization. #654 #655
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →