Skip to content

Commit bb02a92

Browse files
committed
[DOCS] Release Notes 7.14 - API Changes, changes in transport
1 parent b0618da commit bb02a92

File tree

3 files changed

+156
-0
lines changed

3 files changed

+156
-0
lines changed

CHANGELOG.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,78 @@
1+
## 7.14.0
2+
3+
### Client
4+
5+
This release changes the way in which the transport layer and the client interact. Previously, when using `elasticsearch-transport`, `Elasticsearch::Transport::Client` had a convenient wrapper, so it could be used as `Elasticsearch::Client`. Now, we are decoupling the transport layer from the Elasticsearch client. If you're using the `elasticsearch` gem, not much will change. It will instantiate a new `Elasticsearch::Transport::Client` when you instantiate `Elasticsearch::Client` and the endpoints from `elasticsearch-api` will be available.
6+
7+
`Elasticsearch::Client` has an `attr_accessor` for the transport instance:
8+
9+
```ruby
10+
> client = Elasticsearch::Client.new
11+
> client.transport.class
12+
=> Elasticsearch::Transport::Client
13+
> client.transport.transport.class
14+
=> Elasticsearch::Transport::Transport::HTTP::Faraday
15+
```
16+
17+
The interaction with `elasticsearch-api` remains unchanged. You can use the API endpoints just like before:
18+
19+
```ruby
20+
> client.info
21+
=> {"name"=>"instance",
22+
"cluster_name"=>"elasticsearch",
23+
"cluster_uuid"=>"id",
24+
"version"=>
25+
{"number"=>"7.14.0",
26+
...
27+
},
28+
"tagline"=>"You Know, for Search"}
29+
```
30+
31+
Or perform request directly from the client which will return an `Elasticsearch::Transport::Response` object:
32+
33+
```ruby
34+
> client.perform_request('GET', '/')
35+
# This is the same as doing client.transport.perform_request('GET', '/')
36+
=> #<Elasticsearch::Transport::Transport::Response:0x000055c80bf94bc8
37+
@body=
38+
{"name"=>"instance",
39+
"cluster_name"=>"elasticsearch",
40+
"cluster_uuid"=>"id",
41+
"version"=>
42+
{"number"=>"7.14.0-SNAPSHOT",
43+
...
44+
},
45+
"tagline"=>"You Know, for Search"},
46+
@headers=
47+
{"content-type"=>"application/json; charset=UTF-8",
48+
"content-length"=>"571",
49+
...
50+
},
51+
@status=200>
52+
```
53+
54+
If you have any problems, please report them in [this issue](https://github.com/elastic/elasticsearch-ruby/issues/1344).
55+
56+
### API
57+
58+
Code is now generated from Elastic artifacts instead of checked out code of Elasticsearch. See [the Generator README](https://github.com/elastic/elasticsearch-ruby/blob/7.14/elasticsearch-api/utils/README.md#generate) for more info.
59+
60+
- Endpoints `msearch`, `msearch_template` and `search_template` remove `query_and_fetch` and `dfs_query_and_fetch` options from the `search_type` parameter.
61+
- New parameter `include_repository` in `snapshot.get`: (boolean) Whether to include the repository name in the snapshot info. Defaults to true.
62+
63+
### X-Pack
64+
65+
X-Pack is being deprecated. The first time using `xpack` on the client, a warning will be triggered. Please check [this issue](https://github.com/elastic/elasticsearch-ruby/issues/1274) for more information.
66+
67+
68+
- New endpoints: `index_lifecycle_management.migrate_to_data_tiers`, `machine_learning.reset_job`, `security.saml_authenticate`, `security.saml_complete_logout`, `security.saml_invalidate`, `security.saml_logout`, `security.saml_prepare_authentication`, `security.saml_service_provider_metadata`, `sql.delete_async`, `sql.get_async`, `sql.get_async_status`, `terms_enum`.
69+
- New experimental endpoints: `machine_learning.infer_trained_model_deployment`, `machine_learning.start_trained_model_deployment`, `machine_learning.stop_trained_model_deployment`.
70+
- Deprecation: `indices.freeze` and `indices.unfreeze`: Frozen indices are deprecated because they provide no benefit given improvements in heap memory utilization. They will be removed in a future release.
71+
72+
## 7.13.3
73+
74+
- API Support for Elasticsearch version 7.13.3
75+
176
## 7.13.2
277

378
### Client

docs/release_notes/714.asciidoc

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
[[release_notes_714]]
2+
=== 7.14 Release notes
3+
4+
[discrete]
5+
==== Client
6+
7+
8+
This release changes the way in which the transport layer and the client interact. Previously, when using `elasticsearch-transport`, `Elasticsearch::Transport::Client` had a convenient wrapper, so it could be used as `Elasticsearch::Client`. Now, we are decoupling the transport layer from the Elasticsearch client. If you're using the `elasticsearch` gem, not much will change. It will instantiate a new `Elasticsearch::Transport::Client` when you instantiate `Elasticsearch::Client` and the endpoints from `elasticsearch-api` will be available.
9+
10+
`Elasticsearch::Client` has an `attr_accessor` for the transport instance:
11+
12+
[source,ruby]
13+
------------------------------------
14+
> client = Elasticsearch::Client.new
15+
> client.transport.class
16+
=> Elasticsearch::Transport::Client
17+
> client.transport.transport.class
18+
=> Elasticsearch::Transport::Transport::HTTP::Faraday
19+
------------------------------------
20+
21+
The interaction with `elasticsearch-api` remains unchanged. You can use the API endpoints just like before:
22+
23+
[source,ruby]
24+
------------------------------------
25+
> client.info
26+
=> {"name"=>"instance",
27+
"cluster_name"=>"elasticsearch",
28+
"cluster_uuid"=>"id",
29+
"version"=>
30+
{"number"=>"7.14.0",
31+
...
32+
},
33+
"tagline"=>"You Know, for Search"}
34+
------------------------------------
35+
36+
Or perform request directly from the client which will return an `Elasticsearch::Transport::Response` object:
37+
38+
[source,ruby]
39+
------------------------------------
40+
> client.perform_request('GET', '/')
41+
# This is the same as doing client.transport.perform_request('GET', '/')
42+
=> #<Elasticsearch::Transport::Transport::Response:0x000055c80bf94bc8
43+
@body=
44+
{"name"=>"instance",
45+
"cluster_name"=>"elasticsearch",
46+
"cluster_uuid"=>"id",
47+
"version"=>
48+
{"number"=>"7.14.0-SNAPSHOT",
49+
...
50+
},
51+
"tagline"=>"You Know, for Search"},
52+
@headers=
53+
{"content-type"=>"application/json; charset=UTF-8",
54+
"content-length"=>"571",
55+
...
56+
},
57+
@status=200>
58+
------------------------------------
59+
60+
If you have any problems, please report them in https://github.com/elastic/elasticsearch-ruby/issues/1344[this issue].
61+
62+
[discrete]
63+
==== API
64+
65+
Code is now generated from Elastic artifacts instead of checked out code of Elasticsearch. See https://github.com/elastic/elasticsearch-ruby/blob/7.14/elasticsearch-api/utils/README.md#generate[the Generator README] for more info.
66+
67+
- Endpoints `msearch`, `msearch_template` and `search_template` remove `query_and_fetch` and `dfs_query_and_fetch` options from the `search_type` parameter.
68+
- New parameter `include_repository` in `snapshot.get`: (boolean) Whether to include the repository name in the snapshot info. Defaults to true.
69+
70+
[discrete]
71+
==== X-Pack
72+
73+
X-Pack is being deprecated. The first time using `xpack` on the client, a warning will be triggered. Please check https://github.com/elastic/elasticsearch-ruby/issues/1274[this issue] for more information.
74+
75+
76+
- New endpoints: `index_lifecycle_management.migrate_to_data_tiers`, `machine_learning.reset_job`, `security.saml_authenticate`, `security.saml_complete_logout`, `security.saml_invalidate`, `security.saml_logout`, `security.saml_prepare_authentication`, `security.saml_service_provider_metadata`, `sql.delete_async`, `sql.get_async`, `sql.get_async_status`, `terms_enum`.
77+
- New experimental endpoints: `machine_learning.infer_trained_model_deployment`, `machine_learning.start_trained_model_deployment`, `machine_learning.stop_trained_model_deployment`.
78+
- Deprecation: `indices.freeze` and `indices.unfreeze`: Frozen indices are deprecated because they provide no benefit given improvements in heap memory utilization. They will be removed in a future release.
79+

docs/release_notes/index.asciidoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
[discrete]
66
=== 7.x
7+
* <<release_notes_714, 7.14 Release Notes>>
78
* <<release_notes_713, 7.13 Release Notes>>
89
* <<release_notes_712, 7.12 Release Notes>>
910
* <<release_notes_711, 7.11 Release Notes>>
@@ -15,6 +16,7 @@
1516
* <<release_notes_75, 7.5 Release Notes>>
1617
* <<release_notes_70, 7.0 Release Notes>>
1718

19+
include::714.asciidoc[]
1820
include::713.asciidoc[]
1921
include::712.asciidoc[]
2022
include::711.asciidoc[]

0 commit comments

Comments
 (0)