aerospike 2.23.0 → 2.25.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -2,524 +2,579 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [2.25.0] 2022-11-28
6
+
7
+ - **New Features**
8
+
9
+ - [CLIENT-1362] Adds support Aerospike Expression filters. Expression filters are now supported on all commands, including `Client#get`, `Client#put`, `Client#delete`, `Client#operate`, `Client#scan`, `Client#query`, `Client#execute_udf`, etc.
10
+
11
+ - Adds `Policy#filter_exp` and `Policy#fail_on_filtered_out`
12
+
13
+ - Bit expressions: `Exp::Bit::` `#resize`, `#insert`, `#remove`, `#set`, `#or`, `#xor`, `#and`, `#not`, `#lshift`, `#rshift`, `#add`, `#subtract`, `#set_int`, `#get`, `#count`, `#lscan`, `#rscan`, `#get_int`, `#pack_math`, `#pack_get_int`, `#add_write`, `#add_read`
14
+
15
+ - HLL Expressions: `Exp::HLL::` `#init`, `#add`, `#get_count`, `#get_union`, `#get_union_count`, `#get_intersect_count`, `#get_similarity`, `#describe`, `#may_contain`, `#add_write`, `#add_read`
16
+
17
+ - Map Expressions: `Exp::Map::` `#put`, `#put_items`, `#increment`, `#clear`, `#remove_by_key`, `#remove_by_key_list`, `#remove_by_key_range`, `#remove_by_key_relative_index_range`, `#remove_by_value`, `#remove_by_value_list`, `#remove_by_value_range`, `#remove_by_value_relative_rank_range`, `#remove_by_value_relative_rank_range`, `#remove_by_index`, `#remove_by_index_range`, `#remove_by_rank`, `#remove_by_rank_range`, `#size`, `#get_by_key`, `#get_by_key_range`, `#get_by_key_list`, `#get_by_key_relative_index_range`, `#get_by_key_relative_index_range`, `#get_by_value`, `#get_by_value_range`, `#get_by_value_list`, `#get_by_value_relative_rank_range`, `#get_by_index`, `#get_by_index_range`, `#get_by_rank`, `#get_by_rank_range`, `#add_write`, `#add_read`, `#get_value_type`
18
+
19
+ - List Expressions: `Exp::List::` `#append`, `#append_items`, `#insert`, `#insert_items`, `#increment`, `#set`, `#clear`, `#sort`, `#remove_by_value`, `#remove_by_value_list`, `#remove_by_value_range`, `#remove_by_value_relative_rank_range`, `#remove_by_index`, `#remove_by_index_range`, `#remove_by_rank`, `#remove_by_rank_range`, `#size`, `#get_by_value`, `#get_by_value_range`, `#get_by_value_list`, `#get_by_value_relative_rank_range`, `#get_by_index`, `#get_by_index_range`, `#get_by_index_range`, `#get_by_rank`, `#get_by_rank_range`, `#get_by_rank_range`, `#add_write`, `#add_read`, `#get_value_type`, `#pack_range_operation`
20
+
21
+ - Read and Write operations: `Exp::Operation::` `#write`, `#read`
22
+
23
+ ## [2.24.0] 2022-11-15
24
+
25
+ - **New Features**
26
+ - [CLIENT-1730] Support partition queries.
27
+ - [CLIENT-1469] Support query pagination through client#query_partitions with PartitionFilter
28
+ - [CLIENT-1975] Add support for #max_records and #short_query to QueryPolicy
29
+ - [CLIENT-1976] Add support for #concurrent_nodes to QueryPolicy
30
+
5
31
  ## [2.23.0] 2022-10-25
6
32
 
7
- * **New Features**
8
- * [CLIENT-1752] Add 'EXISTS' return type for CDT read operations.
9
- * [CLIENT-1195] Support partition scans.
10
- * [CLIENT-1238] Support max_records on partition scans.
11
- * [CLIENT-1940] Lint and Clean up using Rubocop.
33
+ - **New Features**
34
+ - [CLIENT-1752] Add 'EXISTS' return type for CDT read operations.
35
+ - [CLIENT-1195] Support partition scans.
36
+ - [CLIENT-1238] Support max_records on partition scans.
37
+ - [CLIENT-1940] Lint and Clean up using Rubocop.
12
38
 
13
39
  ## [2.22.0] 2022-07-14
14
40
 
15
- * **Fixes**
16
- * [CLIENT-1785] Fix Client#read_users to avoid error. PR #112 Thanks to [Dotan Mor](https://github.com/dotan-mor)
17
- * [CLIENT-1787] Support multiple DNS IPs during connection.
18
- * [CLIENT-1789] Authentication Retry fails in certain conditions.
41
+ - **Fixes**
42
+ - [CLIENT-1785] Fix Client#read_users to avoid error. PR #112 Thanks to [Dotan Mor](https://github.com/dotan-mor)
43
+ - [CLIENT-1787] Support multiple DNS IPs during connection.
44
+ - [CLIENT-1789] Authentication Retry fails in certain conditions.
19
45
 
20
46
  ## [2.21.1] - 2022-06-21
21
47
 
22
48
  This s hotfix release. It is recommended to upgrade your client if you use authentication.
23
49
 
24
- * **Bug Fixes**
25
- * Fix called function name in Authenticate.
50
+ - **Bug Fixes**
51
+ - Fix called function name in Authenticate.
26
52
 
27
53
  ## [2.21.0] - 2022-06-07
28
54
 
29
- * **New Features**
30
- * Add support for new user management features. Adds `Client#query_role`, `Client#query_roles`, `Client#create_role`, `Client#drop_role`, `Client#grant_privileges`, `Client#revoke_privileges`. Adds the 'Role' class. Adds `UserRoles#read_info`, `UserRoles#write_info`, `UserRoles#conns_in_use` to the `UserRoles` class.
55
+ - **New Features**
31
56
 
32
- * **Improvements**
33
- * Do not run PredExp tests for server v6+.
57
+ - Add support for new user management features. Adds `Client#query_role`, `Client#query_roles`, `Client#create_role`, `Client#drop_role`, `Client#grant_privileges`, `Client#revoke_privileges`. Adds the 'Role' class. Adds `UserRoles#read_info`, `UserRoles#write_info`, `UserRoles#conns_in_use` to the `UserRoles` class.
58
+
59
+ - **Improvements**
60
+ - Do not run PredExp tests for server v6+.
34
61
 
