Releases: ArtSabintsev/Siren
Siren v4.0.0: Complete Rewrite
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
, andpublic
types using Jazzy.
Tons of example implementations have also been added to the AppDelegate.swift file.
Better Cache Handling
Removed old print statement as it wasn't needed
#247: Removed print statement from previous feature work (thanks @ilijapuaca)
Siren now maps trackId as an Int again.
#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
Improved Documentation
Documentation is now back up at 100%.
Removed Force Unwraps
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
- 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
Swift 4.2's Self Rebinding
Minor changes, mostly around making use of Swift 4.2's ability for self rebinding:
guard let self = self else { ... }