Skip to content

Commit

Permalink
Merge branch 'release/0.6.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
iabudiab committed Jun 12, 2016
2 parents 6745ca9 + 39897a4 commit 38bbb77
Show file tree
Hide file tree
Showing 166 changed files with 7,324 additions and 4,651 deletions.
31 changes: 25 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# OS X
.DS_Store

# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
build/
DerivedData

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
Expand All @@ -12,13 +16,28 @@ build/
*.perspectivev3
!default.perspectivev3
xcuserdata

## Other
*.xccheckout
profile
*.moved-aside
DerivedData
*.xcuserstate
*.xcscmblueprint

## Obj-C/Swift specific
*.hmap
*.ipa

# CocoaPods
Pods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
#Pods/

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build
7 changes: 7 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
language: objective-c
osx_image: xcode7.3
script:
- xcodebuild -project ObjectiveRocks.xcodeproj -scheme ObjectiveRocks -sdk macosx ONLY_ACTIVE_ARCH=NO
- xcodebuild test -project ObjectiveRocks.xcodeproj -scheme ObjectiveRocksTests -sdk macosx ONLY_ACTIVE_ARCH=NO
- xcodebuild -project ObjectiveRocks.xcodeproj -scheme ObjectiveRocks-iOS -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
- xcodebuild test -project ObjectiveRocks.xcodeproj -scheme ObjectiveRocksTests-iOS -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
127 changes: 127 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Change Log

## [0.6.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.6.0)

Released on 2016.06.12

- RocksDB Version: `4.6.1`: [facebook/rocksdb@8d7926a](https://github.com/facebook/rocksdb/commit/8d7926a766f2ab9bd6e7aa8cba80b5d3ff26c52b)

### 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
- 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

## [0.5.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.5.0)

Released on 2016.07.30

- RocksDB Version: `3.11`: [facebook/rocksdb@812c461](https://github.com/facebook/rocksdb/commit/812c461c96869ebcd8e629da8f01e1cea01c00ca)

### Added

- Source code documentation

### Removed

- Removed `+ (instancetype)LRUCacheWithCapacity:numShardsBits:removeScanCountLimit:` RocksDB Cache initializer
- No longer available since: [facebook/rocksdb@c88ff4c](https://github.com/facebook/rocksdb/commit/c88ff4ca76a6a24632cbdd834f621952a251d7a1)

## [0.4.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.4.0)

Released on 2015.01.17

- RocksDB Version: `3.9`: [facebook/rocksdb@b89d58d](https://github.com/facebook/rocksdb/commit/b89d58dfa3887d561bd772421fb92ef01bd26fc4)

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

- Updated `Thread Status` API
- Adapted according to the changes introduces in: [facebook/rocksdb@bf287b7](https://github.com/facebook/rocksdb/commit/bf287b76e0e7b5998de49e3ceaa2b34d1f3c13ae)

## [0.3.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.3.0)

Released on 2015.01.05

- RocksDB Version: `3.9`: [facebook/rocksdb@a801c1f](https://github.com/facebook/rocksdb/commit/a801c1fb099167cf48a714483163061062e3dcb7)

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`

## [0.2.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.2.0)

Released on 2015.02.01

- RocksDB Version: `3.9`: [facebook/rocksdb@a801c1f](https://github.com/facebook/rocksdb/commit/a801c1fb099167cf48a714483163061062e3dcb7)

### Added

- `Column Families` implementation
- 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 `NSString` and `NSJSONSerializable` types
- `Write Batch` methods for `merge` operations
- Prefix-based seek iterations
- Tests

## [0.1.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.1.0)

Released on 2015.12.23

- RocksDB Version: `3.9`: [facebook/rocksdb@9cda7cb](https://github.com/facebook/rocksdb/commit/9cda7cb77b0c7208a63579c7e79252f23db92f67)

First release of ObjectiveRocks featuring basic RocksDB functionality:

- [x] Opening and closing RocksDB instances
- [x] Basic DB options
- [x] `Put`, `Get` and `Delete` operations
- [x] `Read` and `Write` options that are specific to single operations
- [x] `Atomic` updates via `Write Batches`
- [x] Key-Value encoders and decoders for converting arbitrary objects to and from `NSData`
- [x] Database iteration support
- [x] Database `Snapshots` - Read-only view over the entire DB
- [x] `Key Comparators` support - For custom key-ordering in the DB
- [x] `Associative Merge Operators` support - Atomic read-modify-write operations
14 changes: 11 additions & 3 deletions ObjectiveRocks/ObjectiveRocks.h → Code/ObjectiveRocks.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,18 @@
// ObjectiveRocks.h
// ObjectiveRocks
//
// Created by Iska on 20/11/14.
// Copyright (c) 2014 BrainCookie. All rights reserved.
// Created by Iska on 06/11/15.
// Copyright © 2015 BrainCookie. All rights reserved.
//

//! Project version number for ObjectiveRocks.
extern double ObjectiveRocksVersionNumber;

//! Project version string for ObjectiveRocks.
extern const unsigned char ObjectiveRocksVersionString[];

#import <TargetConditionals.h>

#import "RocksDB.h"

#import "RocksDBColumnFamily.h"
Expand Down Expand Up @@ -37,7 +45,7 @@

#import "RocksDBTypes.h"

#ifndef ROCKSDB_LITE
#if !(defined(ROCKSDB_LITE) && defined(TARGET_OS_IPHONE))

#import "RocksDBColumnFamilyMetadata.h"

Expand Down
File renamed without changes.
Loading

0 comments on commit 38bbb77

Please sign in to comment.