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