CHANGELOG 8.12 KB
Newer Older
benoît chesneau's avatar
benoît chesneau committed
1 2 3 4 5 6
erlang-rocksdb 0.26.1, released on 2018/12/11
================================================

- fix build on freebsd
- support build with the Thread Building Blocks library (TBB) 

benoît chesneau's avatar
benoît chesneau committed
7 8 9 10 11 12 13 14 15 16 17
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`.

benoît chesneau's avatar
benoît chesneau committed
18
erlang-rocksdb 0.25.0, released on 2018/11/21 
benoît chesneau's avatar
benoît chesneau committed
19 20 21
================================================

- bump to rocksdb 0.17.2
22 23
- bump snappy to 1.1.7
- bump lz4  to 1.8.3
benoît chesneau's avatar
benoît chesneau committed
24
- add `rocksdb:open_with_ttl/2`.
25 26
- add `no_slowdown` and `low_pri` write options
- add `manual_wal_flush`  db option
benoît chesneau's avatar
benoît chesneau committed
27 28 29
- 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` 
benoît chesneau's avatar
benoît chesneau committed
30

31 32 33 34 35 36
** 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
benoît chesneau's avatar
benoît chesneau committed
37 38
- change signature of `rocksdb:get_approximate_memtable_stats/{2,3}`
  to `rocksdb:get_approximate_memtable_stats/4`  
39

benoît chesneau's avatar
benoît chesneau committed
40

benoît chesneau's avatar
benoît chesneau committed
41 42 43 44 45
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
benoît chesneau's avatar
benoît chesneau committed
46
- add `rocksdb:compact_range/{4,5}`: Compact the underlying storage for a key range
benoît chesneau's avatar
benoît chesneau committed
47

benoît chesneau's avatar
benoît chesneau committed
48 49 50 51 52
erlang-rocksdb 0.23.3, released on 2018/10/31
================================================

- fix possible memory leaks when trying to open a bad CF resource.

benoît chesneau's avatar
benoît chesneau committed
53 54 55 56 57
erlang-rocksdb 0.23.2, released on 2018/10/30
================================================

- fix memory leaks

benoît chesneau's avatar
benoît chesneau committed
58 59 60 61 62
erlang-rocksdb 0.23.1, released on 2018/10/08
================================================

- fix bitset merge operator under load

benoît chesneau's avatar
benoît chesneau committed
63 64 65
erlang-rocksdb 0.23.0, released on 2018/10/05
================================================

benoît chesneau's avatar
benoît chesneau committed
66
- add bytewise and reverse bytewise comparators
benoît chesneau's avatar
benoît chesneau committed
67 68
- add iterate_upper_bound, iterate_lower_bound_options and prefix_same_as_start to iterator options
- improve: prevernt garbage collection in batch
benoît chesneau's avatar
benoît chesneau committed
69
- fix bitset merge operator, handle exceptions
benoît chesneau's avatar
benoît chesneau committed
70 71
- fix counter merge operator, handle exceptions

benoît chesneau's avatar
benoît chesneau committed
72 73 74 75 76 77
erlang-rocksdb 0.22.0, released on 2018/09/25
================================================

- fix NIF memory leak in `erocksdb::Get`
- add counter_merge_operator

benoît chesneau's avatar
benoît chesneau committed
78
erlang-rocksdb 0.21.0, released on 2018/09/16
79 80
================================================

benoît chesneau's avatar
benoît chesneau committed
81
- bump to rocksdb 5.15.10
82 83
- add: erlang merge operator
- add: erlang bitset merge operator
benoît chesneau's avatar
benoît chesneau committed
84 85
- add: rocksdb:batch_data_size/1
- add: prefix_transform option
86

benoît chesneau's avatar
benoît chesneau committed
87
erlang-rocksdb 0.20.0, released on 2018/08/03
Sergey Elin's avatar
Sergey Elin committed
88 89 90 91 92
================================================

- bump to rocksdb 5.14.2