35
62
  ## [2.20.1] - 2022-05-11
36
63
 
37
- * **Improvements**
38
- * Add basic support for the new authentication protocol.
64
+ - **Improvements**
65
+ - Add basic support for the new authentication protocol.
39
66
 
40
67
  ## [2.20.0] - 2021-11-08
41
68
 
42
69
  Notice: This version of the client only supports Aerospike Server v4.9 and later. Some features will work for the older server versions, but they are not tested, nor officially supported.
43
70
 
44
- * **New Features**
45
- * [CLIENT-1467] Support native Boolean type for server v5.6+.
71
+ - **New Features**
72
+
73
+ - [CLIENT-1467] Support native Boolean type for server v5.6+.
46
74
 
47
- * **Improvements**
48
- * Add basic support for server v4.9+ scan/queries.
49
- * Don't check for key equality in Batch command results.
75
+ - **Improvements**
76
+ - Add basic support for server v4.9+ scan/queries.
77
+ - Don't check for key equality in Batch command results.
50
78
 
51
79
  ## [2.19.0] - 2020-02-09
52
80
 
53
- * **Improvements**
54
- * Remove Timeout in `wait_till_stabilized` in favor of `thread.join(timeout)` . Thanks to [Marcelo](https://github.com/MarcPer) [[#104](https://github.com/aerospike/aerospike-client-ruby/pull/104)]
55
- * Adds `ResultCode::LOST_CONFLICT`
81
+ - **Improvements**
82
+ - Remove Timeout in `wait_till_stabilized` in favor of `thread.join(timeout)` . Thanks to [Marcelo](https://github.com/MarcPer) [[#104](https://github.com/aerospike/aerospike-client-ruby/pull/104)]
83
+ - Adds `ResultCode::LOST_CONFLICT`
56
84
 
57
85
  ## [2.18.0] - 2020-12-01
58
86
 
59
- * **Bug Fixes**
60
- * Avoid panic if `Command#get_node` fails in `Command#execute`. Resolves issue #101.
61
- * Fix wrong method invocation inside `Client#truncate` method. Thanks to [Alexander](https://github.com/selivandex)
87
+ - **Bug Fixes**
88
+
89
+ - Avoid panic if `Command#get_node` fails in `Command#execute`. Resolves issue #101.
90
+ - Fix wrong method invocation inside `Client#truncate` method. Thanks to [Alexander](https://github.com/selivandex)
62
91
 
63
- * **Improvements**
64
- * Added missing server error codes.
92
+ - **Improvements**
93
+ - Added missing server error codes.
65
94
 
66
95
  ## [2.17.0] - 2020-10-15
67
96
 
68
- * **New Features**
69
- * [CLIENT-1246] Adds missing API for Context#list_index_create and Context#map_key_create
97
+ - **New Features**
70
98
 
71
- * **Bug Fixes**
72
- * Fixed an issue were MsgPack extensions were not recursively cleared from the CDTs during unpacking.
99
+ - [CLIENT-1246] Adds missing API for Context#list_index_create and Context#map_key_create
100
+
101
+ - **Bug Fixes**
102
+ - Fixed an issue were MsgPack extensions were not recursively cleared from the CDTs during unpacking.
73
103
 
74
104
  ## [2.16.0] - 2020-10-12
75
105
 
76
- * **New Features**
77
- * [CLIENT-1173], [CLIENT-1246] Support Nested CDT operations with Context.
78
- * [CLIENT-1179], Support Bitwise operations.
106
+ - **New Features**
107
+
108
+ - [CLIENT-1173], [CLIENT-1246] Support Nested CDT operations with Context.
109
+ - [CLIENT-1179], Support Bitwise operations.
79
110
 
80
- * **Changes**
81
- * `ListSortFlags` now has an `ASCENDING` option, with `DEFAULT` mapping to it.
111
+ - **Changes**
112
+ - `ListSortFlags` now has an `ASCENDING` option, with `DEFAULT` mapping to it.
82
113
 
83
114
  ## [2.15.0] - 2020-10-05
84
115
 
85
- * **New Features**
86
- * [CLIENT-1254] Adds support for HyperLogLog.
116
+ - **New Features**
87
117
 
88
- * **Changes**
89
- * `Client#operate` now uses `OperatePolicy` by default.
118
+ - [CLIENT-1254] Adds support for HyperLogLog.
119
+
120
+ - **Changes**
121
+ - `Client#operate` now uses `OperatePolicy` by default.
90
122
 
91
123
  ## [2.14.0] - 2020-08-06
92
124
 
93
- * **New Features**
94
- * Adds support for rack-aware reads.
95
- * Adds support for client-server compression.
125
+ - **New Features**
126
+
127
+ - Adds support for rack-aware reads.
128
+ - Adds support for client-server compression.
96
129
 
97
- * **Improvements**
98
- * Adds support for `truncate-namespace` command.
130
+ - **Improvements**
131
+ - Adds support for `truncate-namespace` command.
99
132
 
100
133
  ## [2.13.0] - 2020-07-17
101
134
 
102
- * **New Features**
103
- * Adds support for replica policies.
135
+ - **New Features**
136
+
137
+ - Adds support for replica policies.
104
138
 
105
- * **Improvements**
106
- * Remove support for "old" partition tokenizer.
107
- * Refactor how partition parser is initialized and called.
108
- * Adds support for 'replicas' and remove the old partition table queries from the server.
139
+ - **Improvements**
140
+ - Remove support for "old" partition tokenizer.
141
+ - Refactor how partition parser is initialized and called.
142
+ - Adds support for 'replicas' and remove the old partition table queries from the server.
109
143
 
110
144
  ## [2.12.0] - 2019-04-21
111
145
 
112
- * **New Features**
113
- * Support for predicate expressions in all transaction.
114
- * Support for `operation.delete` in `client#operate`.
146
+ - **New Features**
115
147
 
116
- * **Improvements**
117
- * Optimize serialization for nested structures. Thanks to [@Kacper Madej](https://github.com/madejejej)! [[#94](https://github.com/aerospike/aerospike-client-ruby/pull/94)]
118
- * Remove `Thread#abort_on_exception` from `batch_index_command`. Thanks to [@Kacper Madej](https://github.com/madejejej)! [[#92](https://github.com/aerospike/aerospike-client-ruby/pull/92)]
119
- * Does not allow values other than Integer, Float, String, Symbol and nil to be used as keys in Maps.
148
+ - Support for predicate expressions in all transaction.
149
+ - Support for `operation.delete` in `client#operate`.
120
150
 
121
- * **Bug Fixes**
122
- * Fixes tests that weren't using ENV variables for connections. This will allow the tests to be run on any server.
151
+ - **Improvements**
123
152
 
153
+ - Optimize serialization for nested structures. Thanks to [@Kacper Madej](https://github.com/madejejej)! [[#94](https://github.com/aerospike/aerospike-client-ruby/pull/94)]
154
+ - Remove `Thread#abort_on_exception` from `batch_index_command`. Thanks to [@Kacper Madej](https://github.com/madejejej)! [[#92](https://github.com/aerospike/aerospike-client-ruby/pull/92)]
155
+ - Does not allow values other than Integer, Float, String, Symbol and nil to be used as keys in Maps.
156
+
157
+ - **Bug Fixes**
158
+ - Fixes tests that weren't using ENV variables for connections. This will allow the tests to be run on any server.
124
159
 
125
160
  ## [2.11.0] - 2019-05-17
126
161
 
127
- * **New Features**
128
- * Support for predicate expressions in queries. Thanks to [@Minus10Degrees](https://github.com/Minus10Degrees)! [[#78](https://github.com/aerospike/aerospike-client-ruby/issues/78)]
162
+ - **New Features**
163
+
164
+ - Support for predicate expressions in queries. Thanks to [@Minus10Degrees](https://github.com/Minus10Degrees)! [[#78](https://github.com/aerospike/aerospike-client-ruby/issues/78)]
129
165
 
130
- * **Bug Fixes**
131
- * Client#execute\_udf\_on\_query should not modify the statement argument. [[#79](https://github.com/aerospike/aerospike-client-ruby/issues/79)]
132
- * Encoding::UndefinedConversionError when reading blob data from CDT list/map bin. [[#84](https://github.com/aerospike/aerospike-client-ruby/issues/84)]
166
+ - **Bug Fixes**
167
+ - Client#execute_udf_on_query should not modify the statement argument. [[#79](https://github.com/aerospike/aerospike-client-ruby/issues/79)]
168
+ - Encoding::UndefinedConversionError when reading blob data from CDT list/map bin. [[#84](https://github.com/aerospike/aerospike-client-ruby/issues/84)]
133
169
 
134
170
  ## [2.10.0] - 2019-05-10
135
171
 
136
- * **New Features**
137
- * Add support for LB discovery / seeding. Thanks to [@filiptepper](https://github.com/filiptepper)! [[#80](https://github.com/aerospike/aerospike-client-ruby/issues/80)]
172
+ - **New Features**
173
+ - Add support for LB discovery / seeding. Thanks to [@filiptepper](https://github.com/filiptepper)! [[#80](https://github.com/aerospike/aerospike-client-ruby/issues/80)]
138
174
 
139
175
  ## [2.9.1] - 2019-04-03
140
176
 
141
- * **Bug Fixes**
142
- * Query fails if one or more cluster nodes do not have records in the set [[#77](https://github.com/aerospike/aerospike-client-ruby/issues/77)]
177
+ - **Bug Fixes**
143
178
 
144
- * **Updates**
145
- * Change admin message version to 2 (from 0)
146
- * Remove unused BIN_EXISTS_ERROR (6) and BIN_NOT_FOUND (17) error codes
147
- * Tests: Support setting user/password when running specs
179
+ - Query fails if one or more cluster nodes do not have records in the set [[#77](https://github.com/aerospike/aerospike-client-ruby/issues/77)]
180
+
181
+ - **Updates**
182
+ - Change admin message version to 2 (from 0)
183
+ - Remove unused BIN_EXISTS_ERROR (6) and BIN_NOT_FOUND (17) error codes
184
+ - Tests: Support setting user/password when running specs
148
185
 
149
186
  ## [2.9.0] - 2018-11-09
150
187
 
151
- * **New Features**
152
- * Add INFINITY and WILDCARD values for use in CDT map/list comparators. [AER-5945]
188
+ - **New Features**
189
+
190
+ - Add INFINITY and WILDCARD values for use in CDT map/list comparators. [AER-5945]
191
+
192
+ - **Bug Fixes**
153
193
 
154
- * **Bug Fixes**
155
- * Default policies set on Client instance do not get applied [[#74](https://github.com/aerospike/aerospike-client-ruby/issues/74)]
194
+ - Default policies set on Client instance do not get applied [[#74](https://github.com/aerospike/aerospike-client-ruby/issues/74)]
156
195
 
157
- * **Updates**
158
- * *BREAKING CHANGE*: Change default for send_key write policy to false [[#73](https://github.com/aerospike/aerospike-client-ruby/issues/73)]
159
- * Support truncate info command argument "lut=now" for servers that require it. [AER-5955]
196
+ - **Updates**
197
+ - _BREAKING CHANGE_: Change default for send_key write policy to false [[#73](https://github.com/aerospike/aerospike-client-ruby/issues/73)]
198
+ - Support truncate info command argument "lut=now" for servers that require it. [AER-5955]
160
199
 
161
200
  ## [2.8.0] - 2018-08-06
162
201
 
163
- * **New Features**
164
- * Support latest CDT List/Map server-side operations: [[#69](https://github.com/aerospike/aerospike-client-ruby/pull/69)]
165
- * Operations on Ordered Lists & Bounded Lists via new List Policy. (Requires server version v3.16.0 or later.)
166
- * Option to invert selection criteria for certain List/Map get/remove operations. (Requires server version v3.16.0 or later.)
167
- * List/Map index/rank relative get/remove operations. (Requires server version v4.3.0 or later.)
168
- * Partial list/map updates using PARTIAL / NO_FAIL write flags. (Requires server version v4.3.0 or later.)
169
- * Benchmarks: Output total TPS metrics at end of run [[#71](https://github.com/aerospike/aerospike-client-ruby/pull/71)]
202
+ - **New Features**
170
203
 
171
- * **Bug Fixes**
172
- * Check connection status of sockets retrieved from connection pool [[#72](https://github.com/aerospike/aerospike-client-ruby/pull/72)]
204
+ - Support latest CDT List/Map server-side operations: [[#69](https://github.com/aerospike/aerospike-client-ruby/pull/69)]
205
+ - Operations on Ordered Lists & Bounded Lists via new List Policy. (Requires server version v3.16.0 or later.)
206
+ - Option to invert selection criteria for certain List/Map get/remove operations. (Requires server version v3.16.0 or later.)
207
+ - List/Map index/rank relative get/remove operations. (Requires server version v4.3.0 or later.)
208
+ - Partial list/map updates using PARTIAL / NO_FAIL write flags. (Requires server version v4.3.0 or later.)
209
+ - Benchmarks: Output total TPS metrics at end of run [[#71](https://github.com/aerospike/aerospike-client-ruby/pull/71)]
173
210
 
174
- * **Updates**
175
- * Add JRuby back to CI test matrix [[#70](https://github.com/aerospike/aerospike-client-ruby/pull/70)]
211
+ - **Bug Fixes**
212
+
213
+ - Check connection status of sockets retrieved from connection pool [[#72](https://github.com/aerospike/aerospike-client-ruby/pull/72)]
214
+
215
+ - **Updates**
216
+ - Add JRuby back to CI test matrix [[#70](https://github.com/aerospike/aerospike-client-ruby/pull/70)]
176
217
 
177
218
  ## [2.7.0] - 2018-04-12
178
219
 
179
- * **New Features**
180
- * Batch Index protocol support. Thanks to [@deenbandhu-agarwal](https://github.com/deenbandhu-agarwal)! [[#61](https://github.com/aerospike/aerospike-client-ruby/pull/61)]
181
- * Memory optimization: Avoid easy allocations. Thanks to [@wallin](https://github.com/wallin)! [[#62](https://github.com/aerospike/aerospike-client-ruby/pull/62)]
182
- * New node removal strategy. Thanks to [@wallin](https://github.com/wallin)! [[#63](https://github.com/aerospike/aerospike-client-ruby/pull/63)]
183
- * Support for IPv6. Requires Aerospike Enterprise Edition v3.10 or later. Thanks to [@wallin](https://github.com/wallin)! [[#65](https://github.com/aerospike/aerospike-client-ruby/pull/65)]
220
+ - **New Features**
221
+ - Batch Index protocol support. Thanks to [@deenbandhu-agarwal](https://github.com/deenbandhu-agarwal)! [[#61](https://github.com/aerospike/aerospike-client-ruby/pull/61)]
222
+ - Memory optimization: Avoid easy allocations. Thanks to [@wallin](https://github.com/wallin)! [[#62](https://github.com/aerospike/aerospike-client-ruby/pull/62)]
223
+ - New node removal strategy. Thanks to [@wallin](https://github.com/wallin)! [[#63](https://github.com/aerospike/aerospike-client-ruby/pull/63)]
224
+ - Support for IPv6. Requires Aerospike Enterprise Edition v3.10 or later. Thanks to [@wallin](https://github.com/wallin)! [[#65](https://github.com/aerospike/aerospike-client-ruby/pull/65)]
184
225
 
185
226
  ## [2.6.0] - 2018-03-27
186
227
 
187
- * **New Features**
188
- * Support for peers protocol for cluster discovery. Requires Aerospike server version 3.10 or later. Thanks to [@wallin](https://github.com/wallin) of [castle.io](https://castle.io/)! [[#59](https://github.com/aerospike/aerospike-client-ruby/pull/59)]
189
- * TLS encryption support for client <-> server connections. Requires Aerospike Enterprise Edition version 3.11 or later. Thanks to [@wallin](https://github.com/wallin) of [castle.io](https://castle.io/)! [[#59](https://github.com/aerospike/aerospike-client-ruby/pull/59)]
228
+ - **New Features**
229
+
230
+ - Support for peers protocol for cluster discovery. Requires Aerospike server version 3.10 or later. Thanks to [@wallin](https://github.com/wallin) of [castle.io](https://castle.io/)! [[#59](https://github.com/aerospike/aerospike-client-ruby/pull/59)]
231
+ - TLS encryption support for client <-> server connections. Requires Aerospike Enterprise Edition version 3.11 or later. Thanks to [@wallin](https://github.com/wallin) of [castle.io](https://castle.io/)! [[#59](https://github.com/aerospike/aerospike-client-ruby/pull/59)]
190
232
 
191
- * **Bug Fixes**
192
- * Fix min./max. boundary check for Integer bin values and improve performance. Thanks to [@wallin](https://github.com/wallin) of [castle.io](https://castle.io/)! [[#60](https://github.com/aerospike/aerospike-client-ruby/pull/60)]
233
+ - **Bug Fixes**
193
234
 
194
- * **Updates**
195
- * Update minimum required Ruby version to v2.3.
235
+ - Fix min./max. boundary check for Integer bin values and improve performance. Thanks to [@wallin](https://github.com/wallin) of [castle.io](https://castle.io/)! [[#60](https://github.com/aerospike/aerospike-client-ruby/pull/60)]
236
+
237
+ - **Updates**
238
+ - Update minimum required Ruby version to v2.3.
196
239
 
197
240
  ## [2.5.1] - 2018-01-25
198
241
 
199
- * **Bug Fixes**
200
- * Some secondary index queries fail with parameter error on Aerospike Server v3.15.1.x [#57](https://github.com/aerospike/aerospike-client-ruby/issues/57)
242
+ - **Bug Fixes**
243
+
244
+ - Some secondary index queries fail with parameter error on Aerospike Server v3.15.1.x [#57](https://github.com/aerospike/aerospike-client-ruby/issues/57)
201
245
 
202
- * **Updates**
203
- * Added Ruby 2.5 to test matrix
204
- * Updated documentation for Client#truncate command [CLIENT-985]
246
+ - **Updates**
247
+ - Added Ruby 2.5 to test matrix
248
+ - Updated documentation for Client#truncate command [CLIENT-985]
205
249
 
206
250
  ## [2.5.0] - 2017-10-10
207
251
 
208
- * **New Features**
209
- * Support nobins flag on query operations
210
- * Support CDT List Increment operation. Requires Aerospike server version 3.15 or later.
252
+ - **New Features**
253
+
254
+ - Support nobins flag on query operations
255
+ - Support CDT List Increment operation. Requires Aerospike server version 3.15 or later.
211
256
 
212
- * **Updates**
213
- * The deprecated Large Data Types(LDT) feature has been removed.
214
- * Ruby 2.1 has been removed from the client's test matrix as [official support for Ruby 2.1 has ended in Apr 2017](https://www.ruby-lang.org/en/news/2017/04/01/support-of-ruby-2-1-has-ended/). Nothing has changed in the client that would break compatibility with Ruby 2.1 yet. But compatibility is not guaranteed for future client releases.
257
+ - **Updates**
258
+ - The deprecated Large Data Types(LDT) feature has been removed.
259
+ - Ruby 2.1 has been removed from the client's test matrix as [official support for Ruby 2.1 has ended in Apr 2017](https://www.ruby-lang.org/en/news/2017/04/01/support-of-ruby-2-1-has-ended/). Nothing has changed in the client that would break compatibility with Ruby 2.1 yet. But compatibility is not guaranteed for future client releases.
215
260
 
216
261
  ## [2.4.0] - 2017-04-06
217
262
 
218
- * **New Features**
219
- * Support ns/set truncate command [#47](https://github.com/aerospike/aerospike-client-ruby/issues/47)
220
- * Support configurable scan socket write timeout [#46](https://github.com/aerospike/aerospike-client-ruby/issues/46)
263
+ - **New Features**
264
+
265
+ - Support ns/set truncate command [#47](https://github.com/aerospike/aerospike-client-ruby/issues/47)
266
+ - Support configurable scan socket write timeout [#46](https://github.com/aerospike/aerospike-client-ruby/issues/46)
267
+
268
+ - **Bug Fixes**
221
269
 
222
- * **Bug Fixes**
223
- * Fix "Digest::Base cannot be directly inherited in Ruby" [#45](https://github.com/aerospike/aerospike-client-ruby/issues/45)
270
+ - Fix "Digest::Base cannot be directly inherited in Ruby" [#45](https://github.com/aerospike/aerospike-client-ruby/issues/45)
224
271
 
225
- * **Updates**
226
- * Ruby 2.0 has been removed from the client's test matrix as [official support for Ruby 2.0 has ended in Feb 2016](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/). Nothing has changed in the client that would break compatibility with Ruby 2.0 yet. But compatibility is not guaranteed for future client releases. [#52](https://github.com/aerospike/aerospike-client-ruby/pull/52)
272
+ - **Updates**
273
+ - Ruby 2.0 has been removed from the client's test matrix as [official support for Ruby 2.0 has ended in Feb 2016](https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/). Nothing has changed in the client that would break compatibility with Ruby 2.0 yet. But compatibility is not guaranteed for future client releases. [#52](https://github.com/aerospike/aerospike-client-ruby/pull/52)
227
274
 
228
275
  ## [2.3.0] - 2017-01-04
229
276
 
230
- * **Bug Fixes**
231
- * Fix BytesValue used as record key. [#42](https://github.com/aerospike/aerospike-client-ruby/issues/42)
277
+ - **Bug Fixes**
232
278
 
233
- * **Changes**
234
- * Deprecate unsupport key types - only integer, string and byte keys are supported. [#43](https://github.com/aerospike/aerospike-client-ruby/issues/43)
279
+ - Fix BytesValue used as record key. [#42](https://github.com/aerospike/aerospike-client-ruby/issues/42)
280
+
281
+ - **Changes**
282
+ - Deprecate unsupport key types - only integer, string and byte keys are supported. [#43](https://github.com/aerospike/aerospike-client-ruby/issues/43)
235
283
 
236
284
  ## [2.2.1] - 2016-11-14
237
285
 
238
- * **New Features**
239
- * Added constants `Aerospike::TTL::*` for "special" TTL values, incl. Aerospike::TTL::DONT_UPDATE (requires Aerospike Server v3.10.1 or later)
286
+ - **New Features**
287
+
288
+ - Added constants `Aerospike::TTL::*` for "special" TTL values, incl. Aerospike::TTL::DONT_UPDATE (requires Aerospike Server v3.10.1 or later)
240
289
 
241
- * **Bug Fixes**
242
- * Fix "Add node failed: wrong number of arguments". [#41](https://github.com/aerospike/aerospike-client-ruby/issues/41)
290
+ - **Bug Fixes**
291
+ - Fix "Add node failed: wrong number of arguments". [#41](https://github.com/aerospike/aerospike-client-ruby/issues/41)
243
292
 
244
293
  ## [2.2.0] - 2016-09-20
245
294
 
246
- * **New Features**
247
- * Support for durable delete write policy [CLIENT-768]; requires Aerospike
295
+ - **New Features**
296
+
297
+ - Support for durable delete write policy [CLIENT-768]; requires Aerospike
248
298
  Server Enterprise Edition v3.10 or later.
249
- * Support Cluster Name verification [CLIENT-776]; requires Aerospike Server v3.10 or later.
299
+ - Support Cluster Name verification [CLIENT-776]; requires Aerospike Server v3.10 or later.
300
+
301
+ - **Bug Fixes**
302
+
303
+ - Fix error handling in node refresh during cluster tend.
250
304
 
251
- * **Bug Fixes**
252
- * Fix error handling in node refresh during cluster tend.
305
+ - **Improvements**
253
306
 
254
- * **Improvements**
255
- * Optionally return multiple results from read operations on same record bin.
307
+ - Optionally return multiple results from read operations on same record bin.
256
308
  [#39](https://github.com/aerospike/aerospike-client-ruby/issues/39) Thanks
257
309
  to [@zingoba](https://github.com/zingoba).
258
310
 
259
- * **Documentation**
260
- * Added note about potential issues with usage in Ruby on Rails with Phusion Passenger.
261
- * Amend/clean up documentation of client policies.
311
+ - **Documentation**
312
+ - Added note about potential issues with usage in Ruby on Rails with Phusion Passenger.
313
+ - Amend/clean up documentation of client policies.
262
314
 
263
315
  ## [2.1.1] - 2016-08-16
264
316
 
265
- * **Bug Fixes**
266
- * Fix incorrect expiration times on records fetched via batch_get or query operations. [#38](https://github.com/aerospike/aerospike-client-ruby/issues/38)
317
+ - **Bug Fixes**
267
318
 
268
- * **Improvements**
269
- * Add support for two new server error codes (23 & 24) introduced in Aerospike Server v3.9.1.
270
- * Records returned by batch_get operation should include the full key incl. the user key part.
319
+ - Fix incorrect expiration times on records fetched via batch_get or query operations. [#38](https://github.com/aerospike/aerospike-client-ruby/issues/38)
320
+
321
+ - **Improvements**
322
+ - Add support for two new server error codes (23 & 24) introduced in Aerospike Server v3.9.1.
323
+ - Records returned by batch_get operation should include the full key incl. the user key part.
271
324
 
272
325
  ## [2.1.0] - 2016-07-19
273
326
 
274
- * **Fixes**
275
- * Fix a typo in the `max_retries` policy parameter name. [PR #37](https://github.com/aerospike/aerospike-client-ruby/pull/37) Thanks to [@murphyslaw](https://github.com/murphyslaw)!
276
- * Fix license identifier in gemspec.
327
+ - **Fixes**
328
+
329
+ - Fix a typo in the `max_retries` policy parameter name. [PR #37](https://github.com/aerospike/aerospike-client-ruby/pull/37) Thanks to [@murphyslaw](https://github.com/murphyslaw)!
330
+ - Fix license identifier in gemspec.
277
331
 
278
- * **Improvements**
279
- * Support for queries on Lists and Maps (keys & values)
280
- * Support for creating indexes on Lists and Maps [CLIENT-685]
281
- * Support GeoJSON values in Lists and Maps
332
+ - **Improvements**
333
+ - Support for queries on Lists and Maps (keys & values)
334
+ - Support for creating indexes on Lists and Maps [CLIENT-685]
335
+ - Support GeoJSON values in Lists and Maps
282
336
 
283
337
  ## [2.0.0] - 2016-05-27
284
338
 
285
- * **Breaking Changes** - Please refer to detailed list of [API changes](https://www.aerospike.com/docs/client/ruby/usage/incompatible.html#version-2-0-0) for further details.
286
- * Incompatible integer key digests: digests for integer keys computed by v2 and v1 are different; the Aerospike server uses the key digest to retrieve records. This will impact your ability to read records with integer keys that were created by a v1 client version.
287
- * Backward incompatible changes to the `Aerospike::Client.new` initializer.
288
- * The `Aerospike::Client.new_many` initializer has been removed; use `Aerospike::Client.new` instead.
289
- * Drop support for Ruby 1.9.3; requires Ruby 2.0 or later.
339
+ - **Breaking Changes** - Please refer to detailed list of [API changes](https://www.aerospike.com/docs/client/ruby/usage/incompatible.html#version-2-0-0) for further details.
340
+
341
+ - Incompatible integer key digests: digests for integer keys computed by v2 and v1 are different; the Aerospike server uses the key digest to retrieve records. This will impact your ability to read records with integer keys that were created by a v1 client version.
342
+ - Backward incompatible changes to the `Aerospike::Client.new` initializer.
343
+ - The `Aerospike::Client.new_many` initializer has been removed; use `Aerospike::Client.new` instead.
344
+ - Drop support for Ruby 1.9.3; requires Ruby 2.0 or later.
290
345
 
291
- * **Improvements**
292
- * Add support for List and Map operations on List/Map Complex Data Types (CDT); requires Aerospike Server version 3.9 or later. [CLIENT-559]
293
- * Read Aerospike server address from AEROSPIKE_HOSTS env variable if not specified explicity in client constructor.
294
- * Add 2.3.1 to supported Ruby versions on Travis-CI.
346
+ - **Improvements**
295
347
 
296
- * **Fixes**
297
- * Fix digest creation for integer keys. [PR #34](https://github.com/aerospike/aerospike-client-ruby/pull/34). Thanks to [@murphyslaw](https://github.com/murphyslaw)!
298
- * Prevent "value must be enumerable" error when client cannot connect to cluster. [#35](https://github.com/aerospike/aerospike-client-ruby/issues/35). Thanks to [@rohanthewiz](https://github.com/rohanthewiz)!
348
+ - Add support for List and Map operations on List/Map Complex Data Types (CDT); requires Aerospike Server version 3.9 or later. [CLIENT-559]
349
+ - Read Aerospike server address from AEROSPIKE_HOSTS env variable if not specified explicity in client constructor.
350
+ - Add 2.3.1 to supported Ruby versions on Travis-CI.
351
+
352
+ - **Fixes**
353
+ - Fix digest creation for integer keys. [PR #34](https://github.com/aerospike/aerospike-client-ruby/pull/34). Thanks to [@murphyslaw](https://github.com/murphyslaw)!
354
+ - Prevent "value must be enumerable" error when client cannot connect to cluster. [#35](https://github.com/aerospike/aerospike-client-ruby/issues/35). Thanks to [@rohanthewiz](https://github.com/rohanthewiz)!
299
355
 
300
356
  ## [1.0.12] - 2016-02-11
301
357
 
302
- * **Fixes**:
358
+ - **Fixes**:
303
359
 
304
- * Fixed syntax error in Client when raising exception for invalid bin key;
360
+ - Fixed syntax error in Client when raising exception for invalid bin key;
305
361
  thanks to [Ole Riesenberg](https://github.com/oleriesenberg) for the fix.
306
362
  [aerospike/aerospike-client-ruby#31]
307
- * Use UTF-8 as default encoding when writing/reading Strings from record
363
+ - Use UTF-8 as default encoding when writing/reading Strings from record
308
364
  bins; thanks to [fs-wu](https://github.com/fs-wu) for finding the issue and
309
365
  reporting it. [aerospike/aerospike-client-ruby#33]
310
366
 
311
367
  ## [1.0.11] - 2015-12-04
312
368
 
313
- Major feature and bug fix release.
369
+ Major feature and bug fix release.
314
370
 
315
- * **Fixes**:
371
+ - **Fixes**:
316
372
 
317
- * Fix `ClientPolicy` to actually accept `fail_if_not_connected` parameter from constructor opts. PR #29, thanks to [Nick Recobra](https://github.com/oruen)
373
+ - Fix `ClientPolicy` to actually accept `fail_if_not_connected` parameter from constructor opts. PR #29, thanks to [Nick Recobra](https://github.com/oruen)
318
374
 
319
- * Fix record initialization issue. PR #28, thanks to [jzhua](https://github.com/jzhua)
375
+ - Fix record initialization issue. PR #28, thanks to [jzhua](https://github.com/jzhua)
320
376
 
321
- * Consume the rest of the stream when scan/query is finished.
377
+ - Consume the rest of the stream when scan/query is finished.
322
378
 
323
- * **Improvements**:
379
+ - **Improvements**:
324
380
 
325
- * Support for double precision floating point data type in record bins.
326
- Requires server version 3.6.0 or later. [CLIENT-599]
381
+ - Support for double precision floating point data type in record bins.
382
+ Requires server version 3.6.0 or later. [CLIENT-599]
327
383
 
328
- * Support for geospatial data in record bins using GeoJSON format; support
329
- for querying geospatial indexes using points-within-region and
330
- region-contains-point filters. Requires server version 3.7.0 or later.
331
- [CLIENT-594]
384
+ - Support for geospatial data in record bins using GeoJSON format; support
385
+ for querying geospatial indexes using points-within-region and
386
+ region-contains-point filters. Requires server version 3.7.0 or later.
387
+ [CLIENT-594]
332
388
 
333
- * Tend interval is now configurable via the client policy. Default is 1
334
- second as before.
389
+ - Tend interval is now configurable via the client policy. Default is 1
390
+ second as before.
335
391
 
336
- * Only logs tend messages when the number of cluster nodes have changed.
392
+ - Only logs tend messages when the number of cluster nodes have changed.
337
393
 
338
- * Scan and Query termination has been fixed.
394
+ - Scan and Query termination has been fixed.
339
395
 
340
396
  ## [1.0.10] - 2015-09-22
341
397
 
342
- Major fix release.
398
+ Major fix release.
343
399
 
344
- * **Fixes**:
400
+ - **Fixes**:
345
401
 
346
- * Fixes `find_node_in_partition_map` logic.
402
+ - Fixes `find_node_in_partition_map` logic.
347
403
 
348
- * Fixes `Node.Refresh` logic.
404
+ - Fixes `Node.Refresh` logic.
349
405
 
350
- * Fixes an issue with dead connections that would cause an infinite loop.
406
+ - Fixes an issue with dead connections that would cause an infinite loop.
351
407
 
352
408
  ## [1.0.9] - 2015-08-11
353
409
 
354
- Minor fix release.
410
+ Minor fix release.
355
411
 
356
- * **Fixes**:
412
+ - **Fixes**:
357
413
 
358
- * Sends the original key value to the server for all relevant commands, including `operate` and `execute_udf`
414
+ - Sends the original key value to the server for all relevant commands, including `operate` and `execute_udf`
359
415
 
360
416
  ## [1.0.8] - 2015-07-23
361
417
 
362
- Minor fix release.
418
+ Minor fix release.
363
419
 
364
- * **Improvements**:
420
+ - **Improvements**:
365
421
 
366
- * Adds 'Filter.to_s'. Thanks to [Ángel M](https://github.com/Angelmmiguel)
422
+ - Adds 'Filter.to_s'. Thanks to [Ángel M](https://github.com/Angelmmiguel)
367
423
 
368
- * **Fixes**:
424
+ - **Fixes**:
369
425
 
370
- * Fixes an issue in write policy that would use an undefined variable if `:send_key` isn't `nil`.
426
+ - Fixes an issue in write policy that would use an undefined variable if `:send_key` isn't `nil`.
371
427
 
372
- * Fixes an issue in cluster.closed logic.
428
+ - Fixes an issue in cluster.closed logic.
373
429
 
374
- * Fixes an issue with including the `statement.rb` in the manifest. Thanks to [Ángel M](https://github.com/Angelmmiguel)
430
+ - Fixes an issue with including the `statement.rb` in the manifest. Thanks to [Ángel M](https://github.com/Angelmmiguel)
375
431
 
376
432
  ## [1.0.7] - 2015-05-15
377
433
 
378
- Minor fixes.
434
+ Minor fixes.
379
435
 
380
- NOTICE: All LDTs on server other than LLIST have been deprecated, and will be removed in the future. As Such, all API regarding those features are considered deprecated and will be removed in tandem.
436
+ NOTICE: All LDTs on server other than LLIST have been deprecated, and will be removed in the future. As Such, all API regarding those features are considered deprecated and will be removed in tandem.
381
437
 
382
- * **Improvements**:
438
+ - **Improvements**:
383
439
 
384
- * Removed workaround in `BatchGet`. Bins are filtered on server now.
440
+ - Removed workaround in `BatchGet`. Bins are filtered on server now.
385
441
 
386
- * Added New Error Codes. Fixes Issues #17 and #18
442
+ - Added New Error Codes. Fixes Issues #17 and #18
387
443
 
388
- * Node validator won't lookup hostsif an IP is passed as a seed to it.
444
+ - Node validator won't lookup hostsif an IP is passed as a seed to it.
389
445
 
390
- * ** Other Changes **
446
+ - ** Other Changes **
391
447
 
392
- * Removed deprecated `ReplaceRoles()` method.
448
+ - Removed deprecated `ReplaceRoles()` method.
393
449
 
394
- * Removed deprecated `SetCapacity()` and `GetCapacity()` methods for LDTs.
450
+ - Removed deprecated `SetCapacity()` and `GetCapacity()` methods for LDTs.
395
451
 
396
452
  ## [1.0.6] - 2015-04-02
397
453
 
398
- Minor fixes.
454
+ Minor fixes.
399
455
 
400
- * **New Features**:
456
+ - **New Features**:
401
457
 
402
- * Fixed running a stream query without parameters to the function.
458
+ - Fixed running a stream query without parameters to the function.
403
459
 
404
460
  ## [1.0.5] - 2015-03-25
405
461
 
406
- Minor improvements.
462
+ Minor improvements.
407
463
 
408
- * **New Features**:
464
+ - **New Features**:
409
465
 
410
- * Added `:execute_udf_on_query` method to `Aerospike::Client`
466
+ - Added `:execute_udf_on_query` method to `Aerospike::Client`
411
467
 
412
468
  ## [1.0.4] - 2015-03-24
413
469
 
414
- Hot fix.
470
+ Hot fix.
415
471
 
416
- * **Fixes**:
472
+ - **Fixes**:
417
473
 
418
- * Close a socket if connection raises an exception to avoid leaking the file descriptor.
474
+ - Close a socket if connection raises an exception to avoid leaking the file descriptor.
419
475
 
420
476
  ## [1.0.3] - 2015-03-24
421
477
 
422
- Minor fixes and improvements.
423
-
424
- * **New Features**:
478
+ Minor fixes and improvements.
425
479
 
426
- * Symbols are now accepted as key values. Keep in mind that symbols are converted to string automatically, and type information is lost.
480
+ - **New Features**:
427
481
 
428
- * **Fixes**:
482
+ - Symbols are now accepted as key values. Keep in mind that symbols are converted to string automatically, and type information is lost.
429
483
 
430
- * Wait for a good connection on `socket.connect_nonblock` to prevent infinite loops on read/write operations.
484
+ - **Fixes**:
431
485
 
486
+ - Wait for a good connection on `socket.connect_nonblock` to prevent infinite loops on read/write operations.
432
487
 
433
488
  ## [1.0.2] - 2015-03-14
434
489
 
435
- Minor improvements.
490
+ Minor improvements.
436
491
 
437
- * **New Features**:
492
+ - **New Features**:
438
493
 
439
- * Added `:new_many` method to `Aerospike::Client`
494
+ - Added `:new_many` method to `Aerospike::Client`
440
495
 
441
496
  ## [1.0.1] - 2015-01-28
442
497
 
443
- Hot fix.
498
+ Hot fix.
444
499
 
445
- * **Fixes**:
500
+ - **Fixes**:
446
501
 
447
- * Added `bcrypt` to the gem dependencies.
502
+ - Added `bcrypt` to the gem dependencies.
448
503
 
449
504
  ## [1.0.0] - 2015-01-26
450
505
 
451
- Major release. With this release, Ruby client graduates to version 1.
506
+ Major release. With this release, Ruby client graduates to version 1.
452
507
 
453
- * **Breaking Changes**:
508
+ - **Breaking Changes**:
454
509
 
455
- * All `policy` initialize signatures have changed. Using policies was not documented, so it shouldn't affect most code. It will however, break any code initializing policies.
456
- * Removed `Record.dups` and `GenerationPolicy::DUPLICATE`
510
+ - All `policy` initialize signatures have changed. Using policies was not documented, so it shouldn't affect most code. It will however, break any code initializing policies.
511
+ - Removed `Record.dups` and `GenerationPolicy::DUPLICATE`
457
512
 
458
- * **New Features**:
513
+ - **New Features**:
459
514
 
460
- * Added Security Features: Please consult [Security Docs](https://www.aerospike.com/docs/guide/security.html) on Aerospike website.
515
+ - Added Security Features: Please consult [Security Docs](https://www.aerospike.com/docs/guide/security.html) on Aerospike website.
461
516
 
462
- * `ClientPolicy.User`, `ClientPolicy.Password`
463
- * `Client.CreateUser()`, `Client.DropUser()`, `Client.ChangePassword()`
464
- * `Client.GrantRoles()`, `Client.RevokeRoles()`, `Client.ReplaceRoles()`
465
- * `Client.QueryUser()`, `Client.QueryUsers`
517
+ - `ClientPolicy.User`, `ClientPolicy.Password`
518
+ - `Client.CreateUser()`, `Client.DropUser()`, `Client.ChangePassword()`
519
+ - `Client.GrantRoles()`, `Client.RevokeRoles()`, `Client.ReplaceRoles()`
520
+ - `Client.QueryUser()`, `Client.QueryUsers`
466
521
 
467
- * **Fixes**:
522
+ - **Fixes**:
468
523
 
469
- * fixed size returned from `BytesValue.write`
524
+ - fixed size returned from `BytesValue.write`
470
525
 
471
526
  ## [0.1.6] - 2014-12-28
472
527
 
473
- Minor features added, minor fixes and improvements.
528
+ Minor features added, minor fixes and improvements.
474
529
 
475
- * **New Features**:
530
+ - **New Features**:
476
531
 
477
- * Added `Policy.consistency_level`
478
- * Added `WritePolicy.commit_level`
532
+ - Added `Policy.consistency_level`
533
+ - Added `WritePolicy.commit_level`
479
534
 
480
- * **Fixes**
535
+ - **Fixes**
481
536
 
482
- * Fixed setting timeout on connection
483
- * Fixed exception handling typo for Connection#write
537
+ - Fixed setting timeout on connection
538
+ - Fixed exception handling typo for Connection#write
484
539
 
485
540
  ## [0.1.5] - 2014-12-08
486
541
 
487
- Major features added, minor fixes and improvements.
542
+ Major features added, minor fixes and improvements.
488
543
 
489
- * **New Features**:
544
+ - **New Features**:
490
545
 
491
- * Added `Client.scan_node`, `Client.scan_all`
492
- * Added `Client.query`
546
+ - Added `Client.scan_node`, `Client.scan_all`
547
+ - Added `Client.query`
493
548
 
494
- * **Fixes**
549
+ - **Fixes**
495
550
 
496
- * Fixed getting back results only for specified bin names.
551
+ - Fixed getting back results only for specified bin names.
497
552
 
498
553
  ## [0.1.3] - 2014-10-27
499
554
 
500
- Minor fix.
555
+ Minor fix.
501
556
 
502
- * **Changes**:
557
+ - **Changes**:
503
558
 
504
- * Fixed LDT bin and module name packing.
559
+ - Fixed LDT bin and module name packing.
505
560
 
506
561
  ## [0.1.2] - 2014-10-25
507
562
 
508
- Minor fix.
563
+ Minor fix.
509
564
 
510
- * **Changes**:
565
+ - **Changes**:
511
566
 
512
- * Fixed String unpacking for single byte strings.
567
+ - Fixed String unpacking for single byte strings.
513
568
 
514
569
  ## [0.1.1] - 2014-10-25
515
570
 
516
- Minor fixes.
571
+ Minor fixes.
517
572
 
518
- * **Changes**:
573
+ - **Changes**:
519
574
 
520
- * Fixed String packing header in Hash and Array.
521
- * #find on LDTs returns `nil` instad of raising an exception if the item is not found.
575
+ - Fixed String packing header in Hash and Array.
576
+ - #find on LDTs returns `nil` instad of raising an exception if the item is not found.
522
577
 
523
578
  ## [0.1.0] - 2014-10-14
524
579
 
525
- * Initial Release.
580
+ - Initial Release.