Released on 2020.01.08
- Improve
ColumnFamilyOptionsby @jurmous in PR #19- Add
compactionStylesetting - Change
maxBytesForLevelMultiplierto a double to match internal type - Add missing
level0FileNumCompactionTriggerimplementation
- Add
- Expand
WriteOptionswithnoSlowdownandlowPriorityoptions by @jurmous in PR #21 - Expand
RocksDBIteratorwithseekForPrevandstatusmethods by @jurmous in PR #22 - Expand
CompactRangeOptionsby @jurmous in PR #25allowWriteStall,maxSubcompactions,targetPathId,exclusiveManualCompaction
- Removed redundant mem-copy in Iterator and improved release semantics in
enumeratemethods by @myeyesareblind in PRs #27 & #28 - Fix
bottommostLevelCompactionswitch statement by @jurmous in PR #20
- Project settings to Xcode11
Released on 2019.09.29
- Updated to RocksDB
6.2.4- Thanks to @jurmous in PR #18
Released on 2017.05.25
- RocksDB Version:
5.13.1: facebook/rocksdb@c60df9d
-
CocoaPods integration
- Spec & Scripts by @rob-keepsafe in #9
-
RocksDB
isClosedmethod to check if the database instance is still open.- Added by @rob-keepsafe in #11
- Project settings to Xcode9
- Tests to Swift4 syntax
Released on 2017.07.13
- RocksDB Version:
5.4.6: facebook/rocksdb@6e05979
- Updated Column Family options:
uint32_t memtablePrefixBloomProbes~>double memtablePrefixBloomSizeRatiosize_t memtablePrefixBloomHugePageTlbSize~>size_t memtableHugePageTlbSize
- Updated Statistics tickers and histograms
- Removed obsolete DB options:
BOOL disableDataSync
- Removed obsolete Column Family options:
int expandedCompactionFactorint sourceCompactionFactorint maxGrandparentOverlapFactorBOOL verifyChecksumsInCompactionBOOL filterDeletesuint32_t memtablePrefixBloomBitsuint32_t minPartialMergeOperands
Released on 2017.02.19
- RocksDB Version:
4.6.1: facebook/rocksdb@8d7926a
- Missing nullability annotations and light-weight generics throughout code base
- New playground content
- Project for Xcode 8
- Swift tests for Swift 3
- Playground contents and syntax for Swift 3
- Travis config for iOS 10.2, macOS 10.12
- Deployment targets to macOS 10.10, iOS 9.0
- Removed the deprecated
timeoutHintoption - Removed the deprecated
maxMemCompactionLeveloption
The built-in encoding/decoding of keys and values via the encoding options is completelty removed from this release. The API is completely NSData-based now.
- Removed built-it Key/Value
EncodersandDecoders- The conversions of custom types to/from
NSDatais the responsibility of the caller
- The conversions of custom types to/from
- Removed
EncodingOptions - Removed all methods depending on
EncodingOptionsand the built-in key/valueencodingand all of the their variants:setObject:forKey:deleteObjectForKey:objectForKey:mergeObject:forKey:mergeOperation:forKey:
- Refactored all
Iterator,Key ComparatorandMerge Operatormethods accordingly - Removed
NSNumberKey-Comparators - Rename method for setting up default read & write options from
setDefaultReadOptions:andWriteOptions:tosetDefaultReadOptions:writeOptions:- The custom Swift equivalent is
setDefault(readOptions:writeOptions:)
- The custom Swift equivalent is
Released on 2016.06.12
- RocksDB Version:
4.6.1: facebook/rocksdb@8d7926a
- Removed Cocoapods badges from README
Released on 2016.06.12
- RocksDB Version:
4.6.1: facebook/rocksdb@8d7926a
- Support for opening the database in read-only mode
- Support for
Write Batch with IndexandWrite Batch Iterator - Support for
Range Compactionoperations - Nullability annotations
- Better compatibility with Swift
- New statistics and counters
- Cocoapods Podspec
- Travis integration
- RocksDB initializers were changed to class instead of instance methods
- Removed RocksDB methods without error parameter
- Better compatibility with Swift's error-handling model
- Refactored all RocksDB methods so that the error parameter is the last
- Better compatibility with Swift's error-handling model
- Removed
Column Family Metadatafrom iOS target RocksDBIteratorKeyRangeis refactored toRocksDBKeyRange- Key ranges are used not only for iterations but also for compaction jobs
- Empty-range constant is refactored to open-range, since it represents a range containing all the keys
- ObjectiveRocks builds frameworks now instead of static libraries
Released on 2016.07.30
- RocksDB Version:
3.11: facebook/rocksdb@812c461
- Source code documentation
- Removed
+ (instancetype)LRUCacheWithCapacity:numShardsBits:removeScanCountLimit:RocksDB Cache initializer- No longer available since: facebook/rocksdb@c88ff4c
Released on 2015.01.17
- RocksDB Version:
3.9: facebook/rocksdb@b89d58d
All headers are refactored in this release to provide a pure Objective-C interface for Swift compatibility.
- Basic support for RocksDB
Envfor configuring priority thread pools - Support for querying the
Threads Status - Options for
Background CompactionsandBackground Flushes - Iterator methods for key-value iteration
- Support for Column Family Metadata
- Swift tests
- Typo in method name in Filter Policy class
- Typo in method name to retrieve column families in RocksDB class
- Updated
Thread StatusAPI- Adapted according to the changes introduces in: facebook/rocksdb@bf287b7
Released on 2015.01.05
- RocksDB Version:
3.9: facebook/rocksdb@a801c1f
This is the first public release of ObjectiveRocks.
- Database backup and backup-info support
- Database
Checkpoints - Support for collecting database statistics, histograms and properties
- Column Family options
- Support for Column Family
memtable repfactories - Support for
Block-based,Plain-TableandCuckoo-Tablefactories - Support for RocksDB
Cache - Support for RocksDB
Filter Policy
Released on 2015.02.01
- RocksDB Version:
3.9: facebook/rocksdb@a801c1f
Column Familiesimplementation- Implementation for
Generic Merge Operators - Built-In comparator types for
NSString,NSNumber, and RocksDB's own native byte-wise comparator - Built-In Key-Value encoders and decoders for
NSStringandNSJSONSerializabletypes Write Batchmethods formergeoperations- Prefix-based seek iterations
- Tests
Released on 2015.12.23
- RocksDB Version:
3.9: facebook/rocksdb@9cda7cb
First release of ObjectiveRocks featuring basic RocksDB functionality:
- Opening and closing RocksDB instances
- Basic DB options
-
Put,GetandDeleteoperations -
ReadandWriteoptions that are specific to single operations -
Atomicupdates viaWrite Batches - Key-Value encoders and decoders for converting arbitrary objects to and from
NSData - Database iteration support
- Database
Snapshots- Read-only view over the entire DB -
Key Comparatorssupport - For custom key-ordering in the DB -
Associative Merge Operatorssupport - Atomic read-modify-write operations