Skip to content

Releases: iabudiab/ObjectiveRocks

ObjectiveRocks 0.11.0

08 Jan 22:37
Compare
Choose a tag to compare

Released on 2020.01.08

  • Improve ColumnFamilyOptions by @jurmous in PR #19
    • Add compactionStyle setting
    • Change maxBytesForLevelMultiplier to a double to match internal type
    • Add missing level0FileNumCompactionTrigger implementation
  • Expand WriteOptions with noSlowdown and lowPriority options by @jurmous in PR #21
  • Expand RocksDBIterator with seekForPrev and status methods by @jurmous in PR #22
  • Expand CompactRangeOptions by @jurmous in PR #25
    • allowWriteStall, maxSubcompactions, targetPathId, exclusiveManualCompaction
  • Removed redundant mem-copy in Iterator and improved release semantics in enumerate methods by @myeyesareblind in PRs #27 & #28
  • Fix bottommostLevelCompaction switch statement by @jurmous in PR #20

ObjectiveRocks 0.10.0

29 Sep 21:02
Compare
Choose a tag to compare

Released on 2019.09.29

ObjectiveRocks 0.9.0

24 May 22:38
Compare
Choose a tag to compare

Released on 2017.05.25

Added

  • CocoaPods integration

    • Spec & Scripts by @rob-keepsafe in #9
  • RocksDB isClosed method to check if the database instance is still open.

    • Added by @rob-keepsafe in #11

Updated

  • Project settings to Xcode9
  • Tests to Swift4 syntax

ObjectiveRocks 0.8.0

24 May 22:21
Compare
Choose a tag to compare

Released on 2017.07.13

Updated

  • Updated Column Family options:
    • uint32_t memtablePrefixBloomProbes ~> double memtablePrefixBloomSizeRatio
    • size_t memtablePrefixBloomHugePageTlbSize ~> size_t memtableHugePageTlbSize
  • Updated Statistics tickers and histograms

ObjectiveRocks 0.7.0

19 Feb 15:41
Compare
Choose a tag to compare

Released on 2017.02.19

Added

  • Missing nullability annotations and light-weight generics throughout code base
  • New playground content

Updated

  • 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

  • Removed the deprecated timeoutHint option
  • Removed the deprecated maxMemCompactionLevel option

Breaking Changes

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 Encoders and Decoders
    • The conversions of custom types to/from NSData is the responsibility of the caller
  • Removed EncodingOptions
  • Removed all methods depending on EncodingOptions and the built-in key/value encoding and all of the their variants:
    • setObject:forKey:
    • deleteObjectForKey:
    • objectForKey:
    • mergeObject:forKey:
    • mergeOperation:forKey:
  • Refactored all Iterator, Key Comparator and Merge Operator methods accordingly
  • Removed NSNumber Key-Comparators
  • Rename method for setting up default read & write options from setDefaultReadOptions:andWriteOptions: to setDefaultReadOptions:writeOptions:
    • The custom Swift equivalent is setDefault(readOptions:writeOptions:)

ObjectiveRocks 0.6.1

12 Jun 12:52
Compare
Choose a tag to compare

Released on 2016.06.12

Removed

  • CocoaPods badges from README for now
    • Due to the way "pod lib lint" works locally, the pod cannot be validated and pushed to the trunk, although the Pod works just fine when referenced directly in the Podfile, e.g.:

pod "ObjectiveRocks", :git => "https://github.com/iabudiab/ObjectiveRocks.git", :tag => '0.6.0', :submodules => true

ObjectiveRocks 0.6.0

12 Jun 02:14
Compare
Choose a tag to compare

Released on 2016.06.12

Added

  • Support for opening the database in read-only mode
  • Support for Write Batch with Index and Write Batch Iterator
  • Support for Range Compaction operations
  • Nullability annotations
    • Better compatibility with Swift
  • New statistics and counters
  • Cocoapods Podspec
  • Travis integration

Breaking Changes

  • RocksDB initializers were changed to class instead of instance methods
  • Removed RocksDB methods without error parameter
    • Better compatibility with Swift's error-handling model
    • Redundancy
  • Refactored all RocksDB methods so that the error parameter is the last
    • Better compatibility with Swift's error-handling model
  • Removed Column Family Metadata from iOS target
  • RocksDBIteratorKeyRange is refactored to RocksDBKeyRange
    • 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

ObjectiveRocks 0.5.0

11 Jun 21:02
Compare
Choose a tag to compare

Released on 2016.07.30

Added

  • Source code documentation

Removed

  • Removed + (instancetype)LRUCacheWithCapacity:numShardsBits:removeScanCountLimit: RocksDB Cache initializer

ObjectiveRocks 0.4.0

11 Jun 20:51
Compare
Choose a tag to compare

Released on 2015.01.17

All headers are refactored in this release to provide a pure Objective-C interface for Swift compatibility.

Added

  • Basic support for RocksDB Env for configuring priority thread pools
  • Support for querying the Threads Status
  • Options for Background Compactions and Background Flushes
  • Iterator methods for key-value iteration
  • Support for Column Family Metadata
  • Swift tests

Fixed

  • Typo in method name in Filter Policy class
  • Typo in method name to retrieve column families in RocksDB class

Changed

ObjectiveRocks 0.3.0

11 Jun 20:36
Compare
Choose a tag to compare

Released on 2015.01.05

This is the first public release of ObjectiveRocks.

Added

  • Database backup and backup-info support
  • Database Checkpoints
  • Support for collecting database statistics, histograms and properties
  • Column Family options
  • Support for Column Family memtable rep factories
  • Support for Block-based, Plain-Table and Cuckoo-Table factories
  • Support for RocksDB Cache
  • Support for RocksDB Filter Policy