aerospike 2.22.0 → 2.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +307 -262
  3. data/lib/aerospike/atomic/atomic.rb +1 -1
  4. data/lib/aerospike/cdt/context.rb +7 -7
  5. data/lib/aerospike/cdt/list_return_type.rb +4 -0
  6. data/lib/aerospike/cdt/map_operation.rb +6 -6
  7. data/lib/aerospike/cdt/map_return_type.rb +4 -0
  8. data/lib/aerospike/client.rb +59 -84
  9. data/lib/aerospike/command/admin_command.rb +1 -1
  10. data/lib/aerospike/command/batch_index_node.rb +1 -1
  11. data/lib/aerospike/command/batch_item.rb +1 -1
  12. data/lib/aerospike/command/command.rb +65 -25
  13. data/lib/aerospike/command/field_type.rb +25 -25
  14. data/lib/aerospike/command/login_command.rb +4 -4
  15. data/lib/aerospike/command/multi_command.rb +8 -2
  16. data/lib/aerospike/command/read_command.rb +2 -2
  17. data/lib/aerospike/connection/authenticate.rb +3 -3
  18. data/lib/aerospike/exp/exp.rb +1262 -0
  19. data/lib/aerospike/features.rb +9 -9
  20. data/lib/aerospike/host/parse.rb +2 -2
  21. data/lib/aerospike/key.rb +10 -1
  22. data/lib/aerospike/node/refresh/info.rb +1 -1
  23. data/lib/aerospike/node/verify/name.rb +1 -1
  24. data/lib/aerospike/node/verify/partition_generation.rb +1 -1
  25. data/lib/aerospike/node/verify/peers_generation.rb +1 -1
  26. data/lib/aerospike/node/verify/rebalance_generation.rb +1 -1
  27. data/lib/aerospike/policy/policy.rb +4 -1
  28. data/lib/aerospike/policy/query_policy.rb +35 -2
  29. data/lib/aerospike/policy/scan_policy.rb +19 -2
  30. data/lib/aerospike/privilege.rb +1 -1
  31. data/lib/aerospike/query/node_partitions.rb +39 -0
  32. data/lib/aerospike/query/partition_filter.rb +66 -0
  33. data/lib/aerospike/query/partition_status.rb +36 -0
  34. data/lib/aerospike/query/partition_tracker.rb +347 -0
  35. data/lib/aerospike/query/query_command.rb +1 -1
  36. data/lib/aerospike/query/query_executor.rb +73 -0
  37. data/lib/aerospike/query/query_partition_command.rb +266 -0
  38. data/lib/aerospike/query/scan_command.rb +3 -3
  39. data/lib/aerospike/query/scan_executor.rb +69 -0
  40. data/lib/aerospike/query/scan_partition_command.rb +49 -0
  41. data/lib/aerospike/query/statement.rb +8 -1
  42. data/lib/aerospike/query/stream_command.rb +15 -1
  43. data/lib/aerospike/result_code.rb +79 -4
  44. data/lib/aerospike/role.rb +2 -2
  45. data/lib/aerospike/task/execute_task.rb +2 -2
  46. data/lib/aerospike/task/index_task.rb +1 -1
  47. data/lib/aerospike/user_role.rb +1 -1
  48. data/lib/aerospike/utils/buffer.rb +32 -7
  49. data/lib/aerospike/utils/pool.rb +1 -1
  50. data/lib/aerospike/value/value.rb +6 -6
  51. data/lib/aerospike/version.rb +1 -1
  52. data/lib/aerospike.rb +8 -0
  53. 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
- * **Fixes**
8
- * [CLIENT-1785] Fix Client#read_users to avoid error. PR #112 Thanks to [Dotan Mor](https://github.com/dotan-mor)
9
- * [CLIENT-1787] Support multiple DNS IPs during connection.
10
- * [CLIENT-1789] Authentication Retry fails in certain conditions.
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
- * **Bug Fixes**
17
- * Fix called function name in Authenticate.
32
+ - **Bug Fixes**
33
+ - Fix called function name in Authenticate.
18
34
 
