Changelog History
Page 14
-
v0.99.1 Changes
๐ Released December 21, 2016
๐ Fixed
- An awful bug where SQLite would not drop any table (#157)
- ๐ Transaction Observers are no longer blinded by the truncate optimization (fixes #156)
-
v0.99.0 Changes
๐ Released December 20, 2016
๐ Fixed
- ๐ Transaction Observers are no longer blinded by the truncate optimization (fixes #156)
๐ New
FetchedRecordsController no longer crashes whenever an error prevents it from looking for changes after a transaction has potentially modified the tracked request. Instead, it notifies its optional error handler:
controller.trackErrors { (controller, error) in print("Missed a transaction because \(error)") }
-
v0.98.0 Changes
๐ Released December 16, 2016
๐ New
๐ StatementArguments can be concatenated with the
append(contentsOf:)
method and the+
,&+
,+=
operators (documentation)Rows expressed as dictionary literals now preserve column ordering, and allow duplicated column names:
let row: Row = ["foo": 1, "foo": Date(), "baz": nil] print(row) // Prints <Row foo:1 foo:"2016-12-16 13:19:49.230" baz:NULL>
-
v0.97.0 Changes
๐ Released December 15, 2016
๐ Fixed
- DatabasePool
read
andreadFromCurrentState
methods now properly throw errors whenever they can't acquire an isolated access to the database.
๐ New
- Raw transaction and savepoint SQL statements are properly reflected in transaction observers,
Database.isInsideTransaction
, etc.
- DatabasePool
-
v0.96.0 Changes
๐ Released December 11, 2016
๐ New
Request.adapted
modifies a request with a row adapter.// Person has `email` column, but User expects `identifier` column: Person.all() .adapted { _ in ColumnMapping(["identifier": "email"]) } .bound(to: User.self)
๐ฅ Breaking Changes
- ๐จ
RowAdapter
protocol has been refactored. This only affects your code if you implement your own row adapter.
-
v0.95.0 Changes
๐ Released December 9, 2016
๐ New
- ๐
SQLRequest
,AnyRequest
,TypedRequest
andAnyTypedRequest
are new protocols and concrete types that let you build custom fetch requests. RangeRowAdapter
is a new kind of row adapter which exposes a range of columns.
๐ฅ Breaking Changes
FetchRequest
protocol has been renamedRequest
.
- ๐
-
v0.94.0 Changes
๐ Released December 7, 2016
๐ New
- ๐
Database.columnCount(in:)
returns the number of columns in a database table. This helps building row adapters for joined requests.
- ๐
-
v0.93.1 Changes
๐ Released December 7, 2016
๐ Fixed
- โ Removed
Record.hasPersistentChangedValues
dependency onawakeFromFetch()
. This makes it easier to wrap records in other RowConvertible types, sinceawakeFromFetch()
can be overlooked without bad consequences on changes tracking.
- โ Removed
-
v0.93.0 Changes
๐ Released December 4, 2016
๐ New
- โฌ๏ธ Upgrade custom SQLite builds to v3.15.2 (thanks to @swiftlyfalling).
-
v0.92.1 Changes
๐ Released December 2, 2016
๐ Fixed
Database.execute(_:)
now iterates all rows of statements (and executes any side effect performed by the evaluation of each row).