Tools & Resorces

Elastic 7.11: New versions of Ruby clients for Elastic Enterprise Search and Elasticsearch

Yesterday, Wednesday, February 10, version 7.11 of the Elastic stack was published. The stack is published together, so we have version 7.11 of Elasticsearch, Kibana, Logstash, Elastic Enterprise Search, and other products of the Elastic family. In the client team we develop the official clients for Elasticsearch and Enterprise Search, and we generally release the versions compatible with the new version on the same day or within the first 24 to 48 hours.

Each new “minor” version incorporates a ton of incredible changes. You can read more of what is added in this version in the blog post in Spanish:
Elastic 7.11 Released: Searchable Snapshots and New Cold Tier Available to the General Public, and Outline Beta During Read

It was a special day for my team when it comes to Elastic Enterprise Search clients, my first scratch project on the team and which I talk about more in this post:
Elastic Enterprise Search – official Ruby client

Until yesterday, we had published pre and beta versions up to version 7.10 of the stack. But as of version 7.11, both the Ruby client and the Python client drop the beta tag and become available to the general public (GA) 🙌🏻

They say that software is never finished, what is given is given or is abandoned. So these are just labels, we will keep working on these projects constantly. We are going to continue adding features, improving code, and more. But we have to have some kind of criteria to define when something is relatively stable to declare it “out of the testing phase”. And we did that with the team. We determined a series of requirements, and if we managed to implement them before the 7/11 date, we would remove the beta label, and it was.

I am very happy with the project. The change from beta to stable had me a little scared, but in the end I came with a good amount of changes and satisfied with the current state. The client change list is quite extensive:

  1.     All App Search, Workplace Search and Enterprise Search APIs have been implemented updated to the 7.11 specification and are tested and documented
  2.     We have a new documentation page, and the contents of the README were migrated there
  3.     Some methods changed the names of the body parameter to have the name of what is expected, in methods where it makes sense.
  4.     Added support for custom HTTP headers for each request.
  5.     Added http authentication support for OAuth.
  6.     Ruby 3 has been added to the version matrix to ensure it is compatible with the latest stable version of Ruby
  7.     The X-Elastic-Client-Meta HTTP header used by Elastic Cloud is sent, and can be disabled with the enable_meta_header parameter.
  8.     Added support for signed search keys in App Search
  9.     The content_source_key parameter changed to content_source_id in Workplace Search
  10.     Support for OAuth was added. With OAuth support, the search and create_analytics APIs are available in Workplace Search.

Official Elasticsearch client versions were also released. In Ruby’s case:

    elasticsearch-ruby 6.8.3
    elasticsearch-ruby 7.11.0

In the links is the list of changes 🥳

I am super happy with the work done so far. Elasticsearch and Enterprise Search are top-notch products and it’s great to work with these kinds of technologies, writing Ruby 😊