All Versions
Latest Version
Avg Release Cycle
67 days
Latest Release

Changelog History
Page 1

  • v8.4.0 Changes


    • get, mget and search added force_synthetic_source: Should this request force synthetic _source? Use this to test if the mapping supports synthetic _source and to get a sense of the worst case performance. Fetches with this enabled will be slower the enabling synthetic source natively in the index.
    • ๐Ÿš€ ML.StartTrainedModelDeployment added cache_size: A byte-size value for configuring the inference cache size. For example, 20mb.
    • Snapshot.Get added sort, size, order, from_sort_value, after, offset and slm_policy_filter. More on these in the documentation.

    ๐Ÿ†• New API

    Typed API

    ๐Ÿš€ As highlighted in the release not for the 8.4.0-alpha.1, this release marks the beginning of the newly arrived TypedClient.

    ๐Ÿš€ This new API is still in alpha stage and will be release alongside the existing esapi.

    ๐Ÿ“š A few examples of standard use-cases can be found in the TypedAPI section of the documentation.

  • v8.4.0-alpha.2 Changes

    ๐Ÿš€ This second prerelease of the 8.4.0 updates the API for the client and fixes the serialization for types using additional properties.

  • v8.4.0-alpha.1 Changes

    ๐Ÿš€ This prerelease introduces a new typed API generated from the elasticsearch-specification. This generation from the common specification allows us to provide a complete API which uses an exhaustive hierarchy of types reflecting the possibilities given by Elasticsearch.

    ๐Ÿš€ This new API is the next iteration of the Go client for Elasticsearch, it now lives alongside the existing API, it is in alpha state and will gain features over time and releases.

    What's new

    ๐Ÿ— The TypedClient is built around a fluent builder for easier request creation and a collection of structures and helpers that mimics as closely as possible the Elasticsearch JSON API.

    As a first example, here is a search request:

    cfg := elasticsearch.Config{
    // Define your configuration
    es, _ := elasticsearch.NewTypedClient(cfg)
    res, err := es.Search().
    Query: &types.QueryContainer{
    Match: map[types.Field]types.MatchQuery{
    "name": {Query: "Foo"},

    ๐Ÿ— The Request uses the structures found in the typedapi/types package which will lead you along the possibilities. A builder for each structure that allows easier access and declaration is also provided.

    ๐Ÿ“š More on the specifics and a few examples of standard use-cases can be found in the TypedAPI section of the documentation.


    ๐Ÿš€ While most of the endpoints are covered, a few points are still being worked on and will be part of future releases:

    • NDJSON endpoints: bulk, msearch, msearch_template, ML.post_data, find_structure, to name a few.
    • Response and Errors structures with deserialization.

    Transport & config

    ๐Ÿ”ง While being different, the new API uses all the existing layers that were built so far, elastic-transport-go remains the preferred transport and all your configuration and credentials applies, same as before.


    Feedback is very welcome, play with it, use it, let us know what you think!

  • v8.3.0 Changes


    • ๐Ÿš€ ML.InferTrainedModelDeployment renamed to InferTrainedModel
    • ๐Ÿ“š ML.PreviewDatafeed has two new parameters, start and end. Documentation
    • ML.StartTrainedModelDeployment has three new parameters, number_of_allocations, threads_per_allocation and queue_capacity. Documentation
    • Cluster.DeleteVotingConfigExclusions has a new master_timeout parameter.
    • Cluster.PostVotingConfigExclusions has a new master_timeout parameter.
    • 0๏ธโƒฃ Snapshot.Get has a new index_names parameters (boolean). Whether to include the name of each index in the snapshot. Defaults to true.

    ๐Ÿ†• New APIs

    • ๐Ÿ“š Security.HasPrivilegesUserProfile (Experimental API) Documentation
  • v8.2.0 Changes


    • Fixed a serialisation error for retry_on_conflict in the BulkIndexer. Thanks to @lpflpf for the help!
    • ๐Ÿ›  Fixed a concurrent map error in the BulkIndexer when custom headers are applied. Thanks to @chzhuo for the contribution!


    ๐Ÿ†• New APIs

    • Cat.ComponentTemplates
    • ๐Ÿ“š ML.GetMemoryStats documentation

    • ๐Ÿ“š Security.activateUserProfile (Experimental API) Documentation

    • ๐Ÿ“š Security.disableUserProfile (Experimental API) Documentation

    • ๐Ÿ“š Security.enableUserProfile (Experimental API) Documentation

    • ๐Ÿ“š Security.getUserProfile (Experimental API) Documentation

    • ๐Ÿ“š Security.suggestUserProfiles (Experimental API) Documentation

    • ๐Ÿ“š Security.updateUserProfileData (Experimental API) Documentation

  • v8.1.0 Changes


    • API is generated from the Elasticsearch 8.1.0 specification.

    ๐Ÿ†• New parameters

    • WithWaitForCompletion for Indices.Forcemerge
    • WithFeatures for Indices.Get
    • WithForce for ML.DeleteTrainedModel

    ๐Ÿ†• New APIs

    • ๐Ÿ“š OidcAuthenticate, OidcLogout and OidcPrepareAuthentication see documentation
    • TransformResetTransform
  • v8.0.0 Changes


    • The client now uses elastic-transport-go dependency which lives in its own repository.
    • With the knewly extracted transport, the retryOnTimeout has been replaced with a retryOnError callback. This allows to select more finely which error should be retried by the client.
    • BulkIndexerItem Body field is now an io.ReadSeeker allowing reread without increasing memory consumption.
    • BulkIndexerItem know correctly uses the routing property instead of the deprecated _routing.


    • API is generated from the Elasticsearch 8.0.0 specification.
  • v7.10.0 Changes

    November 12, 2020
    • โšก๏ธ Updated APIs for Elasticsearch 7.10
    • ๐Ÿ›  Fixed capitalization of UUID values
  • v7.9.0 Changes

    August 19, 2020
    • โšก๏ธ Updated APIs for Elasticsearch 7.9
    • Util: Reinstate item.Body after it is consumed in BulkIndexer
    • Transport: Fix memory leak when retrying 5xx responses
    • ๐Ÿ›  Fixes and improvements to the test generator
  • v7.8.0 Changes

    June 18, 2020
    • โšก๏ธ Updated APIs for Elasticsearch 7.8.0