19
35
  ## [2.21.0] - 2022-06-07
20
36
 
21
- * **New Features**
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
- * **Improvements**
25
- * Do not run PredExp tests for server v6+.
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
- * **Improvements**
30
- * Add basic support for the new authentication protocol.
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
- * **New Features**
37
- * [CLIENT-1467] Support native Boolean type for server v5.6+.
53
+ - **New Features**
54
+
55
+ - [CLIENT-1467] Support native Boolean type for server v5.6+.
38
56
 
39
- * **Improvements**
40
- * Add basic support for server v4.9+ scan/queries.
41
- * Don't check for key equality in Batch command results.
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
- * **Improvements**
46
- * 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)]
47
- * Adds `ResultCode::LOST_CONFLICT`
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
- * **Bug Fixes**
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
- * **Improvements**
56
- * Added missing server error codes.
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
- * **New Features**
61
- * [CLIENT-1246] Adds missing API for Context#list_index_create and Context#map_key_create
79
+ - **New Features**
80
+
81
+ - [CLIENT-1246] Adds missing API for Context#list_index_create and Context#map_key_create
62
82
 
63
- * **Bug Fixes**
64
- * Fixed an issue were MsgPack extensions were not recursively cleared from the CDTs during unpacking.
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
- * **New Features**
69
- * [CLIENT-1173], [CLIENT-1246] Support Nested CDT operations with Context.
70
- * [CLIENT-1179], Support Bitwise operations.
88
+ - **New Features**
71
89
 
72
- * **Changes**
73
- * `ListSortFlags` now has an `ASCENDING` option, with `DEFAULT` mapping to it.
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
- * **New Features**
78
- * [CLIENT-1254] Adds support for HyperLogLog.
98
+ - **New Features**
99
+
100
+ - [CLIENT-1254] Adds support for HyperLogLog.
79
101
 
80
- * **Changes**
81
- * `Client#operate` now uses `OperatePolicy` by default.
102
+ - **Changes**
103
+ - `Client#operate` now uses `OperatePolicy` by default.
82
104
 
83
105
  ## [2.14.0] - 2020-08-06
84
106
 
85
- * **New Features**
86
- * Adds support for rack-aware reads.
87
- * Adds support for client-server compression.
107
+ - **New Features**
108
+
109
+ - Adds support for rack-aware reads.
110
+ - Adds support for client-server compression.
88
111
 
89
- * **Improvements**
90
- * Adds support for `truncate-namespace` command.
112
+ - **Improvements**
113
+ - Adds support for `truncate-namespace` command.
91
114
 
92
115
  ## [2.13.0] - 2020-07-17
93
116
 
94
- * **New Features**
95
- * Adds support for replica policies.
117
+ - **New Features**
96
118
 
97
- * **Improvements**
98
- * Remove support for "old" partition tokenizer.
99
- * Refactor how partition parser is initialized and called.
100
- * Adds support for 'replicas' and remove the old partition table queries from the server.
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
- * **New Features**
105
- * Support for predicate expressions in all transaction.
106
- * Support for `operation.delete` in `client#operate`.
128
+ - **New Features**
129
+
130
+ - Support for predicate expressions in all transaction.
131
+ - Support for `operation.delete` in `client#operate`.
107
132
 
