Skip to content

Commit 0976fd3

Browse files
committed
[DOCS] Release notes for 8.0.0
1 parent 8ccb7ba commit 0976fd3

File tree

3 files changed

+132
-0
lines changed

3 files changed

+132
-0
lines changed

CHANGELOG.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,67 @@
1+
## 8.0.0
2+
3+
First release for the `8.x` branch with a few major changes.
4+
5+
- Tested versions of Ruby for 8.0.0: Ruby (MRI) 2.6, 2.7, 3.0 and 3.1, JRuby 9.3.
6+
7+
### Client
8+
9+
#### Elastic Transport
10+
11+
The code for the dependency `elasticsearch-transport` has been promoted to [its own repository](https://github.com/elastic/elastic-transport-ruby/) and the project and gem have been renamed to [`elastic-transport`](https://rubygems.org/gems/elastic-transport). This gem now powers [`elasticsearch`](https://rubygems.org/gems/elasticsearch) and [`elastic-enterprise-search`](https://rubygems.org/gems/elastic-enterprise-search). The `elasticsearch-transport` gem won't be maintained after the last release in the `7.x` branch, in favour of `elastic-transport`.
12+
13+
This will allow us to better address maintainance in both clients and the library itself.
14+
15+
### API
16+
17+
The `elasticsearch-api` library has been generated based on the Elasticsearch 8.0.0 REST specification.
18+
19+
#### X-Pack Deprecation
20+
21+
X-Pack has been deprecated. The `elasticsearch-xpack` gem will no longer be maintained after the last release in the `7.x` branch. The "X-Pack" integration library codebase was merged into `elasticsearch-api`. All the functionality is available from `elasticsearch-api`. The `xpack` namespace was removed for accessing any APIs other than `_xpack` (`client.xpack.info`) and `_xpack/usage` (`client.xpack.usage`). But APIs which were previously available through the `xpack` namespace e.g.: `client.xpack.machine_learning` are now only available directly: `client.machine_learning`.
22+
23+
#### Parameter checking was removed
24+
25+
The code in `elasticsearch-api` will no longer validate all the parameters sent. It will only validate the required parameters such as those needed to build the path for the request. But other API parameters are going to be validated by Elasticsearch. This provides better forwards and backwards compatibility in the client.
26+
27+
#### Response object
28+
29+
In previous versions of the client, calling an API endpoint would return the JSON body of the response. With `8.0`, we are returning a new Response object `Elasticsearch::API::Response`. It still behaves like a Hash to maintain backwards compatibility, but adds the `status` and `headers` methods from the `Elastic::Transport:Transport::Response` object:
30+
31+
```ruby
32+
elastic_ruby(main)> response = client.info
33+
=> #<Elasticsearch::API::Response:0x000055752b0c50a8
34+
@response=
35+
#<Elastic::Transport::Transport::Response:0x000055752b0c50f8
36+
@body=
37+
{"name"=>"instance",
38+
"cluster_name"=>"elasticsearch-8-0-0-SNAPSHOT-rest-test",
39+
"cluster_uuid"=>"oIfRARuYRGuVYybjxQJ87w",
40+
"version"=>
41+
{"number"=>"8.0.0-SNAPSHOT",
42+
"build_flavor"=>"default",
43+
"build_type"=>"docker",
44+
"build_hash"=>"7e23c54eb31cc101d1a4811b9ab9c4fd33ed6a8d",
45+
"build_date"=>"2021-11-04T00:21:32.464485627Z",
46+
"build_snapshot"=>true,
47+
"lucene_version"=>"9.0.0",
48+
"minimum_wire_compatibility_version"=>"7.16.0",
49+
"minimum_index_compatibility_version"=>"7.0.0"},
50+
"tagline"=>"You Know, for Search"},
51+
@headers={"X-elastic-product"=>"Elasticsearch", "content-type"=>"application/json", "content-length"=>"567"},
52+
@status=200>>
53+
elastic_ruby(main)> response.status
54+
=> 200
55+
elastic_ruby(main)> response.headers
56+
=> {"X-elastic-product"=>"Elasticsearch", "content-type"=>"application/json", "content-length"=>"567"}
57+
elastic_ruby(main)> response['name']
58+
=> "instance"
59+
elastic_ruby(main)> response['tagline']
60+
=> "You Know, for Search"
61+
```
62+
63+
Please [let us know if you find any issues](https://github.com/elastic/elasticsearch-ruby/issues).
64+
165
## 7.17.0
266

367
- Drops Ruby 2.5 from the test matrix. Support for Ruby 2.5 was dropped March 2021.

docs/release_notes/80.asciidoc

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
[[release_notes_80]]
2+
=== 8.0 Release notes
3+
4+
First release for the 8.x branch with a few major changes.
5+
6+
- Tested versions of Ruby for 8.0.0: Ruby (MRI) 2.6, 2.7, 3.0 and 3.1, JRuby 9.3.
7+
8+
[discrete]
9+
==== Client
10+
11+
The code for the dependency `elasticsearch-transport` has been promoted to https://github.com/elastic/elastic-transport-ruby[its own repository] and the project and gem have been renamed to https://rubygems.org/gems/elastic-transport[`elastic-transport`]. This gem now powers https://rubygems.org/gems/elasticsearch[`elasticsearch`] and https://rubygems.org/gems/elastic-enterprise-search[`elastic-enterprise-search`]. The `elasticsearch-transport` gem won't be maintained after the last release in the `7.x` branch, in favour of `elastic-transport`.
12+
13+
This will allow us to better address maintainance in both clients and the library itself.
14+
15+
[discrete]
16+
==== API
17+
18+
The `elasticsearch-api` library has been generated based on the {es} 8.0.0 REST specification.
19+
20+
#### X-Pack Deprecation
21+
22+
X-Pack has been deprecated. The `elasticsearch-xpack` gem will no longer be maintained after the last release in the `7.x` branch. The "X-Pack" integration library codebase was merged into `elasticsearch-api`. All the functionality is available from `elasticsearch-api`. The `xpack` namespace was removed for accessing any APIs other than `_xpack` (`client.xpack.info`) and `_xpack/usage` (`client.xpack.usage`). But APIs which were previously available through the `xpack` namespace e.g.: `client.xpack.machine_learning` are now only available directly: `client.machine_learning`.
23+
24+
#### Parameter checking was removed
25+
26+
The code in `elasticsearch-api` will no longer validate all the parameters sent. It will only validate the required parameters such as those needed to build the path for the request. But other API parameters are going to be validated by {es}. This provides better forwards and backwards compatibility in the client.
27+
28+
#### Response object
29+
30+
In previous versions of the client, calling an API endpoint would return the JSON body of the response. With `8.0`, we are returning a new Response object `Elasticsearch::API::Response`. It still behaves like a Hash to maintain backwards compatibility, but adds the `status` and `headers` methods from the `Elastic::Transport:Transport::Response` object:
31+
32+
```ruby
33+
elastic_ruby(main)> response = client.info
34+
=> #<Elasticsearch::API::Response:0x000055752b0c50a8
35+
@response=
36+
#<Elastic::Transport::Transport::Response:0x000055752b0c50f8
37+
@body=
38+
{"name"=>"instance",
39+
"cluster_name"=>"elasticsearch-8-0-0-SNAPSHOT-rest-test",
40+
"cluster_uuid"=>"oIfRARuYRGuVYybjxQJ87w",
41+
"version"=>
42+
{"number"=>"8.0.0-SNAPSHOT",
43+
"build_flavor"=>"default",
44+
"build_type"=>"docker",
45+
"build_hash"=>"7e23c54eb31cc101d1a4811b9ab9c4fd33ed6a8d",
46+
"build_date"=>"2021-11-04T00:21:32.464485627Z",
47+
"build_snapshot"=>true,
48+
"lucene_version"=>"9.0.0",
49+
"minimum_wire_compatibility_version"=>"7.16.0",
50+
"minimum_index_compatibility_version"=>"7.0.0"},
51+
"tagline"=>"You Know, for Search"},
52+
@headers={"X-elastic-product"=>"Elasticsearch", "content-type"=>"application/json", "content-length"=>"567"},
53+
@status=200>>
54+
elastic_ruby(main)> response.status
55+
=> 200
56+
elastic_ruby(main)> response.headers
57+
=> {"X-elastic-product"=>"Elasticsearch", "content-type"=>"application/json", "content-length"=>"567"}
58+
elastic_ruby(main)> response['name']
59+
=> "instance"
60+
elastic_ruby(main)> response['tagline']
61+
=> "You Know, for Search"
62+
```
63+
64+
Please https://github.com/elastic/elasticsearch-ruby/issues[let us know if you find any issues].

docs/release_notes/index.asciidoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
[[release_notes]]
22
== Release Notes
33

4+
[discrete]
5+
=== 8.x
6+
* <<release_notes_80, 8.0 Release Notes>>
47

58
[discrete]
69
=== 7.x
@@ -19,6 +22,7 @@
1922
* <<release_notes_75, 7.5 Release Notes>>
2023
* <<release_notes_70, 7.0 Release Notes>>
2124

25+
include::80.asciidoc[]
2226
include::717.asciidoc[]
2327
include::716.asciidoc[]
2428
include::715.asciidoc[]

0 commit comments

Comments
 (0)