-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
282 lines (200 loc) · 8.99 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
erlang-rocksdb 1.1.1, released on 2019/04/12
================================================
- fix spec
erlang-rocksdb 1.1.0, released on 2019/03/26
================================================
- bump rocksdb to version [5.18.3](https://github.com/facebook/rocksdb/releases/tag/v5.18.3)
- add preliminary support for optimistic transactions
- make build more parallel when cores are available
- fix iterate_upper_bound type.
erlang-rocksdb 1.0.0, released on 2019/01/31
================================================
- first stable version
- miscellaneous build improvements with [new build options and optimisations](https://gitlab.com/barrel-db/erlang-rocksdb/blob/master/doc/customize_rocksdb_build.md)
- stable API (refactored in #87, #88)
erlang-rocksdb 0.26.2, released on 2019/01/24
================================================
- fix `batch_merge/3` to call the right function
erlang-rocksdb 0.26.1, released on 2018/12/11
================================================
- fix build on freebsd
- support build with the Thread Building Blocks library (TBB)
erlang-rocksdb 0.26.0, released on 2018/12/05
================================================
- allows [customized builds](http://gitlab.com/barrel-db/erlang-rocksdb/blob/master/doc/customize_rocksdb_build.md)
- fix compilations warnings
** BREAKING CHANGES **
- build is now using cmake instead of autotools
- corruption errors return `{error, {corruption, Reaason :: string()}}` instead of `corruption`.
erlang-rocksdb 0.25.0, released on 2018/11/21
================================================
- bump to rocksdb 0.17.2
- bump snappy to 1.1.7
- bump lz4 to 1.8.3
- add `rocksdb:open_with_ttl/2`.
- add `no_slowdown` and `low_pri` write options
- add `manual_wal_flush` db option
- add support for WriteBuffer (#64)
- add `sst_file_manger()" resource to provide SSTFileManager support and manage disk space. (#74)
- fix `aproximate_sizes_test` and `approximate_memtable_stats_test`
** BREAKING CHANGES **
- handle flush options in rocksdb:flush/{2, 3}
With this change `rocksdb:flush/1` has been removed while second parameter
of `rocksdb:flush/2` are now `FlushOptions::flush_options()`.
Use `rocksdb:flush/3' to flush a column family
- change signature of `rocksdb:get_approximate_memtable_stats/{2,3}`
to `rocksdb:get_approximate_memtable_stats/4`
erlang-rocksdb 0.24.0, released on 2018/11/06
================================================
- add `rocksdb:get_approximate_sizes/{3,4}: amroximate the size of a range of keys
- add `rocksdb:get_approximate_memtable_stats/{2,3}` : aproximate the size and the number of keys in a memtable
- add `rocksdb:compact_range/{4,5}`: Compact the underlying storage for a key range
erlang-rocksdb 0.23.3, released on 2018/10/31
================================================
- fix possible memory leaks when trying to open a bad CF resource.
erlang-rocksdb 0.23.2, released on 2018/10/30
================================================
- fix memory leaks
erlang-rocksdb 0.23.1, released on 2018/10/08
================================================
- fix bitset merge operator under load
erlang-rocksdb 0.23.0, released on 2018/10/05
================================================
- add bytewise and reverse bytewise comparators
- add iterate_upper_bound, iterate_lower_bound_options and prefix_same_as_start to iterator options
- improve: prevernt garbage collection in batch
- fix bitset merge operator, handle exceptions
- fix counter merge operator, handle exceptions
erlang-rocksdb 0.22.0, released on 2018/09/25
================================================
- fix NIF memory leak in `erocksdb::Get`
- add counter_merge_operator
erlang-rocksdb 0.21.0, released on 2018/09/16
================================================
- bump to rocksdb 5.15.10
- add: erlang merge operator
- add: erlang bitset merge operator
- add: rocksdb:batch_data_size/1
- add: prefix_transform option
erlang-rocksdb 0.20.0, released on 2018/08/03
================================================
- bump to rocksdb 5.14.2
erlang-rocksdb 0.19.0, released on 2018/07/04
================================================
- bump to rocksdb 5.13.4
- add `rocksdb:set_strict_capacity_limit/2` for cache
- add `optimize_filters_for_hits` database option
- add `new_table_reader_for_compaction_inputs` database option
- add `max_subcompactions` database option
erlang-rocksdb 0.18.0, released on 2018/05/03
================================================
- bump to rocksdb 5.12.4
erlang-rocksdb 0.17.0, released on 2018/03/25
================================================
- bump ro rocksdb 5.11.3
- improve build to make it faster, only use makefiles
- optimise single operations Get/Put/Delete/DeleteSing: don't call batch
- optimise write: use batch and do less operations in the the nif: make scheduler happy
- fix leak in batch
- breaking change: rename `close_batch/1` in `relase_batch/1`
erlang-rocksdb 0.16.0, released on 2018/03/13
=================================================
- add single_delete operation (to key/value and batch api)
- add iterator_refresh function
- add support for level_compaction_dynamic_level_bytes for column family options
- add rate_limiter support
- many optimisations to the source code and build
- bump to rocksdb 5.10.4
erlang-rocksdb 0.15.0, released on 2018/02/10
=================================================
- add support for lz4 compression
- add new database option `max_background_jobs`
- fix: potential memory leak
erlang-rocksdb 0.14.0, released on 2018/01/31
=================================================
- bump to rocksdb 5.7.5
- bump to snappy 1.1.4
erlang-rocksdb 0.13.1, released on 2017/09/07
=================================================
- fix: remove memory leaks spotted with valgrind
erlang-rocksdb 0.13.0, released on 2017/09/06
=================================================
* add new cache api
- new_lru_cache/1,
- new_clock_cache/1,
- get_usage/1,
- get_pinned_usage/1,
- set_capacity/2,
- get_capacity/1
- release_cache/1
* add new env api
- default_env/0,
- mem_env/0,
- set_env_background_threads/{2, 3},
- destroy_env/1
* remove default shared block cache in private env to reduce the vm memory usage.
erlang-rocksdb 0.12.0, released on 2017/09/05
=================================================
- add get_block_cache_usage/1
- add block_cache_capacity/{1, 0}
- add new db option {env, Env} where Env can be `default` or `memenv`.
- add new db option {db_write_buffer_size, INT}
- fix: cache usahe, correctly reuse the cache among instances
- fix: options parsing, reuse code where we can and correctly
handle db optinos
*** BREAKING CHANGE ***
The following cache functions has been removed:
- new_lru_cache/1,
- new_clock_cache/1,
- get_usage/1,
- get_pinned_usage/1,
- set_capacity/2,
- get_capacity/1
instead use the new block_cache function to change the
size of the shared cache. A new api to setup different caches
will come in the next version.
The following functions has been removed:
- default_env/0,
- mem_env/0,
- set_background_threads/2, set_background_threads/3,
- destroy_env/1]).
For now it's not possible to create a shared environment. also
the {in_memory, true} setting has been removed.
To set a memory environement use the option {env, memenv}.
erlang-rocksdb 0.11.0, released on 2017/07/29
=================================================
- add rocksdb:get_snapshot_sequence/1
erlang-rocksdb 0.10.0, released on 2017/07/28
=================================================
- bump to rocksdb 5.7.2
- add: rocksdb:delete_range/{4,5}
- add: support for the backup api
- add: rocksdb:destroy_column_family/1
- proper fix to handle an iterator with column family issue
erlang-rocksdb 0.9.1, released on 2017/07/26
============================================
- fix iterator with column familly issue
- fix mutex usage igit push --tagsn the db object
erlang-rocksdb 0.9.0, released on 2017/05/31
============================================
- bump to rocksdb 5.4.5
- remove `disable_data_sync` db option, optimisations removed in rocksdb
- remove `timeout_hint_us` db option, was useless since 2 years
- remove `verify_checksums_in_compaction` db option. it's always done.
- remove `skip_table_builder_flush` db option
- remove `allow_os_buffer` db option
- add `{seek_for_prev, Prev}` db option
- allows to fold a column familly
erlang-rocksdb 0.8.2, released on 2017/05/17
============================================
- fix: fix default_env/0 & mem_env/0 spec
erlang-rocksdb 0.8.1, released on 2017/05/17
============================================
- fix: use an uint64 to set the capacity of LRU or CLOCK caches.
erlang-rocksdb 0.8.0, released on 2017/05/17
============================================
- replace custom pool by dirty-nif calls
- allows a cache to be shared between databases (option `block_cache` from the block options)
- allows an environment to be set and shared across databases (option `env`)
- add support of batch operations, allows you to incrementatly update it in memory
- add support for transaction log operations (riteration and replication)