All notable changes to this project will be documented in this file. Jayme
adheres to Semantic Versioning.
3.0.x
releases - 3.0.0
- Migrated to Swift 4 (Issue #109)
CRUDRepository
protocol no longer exists. Its functionalities have now been divided into four separate protocols:Creatable
,Readable
,Updatable
andDeletable
. (Issue #84)PagedRepository
protocol no longer exists. ItsfindByPage(pageNumber:)
method has been moved to theReadable
protocol and has a new signature:read(pageNumber:pageSize:)
. (Issue #95)findAll()
has been renamed toreadAll()
in theReadable
protocol (Issue #87)find(byId:)
has been renamed toread(id:)
in theReadable
protocol (Issue #87)update(_)
has been renamed toupdate(_, id:)
in theUpdatable
protocol; a newupdate(_)
function has been added (Issue #87)delete(_)
has been renamed todelete(id:)
in theDeletable
protocol (Issue #87)- Added
create([entity1, entity2, …])
function in theCreatable
protocol (Issue #87) - Added
read()
function in theReadable
protocol (Issue #87) - Added
update([entity1, entity2, …])
function in theUpdatable
protocol (Issue #87) - Added
delete()
function in theDeletable
protocol (Issue #87)
- All of the changes involved in this release are due to Swift 3 breaking changes and its new APIs design.
create(...)
function inCRUDRepository
no longer attaches the:id
parameter in itsPOST
URL. (Issue #63)- Results from repositories are now returned on the main thread. (Issue #55)
- Added
PATCH
verb inHTTPMethodName
enumeration. (Issue #57)
path
variable has been renamed toname
inRepository
protocol declaration. (Issue #17)ServerRepository
has been renamed toCRUDRepository
. (Issue #19)PagedRepository
no longer conforms toCRUDRepository
(exServerRepository
); now it conforms directly toRepository
. (Issue #20)create(…)
andupdate(…)
methods inCRUDRepository
now returnFuture<EntityType, JaymeError>
instead ofFuture<Void, JaymeError>
, containing the created or updated entity. (Issue #37)- Convenient parsing functions have been plucked out from
CRUDRepository
(exServerRepository
) and put into new classes namedDataParser
andEntityParser
. (Issue #20)
ServerBackend
protocol has been renamed toNSURLSessionBackend
. (Issue #18)ServerBackendConfiguration
has been renamed toNSURLSessionBackendConfiguration
. (Issue #18)
init?(dictionary)
has been replaced byinit(dictionary) throws
inDictionaryInitializable
protocol. (Issue #25)StringDictionary
typealias has been removed. (Issue #28)Identifier
typealias has been removed. (Issue #22)id
variable inIdentifiable
protocol no longer works withIdentifier
. Now it uses an associated type (IdentifierType
) for that. (Issue #22)
ServerBackendError
has been renamed toJaymeError
. (Issue #21)case BadURL
inJaymeError
(exServerBackendError
) has been renamed tocase BadRequest
and now it also covers a scenario where request parameters can't be parsed into a valid JSON object. (Issue #49)
parameters
are now actually used inNSURLSessionBackend
(exServerBackend
). (Issue #49)"Content-Type": "application/json"
header is no longer duplicated in requests. (Issue #50)
- Added support for custom logging function injection.
- Fixed access level related issues.
- Lowered deployment target to
8.0
since9.3
was unnecessary.
- Moved documentation assets into a separated folder.
- Changed images references in README file; using absolute paths now in order to make them work in cocoapods documentation.
- Released on March 3rd, 2016.