Skip to content

Faster, clearer, happier

Compare
Choose a tag to compare
@pcantrell pcantrell released this 02 Oct 05:10
· 413 commits to main since this release

Enhancements

  • Substantial performance improvements. (#117 ← includes timings)
  • Log output is now vastly more readable: better formatted, less redundant, and more focused on information that helps debug the most common problems. (#116)
  • Siesta now defers resource configuration & cache read until you actually use a resource’s data or attach an observer. This reduces overhead & log clutter when traversing resources using child(…), withParam(…), etc. (#115)
  • Resources created with nil or malformed URLs no longer generate confusing errors from the network layer; instead, a new InvalidURL error cause makes them easy to spot & diagnose. Code such as RemoteImageView that intentionally creates nil URL resources no longer generates mounds of confusing output.

Fixes

  • The podspec incorrectly reported that Siesta requires iOS 9. This is now corrected: iOS 8 normally, iOS 9 only if you are using Alamofire. Thanks to @jordanpwood for spotting this. (#111)
  • Fixed: Objective-C observers prematurely deallocated if they are not retained outside of Siesta. (#118)
  • Fixed: Objective-C observers to sometimes do not receive stoppedObservingResource: (#118)

Breaking Changes

  • The isEquivalentTo(…) method of ResourceObserver is superseded by observerIdentity. This is a little-known feature, but search your code for it! It is no longer part of the protocol, and you will not receive a deprecation warning if you are attempting to implement it. Instead, you’ll just start getting duplicate observers.
  • As a part of the optimizations in #117, the timing of calls to stoppedObserving(…) has changed. While the order of events reported by a Resource is still consistent — observer add & remove notifications still come in the order the observers were actually added & removed — some of those notifications are now deferred.