Skip to content

Releases: ArtSabintsev/Siren

Siren v4.0.0: Complete Rewrite

27 Dec 01:47
dbfe200
Compare
Choose a tag to compare

The latest version of Siren is a complete rewrite of the library.

Tickets like #237 and #190 exposed the inflexibility in the presentation rules of the update alert prompt. Rather than shoehorn this functionality into the existing framework, which was based on Harpy, an Objective-C codebase, I decided to start from scratch.

What's New?

  • New manager-based, unidirectional data flow architecture
  • New rules engine
  • New alert presentation logic
  • Fixed a bug around using the device's default language (rather than English)
  • Fixed rare response-caching bug
  • 100% documentation of all private, fileprivate, internal, and public types using Jazzy.

Tons of example implementations have also been added to the AppDelegate.swift file.

Better Cache Handling

20 Dec 22:24
Compare
Choose a tag to compare
  • #254: Improved cache busting on subsequent version checks (thanks to @ivolnov)

Removed old print statement as it wasn't needed

09 Nov 18:04
Compare
Choose a tag to compare

#247: Removed print statement from previous feature work (thanks @ilijapuaca)

Siren now maps trackId as an Int again.

08 Nov 02:46
Compare
Choose a tag to compare

#246: Apple reverted the change of trackId being returned as a String back to an Int. This release fixes that issue.

Fixed trackId Parsing Issue

26 Oct 00:59
Compare
Choose a tag to compare
  • #238/#239: Recently, Apple changed their iTunes Lookup API to return trackId as a String instead of an Int. This is addressed in this version.

Improved Documentation

29 Sep 04:04
Compare
Choose a tag to compare

Documentation is now back up at 100%.

Removed Force Unwraps

28 Sep 02:26
Compare
Choose a tag to compare

There were a few force unwrapped variables around Bundle and localization. The force unwraps have been removed in favor of better nil handling.

Code Refactor and Bugfix

28 Sep 01:50
Compare
Choose a tag to compare
  • Fixed bug where clicking Next Time wasn't being respected between app launches.
  • Shrunk Siren.swift by a few hundred lines of code by move some responsibilities to other files.

Breaking Changes to SirenAlertMessaging

22 Sep 19:45
1a215cc
Compare
Choose a tag to compare

#226, #228

Introduced a breaking change toSirenAlertMessaging. Instead of messages of type string, objects of type NSAttributedString need to be passed in. This will allow for further customization of Siren's UIAlertController without having to create a brand new alert.

Swift 4.2's Self Rebinding

19 Sep 01:21
Compare
Choose a tag to compare

Minor changes, mostly around making use of Swift 4.2's ability for self rebinding:

guard let self = self else { ... }