108
- * **Improvements**
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
- * **Bug Fixes**
114
- * Fixes tests that weren't using ENV variables for connections. This will allow the tests to be run on any server.
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
- * **New Features**
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
- * **Bug Fixes**
123
- * Client#execute\_udf\_on\_query should not modify the statement argument. [[#79](https://github.com/aerospike/aerospike-client-ruby/issues/79)]
124
- * Encoding::UndefinedConversionError when reading blob data from CDT list/map bin. [[#84](https://github.com/aerospike/aerospike-client-ruby/issues/84)]
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
- * **New Features**
129
- * Add support for LB discovery / seeding. Thanks to [@filiptepper](https://github.com/filiptepper)! [[#80](https://github.com/aerospike/aerospike-client-ruby/issues/80)]
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
- * **Bug Fixes**
134
- * 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)]
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
- * **Updates**
137
- * Change admin message version to 2 (from 0)
138
- * Remove unused BIN_EXISTS_ERROR (6) and BIN_NOT_FOUND (17) error codes
139
- * Tests: Support setting user/password when running specs
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
- * **New Features**
144
- * Add INFINITY and WILDCARD values for use in CDT map/list comparators. [AER-5945]
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
- * **Bug Fixes**
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
- * **Updates**
150
- * *BREAKING CHANGE*: Change default for send_key write policy to false [[#73](https://github.com/aerospike/aerospike-client-ruby/issues/73)]
151
- * Support truncate info command argument "lut=now" for servers that require it. [AER-5955]
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
- * **New Features**
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
- * **Bug Fixes**
164
- * Check connection status of sockets retrieved from connection pool [[#72](https://github.com/aerospike/aerospike-client-ruby/pull/72)]
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
- * **Updates**
167
- * Add JRuby back to CI test matrix [[#70](https://github.com/aerospike/aerospike-client-ruby/pull/70)]
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
- * **New Features**
172
- * Batch Index protocol support. Thanks to [@deenbandhu-agarwal](https://github.com/deenbandhu-agarwal)! [[#61](https://github.com/aerospike/aerospike-client-ruby/pull/61)]
173
- * Memory optimization: Avoid easy allocations. Thanks to [@wallin](https://github.com/wallin)! [[#62](https://github.com/aerospike/aerospike-client-ruby/pull/62)]
174
- * New node removal strategy. Thanks to [@wallin](https://github.com/wallin)! [[#63](https://github.com/aerospike/aerospike-client-ruby/pull/63)]
175
- * 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)]
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
- * **New Features**
180
- * 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)]
181
- * 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)]
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
- * **Bug Fixes**
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
- * **Updates**
187
- * Update minimum required Ruby version to v2.3.
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
- * **Bug Fixes**
192
- * 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)
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
- * **Updates**
195
- * Added Ruby 2.5 to test matrix
196
- * Updated documentation for Client#truncate command [CLIENT-985]
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
- * **New Features**
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
- * **Updates**
205
- * The deprecated Large Data Types(LDT) feature has been removed.
206
- * 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.
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
- * **New Features**
211
- * Support ns/set truncate command [#47](https://github.com/aerospike/aerospike-client-ruby/issues/47)
212
- * Support configurable scan socket write timeout [#46](https://github.com/aerospike/aerospike-client-ruby/issues/46)
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
- * **Bug Fixes**
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
- * **Updates**
218
- * 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)
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
- * **Bug Fixes**
223
- * Fix BytesValue used as record key. [#42](https://github.com/aerospike/aerospike-client-ruby/issues/42)
259
+ - **Bug Fixes**
260
+
261
+ - Fix BytesValue used as record key. [#42](https://github.com/aerospike/aerospike-client-ruby/issues/42)
224
262
 
225
- * **Changes**
226
- * Deprecate unsupport key types - only integer, string and byte keys are supported. [#43](https://github.com/aerospike/aerospike-client-ruby/issues/43)
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
- * **New Features**
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
- * **Bug Fixes**
234
- * Fix "Add node failed: wrong number of arguments". [#41](https://github.com/aerospike/aerospike-client-ruby/issues/41)
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
- * **New Features**
239
- * Support for durable delete write policy [CLIENT-768]; requires Aerospike
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
- * Support Cluster Name verification [CLIENT-776]; requires Aerospike Server v3.10 or later.
281
+ - Support Cluster Name verification [CLIENT-776]; requires Aerospike Server v3.10 or later.
282
+
283
+ - **Bug Fixes**
242
284
 
243
- * **Bug Fixes**
244
- * Fix error handling in node refresh during cluster tend.
285
+ - Fix error handling in node refresh during cluster tend.
245
286
 
246
- * **Improvements**
247
- * Optionally return multiple results from read operations on same record bin.
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
- * **Documentation**
252
- * Added note about potential issues with usage in Ruby on Rails with Phusion Passenger.
253
- * Amend/clean up documentation of client policies.
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
- * **Bug Fixes**
258
- * Fix incorrect expiration times on records fetched via batch_get or query operations. [#38](https://github.com/aerospike/aerospike-client-ruby/issues/38)
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
- * **Improvements**
261
- * Add support for two new server error codes (23 & 24) introduced in Aerospike Server v3.9.1.
262
- * Records returned by batch_get operation should include the full key incl. the user key part.
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
- * **Fixes**
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
- * **Improvements**
271
- * Support for queries on Lists and Maps (keys & values)
272
- * Support for creating indexes on Lists and Maps [CLIENT-685]
273
- * Support GeoJSON values in Lists and Maps
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
- * **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.
278
- * 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.
279
- * Backward incompatible changes to the `Aerospike::Client.new` initializer.
280
- * The `Aerospike::Client.new_many` initializer has been removed; use `Aerospike::Client.new` instead.
281
- * Drop support for Ruby 1.9.3; requires Ruby 2.0 or later.
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
- * **Improvements**
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
- * **Fixes**
289
- * Fix digest creation for integer keys. [PR #34](https://github.com/aerospike/aerospike-client-ruby/pull/34). Thanks to [@murphyslaw](https://github.com/murphyslaw)!
290
- * 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)!
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
- * **Fixes**:
340
+ - **Fixes**:
295
341
 
296
- * Fixed syntax error in Client when raising exception for invalid bin key;
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
- * Use UTF-8 as default encoding when writing/reading Strings from record
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
- Major feature and bug fix release.
351
+ Major feature and bug fix release.
306
352
 
307
- * **Fixes**:
353
+ - **Fixes**:
308
354
 
309
- * Fix `ClientPolicy` to actually accept `fail_if_not_connected` parameter from constructor opts. PR #29, thanks to [Nick Recobra](https://github.com/oruen)
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
- * Fix record initialization issue. PR #28, thanks to [jzhua](https://github.com/jzhua)
357
+ - Fix record initialization issue. PR #28, thanks to [jzhua](https://github.com/jzhua)
312
358
 
313
- * Consume the rest of the stream when scan/query is finished.
359
+ - Consume the rest of the stream when scan/query is finished.
314
360
 
315
- * **Improvements**:
361
+ - **Improvements**:
316
362
 
317
- * Support for double precision floating point data type in record bins.
318
- Requires server version 3.6.0 or later. [CLIENT-599]
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
- * Support for geospatial data in record bins using GeoJSON format; support
321
- for querying geospatial indexes using points-within-region and
322
- region-contains-point filters. Requires server version 3.7.0 or later.
323
- [CLIENT-594]
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
- * Tend interval is now configurable via the client policy. Default is 1
326
- second as before.
371
+ - Tend interval is now configurable via the client policy. Default is 1
372
+ second as before.
327
373
 
328
- * Only logs tend messages when the number of cluster nodes have changed.
374
+ - Only logs tend messages when the number of cluster nodes have changed.
329
375
 
330
- * Scan and Query termination has been fixed.
376
+ - Scan and Query termination has been fixed.
331
377
 
332
378
  ## [1.0.10] - 2015-09-22
333
379
 
334
- Major fix release.
380
+ Major fix release.
335
381
 
336
- * **Fixes**:
382
+ - **Fixes**:
337
383
 
338
- * Fixes `find_node_in_partition_map` logic.
384
+ - Fixes `find_node_in_partition_map` logic.
339
385
 
340
- * Fixes `Node.Refresh` logic.
386
+ - Fixes `Node.Refresh` logic.
341
387
 
342
- * Fixes an issue with dead connections that would cause an infinite loop.
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
- Minor fix release.
392
+ Minor fix release.
347
393
 
348
- * **Fixes**:
394
+ - **Fixes**:
349
395
 
350
- * Sends the original key value to the server for all relevant commands, including `operate` and `execute_udf`
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
- Minor fix release.
400
+ Minor fix release.
355
401
 
356
- * **Improvements**:
402
+ - **Improvements**:
357
403
 
358
- * Adds 'Filter.to_s'. Thanks to [Ángel M](https://github.com/Angelmmiguel)
404
+ - Adds 'Filter.to_s'. Thanks to [Ángel M](https://github.com/Angelmmiguel)
359
405
 
360
- * **Fixes**:
406
+ - **Fixes**:
361
407
 
362
- * Fixes an issue in write policy that would use an undefined variable if `:send_key` isn't `nil`.
408
+ - Fixes an issue in write policy that would use an undefined variable if `:send_key` isn't `nil`.
363
409
 
364
- * Fixes an issue in cluster.closed logic.
410
+ - Fixes an issue in cluster.closed logic.
365
411
 
366
- * Fixes an issue with including the `statement.rb` in the manifest. Thanks to [Ángel M](https://github.com/Angelmmiguel)
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
- Minor fixes.
416
+ Minor fixes.
371
417
 
372
- 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.
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
- * **Improvements**:
420
+ - **Improvements**:
375
421
 
376
- * Removed workaround in `BatchGet`. Bins are filtered on server now.
422
+ - Removed workaround in `BatchGet`. Bins are filtered on server now.
377
423
 
378
- * Added New Error Codes. Fixes Issues #17 and #18
424
+ - Added New Error Codes. Fixes Issues #17 and #18
379
425
 
380
- * Node validator won't lookup hostsif an IP is passed as a seed to it.
426
+ - Node validator won't lookup hostsif an IP is passed as a seed to it.
381
427
 
382
- * ** Other Changes **
428
+ - ** Other Changes **
383
429
 
384
- * Removed deprecated `ReplaceRoles()` method.
430
+ - Removed deprecated `ReplaceRoles()` method.
385
431
 
386
- * Removed deprecated `SetCapacity()` and `GetCapacity()` methods for LDTs.
432
+ - Removed deprecated `SetCapacity()` and `GetCapacity()` methods for LDTs.
387
433
 
388
434
  ## [1.0.6] - 2015-04-02
389
435
 
390
- Minor fixes.
436
+ Minor fixes.
391
437
 
392
- * **New Features**:
438
+ - **New Features**:
393
439
 
394
- * Fixed running a stream query without parameters to the function.
440
+ - Fixed running a stream query without parameters to the function.
395
441
 
396
442
  ## [1.0.5] - 2015-03-25
397
443
 
398
- Minor improvements.
444
+ Minor improvements.
399
445
 
400
- * **New Features**:
446
+ - **New Features**:
401
447
 
402
- * Added `:execute_udf_on_query` method to `Aerospike::Client`
448
+ - Added `:execute_udf_on_query` method to `Aerospike::Client`
403
449
 
404
450
  ## [1.0.4] - 2015-03-24
405
451
 
406
- Hot fix.
452
+ Hot fix.
407
453
 
408
- * **Fixes**:
454
+ - **Fixes**:
409
455
 
410
- * Close a socket if connection raises an exception to avoid leaking the file descriptor.
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
- Minor fixes and improvements.
415
-
416
- * **New Features**:
460
+ Minor fixes and improvements.
417
461
 
418
- * Symbols are now accepted as key values. Keep in mind that symbols are converted to string automatically, and type information is lost.
462
+ - **New Features**:
419
463
 
420
- * **Fixes**:
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
- * Wait for a good connection on `socket.connect_nonblock` to prevent infinite loops on read/write operations.
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
- Minor improvements.
472
+ Minor improvements.
428
473
 
429
- * **New Features**:
474
+ - **New Features**:
430
475
 
431
- * Added `:new_many` method to `Aerospike::Client`
476
+ - Added `:new_many` method to `Aerospike::Client`
432
477
 
433
478
  ## [1.0.1] - 2015-01-28
434
479
 
435
- Hot fix.
480
+ Hot fix.
436
481
 
437
- * **Fixes**:
482
+ - **Fixes**:
438
483
 
439
- * Added `bcrypt` to the gem dependencies.
484
+ - Added `bcrypt` to the gem dependencies.
440
485
 
441
486
  ## [1.0.0] - 2015-01-26
442
487
 
443
- Major release. With this release, Ruby client graduates to version 1.
488
+ Major release. With this release, Ruby client graduates to version 1.
444
489
 
445
- * **Breaking Changes**:
490
+ - **Breaking Changes**:
446
491
 
447
- * 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.
448
- * Removed `Record.dups` and `GenerationPolicy::DUPLICATE`
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
- * **New Features**:
495
+ - **New Features**:
451
496
 
452
- * Added Security Features: Please consult [Security Docs](https://www.aerospike.com/docs/guide/security.html) on Aerospike website.
497
+ - Added Security Features: Please consult [Security Docs](https://www.aerospike.com/docs/guide/security.html) on Aerospike website.
453
498
 
454
- * `ClientPolicy.User`, `ClientPolicy.Password`
455
- * `Client.CreateUser()`, `Client.DropUser()`, `Client.ChangePassword()`
456
- * `Client.GrantRoles()`, `Client.RevokeRoles()`, `Client.ReplaceRoles()`
457
- * `Client.QueryUser()`, `Client.QueryUsers`
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
- * **Fixes**:
504
+ - **Fixes**:
460
505
 
461
- * fixed size returned from `BytesValue.write`
506
+ - fixed size returned from `BytesValue.write`
462
507
 
463
508
  ## [0.1.6] - 2014-12-28
464
509
 
465
- Minor features added, minor fixes and improvements.
510
+ Minor features added, minor fixes and improvements.
466
511
 
467
- * **New Features**:
512
+ - **New Features**:
468
513
 
469
- * Added `Policy.consistency_level`
470
- * Added `WritePolicy.commit_level`
514
+ - Added `Policy.consistency_level`
515
+ - Added `WritePolicy.commit_level`
471
516
 
472
- * **Fixes**
517
+ - **Fixes**
473
518
 
474
- * Fixed setting timeout on connection
475
- * Fixed exception handling typo for Connection#write
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
- Major features added, minor fixes and improvements.
524
+ Major features added, minor fixes and improvements.
480
525
 
481
- * **New Features**:
526
+ - **New Features**:
482
527
 
483
- * Added `Client.scan_node`, `Client.scan_all`
484
- * Added `Client.query`
528
+ - Added `Client.scan_node`, `Client.scan_all`
529
+ - Added `Client.query`
485
530
 
486
- * **Fixes**
531
+ - **Fixes**
487
532
 
488
- * Fixed getting back results only for specified bin names.
533
+ - Fixed getting back results only for specified bin names.
489
534
 
490
535
  ## [0.1.3] - 2014-10-27
491
536
 
492
- Minor fix.
537
+ Minor fix.
493
538
 
494
- * **Changes**:
539
+ - **Changes**:
495
540
 
496
- * Fixed LDT bin and module name packing.
541
+ - Fixed LDT bin and module name packing.
497
542
 
498
543
  ## [0.1.2] - 2014-10-25
499
544
 
500
- Minor fix.
545
+ Minor fix.
501
546
 
502
- * **Changes**:
547
+ - **Changes**:
503
548
 
504
- * Fixed String unpacking for single byte strings.
549
+ - Fixed String unpacking for single byte strings.
505
550
 
506
551
  ## [0.1.1] - 2014-10-25
507
552
 
508
- Minor fixes.
553
+ Minor fixes.
509
554
 
510
- * **Changes**:
555
+ - **Changes**:
511
556
 
512
- * Fixed String packing header in Hash and Array.
513
- * #find on LDTs returns `nil` instad of raising an exception if the item is not found.
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
- * Initial Release.
562
+ - Initial Release.