CHANGELOG 8.57 KB
Newer Older
1 2 3 4 5 6 7
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)

benoît chesneau's avatar
benoît chesneau committed
8 9 10 11 12
erlang-rocksdb 0.26.2, released on 2019/01/24
================================================

- fix `batch_merge/3` to call the right function

benoît chesneau's avatar
benoît chesneau committed
13 14 15 16
erlang-rocksdb 0.26.1, released on 2018/12/11
================================================

- fix build on freebsd
benoît chesneau's avatar
benoît chesneau committed
17
- support build with the Thread Building Blocks library (TBB)
benoît chesneau's avatar
benoît chesneau committed
18

benoît chesneau's avatar
benoît chesneau committed
19 20 21 22 23 24 25 26 27 28 29
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
30
erlang-rocksdb 0.25.0, released on 2018/11/21
benoît chesneau's avatar
benoît chesneau committed
31 32 33
================================================

- bump to rocksdb 0.17.2
34 35
- bump snappy to 1.1.7
- bump lz4  to 1.8.3
benoît chesneau's avatar
benoît chesneau committed
36
- add `rocksdb:open_with_ttl/2`.
37 38
- add `no_slowdown` and `low_pri` write options
- add `manual_wal_flush`  db option
benoît chesneau's avatar
benoît chesneau committed
39 40
- add support for WriteBuffer (#64)
- add `sst_file_manger()" resource to provide SSTFileManager support and manage disk space. (#74)
benoît chesneau's avatar
benoît chesneau committed
41
- fix `aproximate_sizes_test` and `approximate_memtable_stats_test`
benoît chesneau's avatar
benoît chesneau committed
42

43 44 45 46 47 48
** 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
49
- change signature of `rocksdb:get_approximate_memtable_stats/{2,3}`
benoît chesneau's avatar
benoît chesneau committed
50
  to `rocksdb:get_approximate_memtable_stats/4`
51

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

benoît chesneau's avatar
benoît chesneau committed
53 54 55 56 57
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
58
- add `rocksdb:compact_range/{4,5}`: Compact the underlying storage for a key range
benoît chesneau's avatar
benoît chesneau committed
59

benoît chesneau's avatar
benoît chesneau committed
60 61 62 63 64
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
65 66 67 68 69
erlang-rocksdb 0.23.2, released on 2018/10/30
================================================

- fix memory leaks

benoît chesneau's avatar
benoît chesneau committed
70 71 72 73 74
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
75 76 77
erlang-rocksdb 0.23.0, released on 2018/10/05
================================================

benoît chesneau's avatar
benoît chesneau committed
78
- add bytewise and reverse bytewise comparators
benoît chesneau's avatar
benoît chesneau committed
79 80
- 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
81
- fix bitset merge operator, handle exceptions
benoît chesneau's avatar
benoît chesneau committed
82 83
- fix counter merge operator, handle exceptions

benoît chesneau's avatar
benoît chesneau committed
84 85 86 87 88 89
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
90
erlang-rocksdb 0.21.0, released on 2018/09/16
91 92
================================================

benoît chesneau's avatar
benoît chesneau committed
93
- bump to rocksdb 5.15.10
94 95
- add: erlang merge operator
- add: erlang bitset merge operator
benoît chesneau's avatar
benoît chesneau committed
96 97
- add: rocksdb:batch_data_size/1
- add: prefix_transform option
98

benoît chesneau's avatar
benoît chesneau committed
99
erlang-rocksdb 0.20.0, released on 2018/08/03
Sergey Elin's avatar
Sergey Elin committed
100 101 102 103 104
================================================

- bump to rocksdb 5.14.2

erlang-rocksdb 0.19.0, released on 2018/07/04
105 106
================================================

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

116 117
- bump to rocksdb 5.12.4

benoît chesneau's avatar
benoît chesneau committed
118 119 120 121 122 123 124 125 126 127
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`

128 129 130 131 132 133 134 135 136 137 138
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
139 140 141 142 143 144
=================================================

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

145 146 147 148 149 150
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
151 152 153 154 155
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
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
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
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
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}.


219 220 221 222 223
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
224
erlang-rocksdb 0.10.0, released on 2017/07/28
benoît chesneau's avatar
benoît chesneau committed
225 226
=================================================

benoît chesneau's avatar
benoît chesneau committed
227
- bump to rocksdb 5.7.2
228 229
- add: rocksdb:delete_range/{4,5}
- add: support for the backup api
benoît chesneau's avatar
benoît chesneau committed
230 231
- add: rocksdb:destroy_column_family/1
- proper fix to handle an iterator with column family issue
232

benoît chesneau's avatar
benoît chesneau committed
233 234 235 236

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

benoît chesneau's avatar
benoît chesneau committed
237
- fix iterator with column familly issue
238
- fix mutex usage igit push --tagsn the db object
benoît chesneau's avatar
benoît chesneau committed
239

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

- bump to rocksdb 5.4.5
244
- remove `disable_data_sync` db option, optimisations removed in rocksdb
245 246 247
- 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
248 249
- remove `allow_os_buffer` db option
- add `{seek_for_prev, Prev}` db option
benoît chesneau's avatar
benoît chesneau committed
250
- allows to fold a column familly
251

benoît chesneau's avatar
benoît chesneau committed
252 253
erlang-rocksdb 0.8.2, released on 2017/05/17
============================================
benoît chesneau's avatar
benoît chesneau committed
254 255 256

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

benoît chesneau's avatar
benoît chesneau committed
257 258
erlang-rocksdb 0.8.1, released on 2017/05/17
============================================
benoît chesneau's avatar
benoît chesneau committed
259 260 261

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

benoît chesneau's avatar
benoît chesneau committed
262 263
erlang-rocksdb 0.8.0, released on 2017/05/17
============================================
benoît chesneau's avatar
benoît chesneau committed
264 265

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