1# RocksJava Change Log
2
3## 3.13 (8/4/2015)
4### New Features
5* Exposed BackupEngine API.
6* Added CappedPrefixExtractor support.  To use such extractor, simply call useCappedPrefixExtractor in either Options or ColumnFamilyOptions.
7* Added RemoveEmptyValueCompactionFilter.
8
9## 3.10.0 (3/24/2015)
10### New Features
11* Added compression per level API.
12* MemEnv is now available in RocksJava via RocksMemEnv class.
13* lz4 compression is now included in rocksjava static library when running `make rocksdbjavastatic`.
14
15### Public API Changes
16* Overflowing a size_t when setting rocksdb options now throws an IllegalArgumentException, which removes the necessity for a developer to catch these Exceptions explicitly.
17* The set and get functions for tableCacheRemoveScanCountLimit are deprecated.
18
19
20## By 01/31/2015
21### New Features
22* WriteBatchWithIndex support.
23* Iterator support for WriteBatch and WriteBatchWithIndex
24* GetUpdatesSince support.
25* Snapshots carry now information about the related sequence number.
26* TTL DB support.
27
28## By 11/14/2014
29### New Features
30* Full support for Column Family.
31* Slice and Comparator support.
32* Default merge operator support.
33* RateLimiter support.
34
35## By 06/15/2014
36### New Features
37* Added basic Java binding for rocksdb::Env such that multiple RocksDB can share the same thread pool and environment.
38* Added RestoreBackupableDB
39
40## By 05/30/2014
41### Internal Framework Improvement
42* Added disOwnNativeHandle to RocksObject, which allows a RocksObject to give-up the ownership of its native handle.  This method is useful when sharing and transferring the ownership of RocksDB C++ resources.
43
44## By 05/15/2014
45### New Features
46* Added RocksObject --- the base class of all RocksDB classes which holds some RocksDB resources in the C++ side.
47* Use environmental variable JAVA_HOME in Makefile for RocksJava
48### Public API changes
49* Renamed org.rocksdb.Iterator to org.rocksdb.RocksIterator to avoid potential confliction with Java built-in Iterator.
50
51## By 04/30/2014
52### New Features
53* Added Java binding for MultiGet.
54* Added static method RocksDB.loadLibrary(), which loads necessary library files.
55* Added Java bindings for 60+ rocksdb::Options.
56* Added Java binding for BloomFilter.
57* Added Java binding for ReadOptions.
58* Added Java binding for memtables.
59* Added Java binding for sst formats.
60* Added Java binding for RocksDB Iterator which enables sequential scan operation.
61* Added Java binding for Statistics
62* Added Java binding for BackupableDB.
63
64### DB Benchmark
65* Added filluniquerandom, readseq benchmark.
66* 70+ command-line options.
67* Enabled BloomFilter configuration.
68
69## By 04/15/2014
70### New Features
71* Added Java binding for WriteOptions.
72* Added Java binding for WriteBatch, which enables batch-write.
73* Added Java binding for rocksdb::Options.
74* Added Java binding for block cache.
75* Added Java version DB Benchmark.
76
77### DB Benchmark
78* Added readwhilewriting benchmark.
79
80### Internal Framework Improvement
81* Avoid a potential byte-array-copy between c++ and Java in RocksDB.get.
82* Added SizeUnit in org.rocksdb.util to store consts like KB and GB.
83
84### 03/28/2014
85* RocksJava project started.
86* Added Java binding for RocksDB, which supports Open, Close, Get and Put.
87