erlang-rocksdb 0.19.0, released on 2018/07/04
93 94
================================================

benoît chesneau's avatar
benoît chesneau committed
95 96 97 98 99 100 101 102 103
- 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
================================================

104 105
- bump to rocksdb 5.12.4

benoît chesneau's avatar
benoît chesneau committed
106 107 108 109 110 111 112 113 114 115
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`

116 117 118 119 120 121 122 123 124 125 126
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
benoît chesneau's avatar
benoît chesneau committed
127 128 129 130 131 132
=================================================

- add support for lz4 compression
- add new database option `max_background_jobs`
- fix: potential memory leak

133 134 135 136 137 138
erlang-rocksdb 0.14.0, released on 2018/01/31
=================================================

- bump to rocksdb 5.7.5
- bump to snappy 1.1.4

benoît chesneau's avatar
benoît chesneau committed
139 140 141 142 143
erlang-rocksdb 0.13.1, released on 2017/09/07
=================================================

- fix: remove memory leaks spotted with valgrind

benoît chesneau's avatar
benoît chesneau committed
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
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.


benoît chesneau's avatar
benoît chesneau committed
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
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}.


207 208 209 210 211
erlang-rocksdb 0.11.0, released on 2017/07/29
=================================================

- add rocksdb:get_snapshot_sequence/1

benoît chesneau's avatar
benoît chesneau committed
212
erlang-rocksdb 0.10.0, released on 2017/07/28
benoît chesneau's avatar
benoît chesneau committed
213 214
=================================================

benoît chesneau's avatar
benoît chesneau committed
215
- bump to rocksdb 5.7.2
216 217
- add: rocksdb:delete_range/{4,5}
- add: support for the backup api
benoît chesneau's avatar
benoît chesneau committed
218 219
- add: rocksdb:destroy_column_family/1
- proper fix to handle an iterator with column family issue
220

benoît chesneau's avatar
benoît chesneau committed
221 222 223 224

erlang-rocksdb 0.9.1, released on 2017/07/26
============================================

benoît chesneau's avatar
benoît chesneau committed
225
- fix iterator with column familly issue
226
- fix mutex usage igit push --tagsn the db object
benoît chesneau's avatar
benoît chesneau committed
227

benoît chesneau's avatar
benoît chesneau committed
228 229
erlang-rocksdb 0.9.0, released on 2017/05/31
============================================
230 231

- bump to rocksdb 5.4.5
232
- remove `disable_data_sync` db option, optimisations removed in rocksdb
233 234 235
- 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
236 237
- remove `allow_os_buffer` db option
- add `{seek_for_prev, Prev}` db option
benoît chesneau's avatar
benoît chesneau committed
238
- allows to fold a column familly
239

benoît chesneau's avatar
benoît chesneau committed
240 241
erlang-rocksdb 0.8.2, released on 2017/05/17
============================================
benoît chesneau's avatar
benoît chesneau committed
242 243 244

- fix: fix default_env/0 & mem_env/0 spec

benoît chesneau's avatar
benoît chesneau committed
245 246
erlang-rocksdb 0.8.1, released on 2017/05/17
============================================
benoît chesneau's avatar
benoît chesneau committed
247 248 249

- fix: use an uint64 to set the capacity of LRU or CLOCK caches.

benoît chesneau's avatar
benoît chesneau committed
250 251
erlang-rocksdb 0.8.0, released on 2017/05/17
============================================
benoît chesneau's avatar
benoît chesneau committed
252 253

- replace custom pool by dirty-nif calls
benoît chesneau's avatar
benoît chesneau committed
254
- allows a cache to be shared between databases (option `block_cache` from the block options)
benoît chesneau's avatar
benoît chesneau committed
255
- allows an environment to be set and shared across databases (option `env`)
benoît chesneau's avatar
benoît chesneau committed
256 257
- add support of batch operations, allows you to incrementatly update it in memory
- add support for transaction log operations (riteration and replication)