aerospike 2.19.0 → 2.26.0

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