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