- Don't use
!
, it trips up danger-swiftlint. - Made
removeAtIndex
public
.
- Made
YapItem
propertiespublic
.
- Fixed typo in podspec
- Updated for Swift 4.0
- Updated to use YapDatabase 3.0.2, ValueCoding 2.2.0 and CocoaLumberjack 3.4.1
- Separated Metadata from Objects (removed
metadata
fromPersistable
) - Updated for Swift 3.0
- Pod name changed to RCSYapDatabaseExtensions
- Use
map
instead offlatMap
when reading multiple objects so the order of the output corresponds to the order of the input.
Updated for Swift 2.3 - sorry it's taken so long!
- [YDB-84]: Updates to Swift 2.2
No significant changes, just updated for Swift 2.2 :)
- [YDB-73, YDB-77]: Improvements to README and documentation. Thanks @cdzombak!
- [YDB-74]: Improvements to CI & automation.
- [YDB-78]: Annotations the code base with
MARK: -
. Thanks again @cdzombak. - [YDB-81]: Corrects the spelling of CocoaPods - thanks @ReadmeCritic!
- [YDB-83]: Switches CI scripts to use
scan
and update the Cartfile to point directly at YapDatabase. - [YDB-82]: Updates CI pipeline to support Swift 2.1 & Swift 2.2 based branches.
Sorry this all took so long to get released - kinda dropped off my radar. Thanks to @cdzombak for improving the overall readability of the codebase!
- [YDB-70, YDB-71]: Changes changes necessary for compatibility with YapDatabase 2.7.4 which added sub-module support for most extensions.
- [YDB-68]: Fixes some issues with the remove API, to make it consistent with write. Also renamed the methods which return
NSOperation
instances towriteOperation
andremoveOperation
respectively.
- [YDB-55]: Removes some leftover references to Saveable.
- [YDB-58]: Fixes support for Metadata, removes
MetadataPersistable
entirely. - [YDB-56]: Adds readMetadataAtIndex functional API.
- [YDB-57]: Adds readAll functional API
- [YDB-59]: Updates APIs to use SequenceType instead of Array.
- [YDB-60]: Fixes documentation issues.
- [YDB-61]: Makes async completion block arguments optional, default to .None.
- [YDB-62]: Restores the return value behavior of the write functional API.
- [YDB-64]: Adds missing sequence type for value with value metadata pattern. Somehow missed this earlier.
- [YDB-65]: Adds a small Curried API, which returns closures accepting transactions.
- [YDB-66]: Updates the Persistable write API - no longer needs an intermediary generic type. Has correct return values.
Thanks a lot to Ryan (@aranasaurus) for helping me with all these changes - effectively a rewrite of the whole framework.
- [YDB-54]: Fixes a bug where using a
writeBlockOperation
on a connection would execute the block inside an asynchronous transaction. This results in theNSOperation
finishing before the block had completed, most likely leading to unexpected behavior.
- [YDB-53]: Fixes to some typos in the README - thanks Ryan (@aranasaurus)!
- [YDB-52]: Modifies the project structure to support a “Functional” API only via CocoaPods subspecs. See Installation notes.
- [YDB-50]: Breaks up the Read & Write files to reduce the number of lines. Adds a lot more documentation to functions - ~ 64% documentation coverage.
- [YDB-42]: Refactors read & write API, correctly supporting metadata.
- [YDB-43]: Makes project cross-platform (iOS & Mac OS)
- [YDB-44]: Enables code coverage reporting with CodeCov.io, see reports here.
- [YDB-45]: Adds back functional API.
- [YDB-47]: Updates README.
- [YDB-48]: Removes
Saveable
, created ValueCoding as a standalone project and new dependency.
- [YDB-41]: Removes FRP extensions which don’t support Swift 2.0 yet.
- [YDB-38]: Preparations for Swift 2.0.
- [YDB-36]: Sets the required version of BrightFutures to the latest for Swift 1.2, which is 2.0.1.
- [YDB-37]: Sets the required version of PromiseKit to the latest for Swift 1.2, which is 2.2.1 (as submitted to CocoaPods).
- [YDB-25]: Adds
YapDB.Search
to aid with running FTS queries. An example of using with will be forthcoming (probably after Swift 2.0 has settled). But essentially, you can initialize it with your db, an array ofYapDB.Fetch
values (which should be views) and a string mapper. Then executeusingTerm(term: String)
with the search term supplied by the user to run the search. - [YDB-26]: Adds some missing default parameters for the
YapDB.SecondaryIndex
wrapper. - [YDB-27]: Removes an explicit unwrap which could cause a crash if pattern matching against value types.
- [YDB-29]: Adds support to
YapDatabaseConnection
for writeBlockOperation (NSBlockOperation
), write and remove APIs. This is great if you want to perform a number of writes of different types in the same transaction inside of anNSOperation
based architecture, as you can do:
queue.addOperation(connection.writeBlockOperation { transaction in
transaction.write(foo)
transaction.write(bar)
transaction.remove(bat)
})
If you're using my Operations
framework, as these operations are NSBlockOperation
s, use ComposedOperation
to attach conditions or observers. E.g.
let write = ComposedOperation(connection.writeBlockOperation { transaction in
transaction.write(foo)
transaction.write(bar)
transaction.remove(bat)
})
write.addCondition(UserConfirmationCondition()) // etc etc
queue.addOperation(write)
- [YDB-30]: Expands the
YapDB.Mappings
type to support the fullYapDatabaseViewMappings
gamut. - [YDB-31]: Silences a warning in the
removeAtIndexes
API.
- [YDB-22]: Adds
YapDB.Fetch.Index
which wrapsYapDatabaseSecondaryIndex
extension. - [YDB-23]: Fixes a crash which has been observed in some cases in a Release configuration where writing a value type can fail to get the type’s Archiver.
- [YDB-24]: Just cleans up some of the code.
- [YDB-19]: Implements Saveable on YapDB.Index. This makes it easier to store references between YapDatabase objects. In general this is preferable to storing references as
let fooId: Foo.IdentifierType
. - [YDB-21]: Restructures the project. The framework is now in an Xcode project in
framework
, with its associated unit tests in place. This is in preparation for Xcode 7, to get code coverage of the framework. The Example has been moved toexamples/iOS
, although it doesn’t really do much, except provide some models.
- [YDB-16]: Adds helper APIs for creating a YapDatabase. Includes a function for creating temporary database for use inside unit tests.
- [YDB-1]: Adds API for reading metadata, additionally fixes bugs where writing types with metadata would fail when using database or connections.
- [YDB-15]: Updates README documentation.
- [YDB-6]: Improves the code documentation significantly. Updates the README.
- [YDB-12]: Improves and adds to the test coverage. Fixes an oversight where keys and indexes were not uniqued before accessing the database.
- [YDB-11]: Renames
YapDatabase.Index
toYapDB.Index
.
- [YDB-7]: Support
SequenceType
in arguments where appropriate. This became a bit of a significant refactor.-
read
at index(es), by key(s) for value(s), object(s) -
readAll
#5 by Persistable -
filterExisting
by value, object -
write
by index, value(s), object(s) -
remove
by index(es), Persistable(s)) -
asyncWrite
by index, value(s), object(s)- PromiseKit
- BrightFutures
- SwiftTask
-
asyncRemove
by index(es), Persistable(s))- PromiseKit
- BrightFutures
- SwiftTask
-
- [YDB-10]: Adds this CHANGELOG
- [YDB-3]: Adds async read API
-
asyncRead
at index(es) -
asyncRead
by key(s) for value(s), object(s)- PromiseKit
- BrightFutures
- SwiftTask
-
- Persistable & Saveable protocols
- Metadata protocols
- YapDatabase.Index
- Read value(s)
- Read object(s)
- Save value(s)
- Save object
- Remove value