Skip to content

Releases: CausalLabs/ios-client-sdk

0.11.0

28 Aug 17:55
ebf26d8
Compare
Choose a tag to compare
0.11.0 Pre-release
Pre-release
  • Fixed and improved how the SDK handles Server Sent Events (SSE).
  • Added a public screen, DeviceRegistrationView, which can be embedded into debug builds allowing for easy registration of devices for local feature QA.
  • Added support for the @off_by_default FDL keyword.
  • Updated the bundled example app to show a more complex integration and usage of the DeviceRegistrationView screen.

Full Changelog: 0.10.0...0.11.0

0.10.0

10 Aug 14:58
358201a
Compare
Choose a tag to compare
0.10.0 Pre-release
Pre-release
  • Improved event signaling contract allowing for a better autocomplete experience.
  • Added a public protocol (CausalClientProtocol) that CausalClient conforms to allowing for mock instances of the client to be used in unit tests.
  • Added a public constructor to CausalClient.
  • Updated how a feature exposes arguments and outputs fetched from the server.
    • Arguments are now available as an args variable on the feature object.
    • Outputs are now available as a status variable on the feature. The status field is an enum which details the response returned from the impression server. The different status states are as follows:
      • unrequested: The feature has been constructed but the client hasn't updated it yet.
      • on: The feature was successfully loaded and is active (on). Access to the outputs is available as an associated value.
      • off: The feature was successfully loaded and is not active (off).
  • Updated the compiler generated view models to expose a state object which helps the underlying view render all of the different states that the feature can be in. The different states are as follows:
    • on: Indicates that the feature was successfully loaded (either from cache or network) and is active. Access to the feature outputs is available as an associated value.
    • off: Indicates that the feature was successfully loaded (either from cache or network) and is not active. These should not be shown.
    • loading: Indicates that the feature is currently being loaded.
  • Updated the CausalClient.requestCacheFill method to no longer mutate input arguments.

Full Changelog: 0.9.0...0.10.0

0.9.0

02 Aug 18:32
f255b39
Compare
Choose a tag to compare
0.9.0 Pre-release
Pre-release
  • Feature caching fixes and improvements.

Full Changelog: 0.8.0...0.9.0

0.8.0

01 Aug 19:47
98149b4
Compare
Choose a tag to compare
0.8.0 Pre-release
Pre-release
  • CausalClient.requestCacheFill method has been updated to correctly parse the _impressionId returned by the impression service.
  • CausalClient.updateFeatures has been removed.
  • CausalClient.requestFeatures & CausalClient.requestFeature methods have been modified to update in-place the passed in feature(s) reference object(s) with data from the cache or impression service. With this change these methods are no longer marked as throws and will return an optional Error if one was encountered during the request.
  • FeatureRequest View Modifier has been updated to only request the feature once on iOS 15+.
  • Updated JSONProcessor.decodeRequestFeatures to throw an error when the response can not be properly decoded.

Full Changelog: 0.7.0...0.8.0

0.7.0

18 Jul 13:37
021935c
Compare
Choose a tag to compare
0.7.0 Pre-release
Pre-release
  • CausalClient.shared.session is now optional and no longer asserts with a preconditionFailure() when missing. Instead, all throwing APIs that require a session will throw a missingSession error if called when the session is nil. All non-throwing APIs will use default values (return default features) and not send network events.
  • CausalClient.keepAlive() is no longer marked async throws.

Full Changelog: 0.6.0...0.7.0

0.6.0

17 Jul 16:48
c5617c9
Compare
Choose a tag to compare
0.6.0 Pre-release
Pre-release
  • Fix session events
  • Fix default value generation

Full Changelog: 0.5.0...0.6.0

0.5.0

14 Jul 22:04
bcc706f
Compare
Choose a tag to compare
0.5.0 Pre-release
Pre-release
  • Session objects generate a new persistentId property that corresponds to the @persistent_key annotation in FDL files.
  • Implemented server sent events.
    • Open an SSE connection and begin listening for events using CausalClient.shared.startSSE().
    • Close the connection using CausalClient.shared.stopSSE().

Full Changelog: 0.4.0...0.5.0

0.4.0

13 Jul 20:54
ec46b90
Compare
Choose a tag to compare
0.4.0 Pre-release
Pre-release
  • Added the ability to initialize Session objects from a session

Full Changelog: 0.3.0...0.4.0

0.3.0

28 Jun 17:44
40e1560
Compare
Choose a tag to compare
0.3.0 Pre-release
Pre-release
  • Fix potential issue generating Swift enum properties.

Full Changelog: 0.2.0...0.3.0

0.2.0

27 Jun 21:27
a9e4d02
Compare
Choose a tag to compare
0.2.0 Pre-release
Pre-release
  • Fix various code generation issues (e.g. when event was specified with no parameters).
  • Documentation improvements and fixes.
  • Unit test fixes and improvements.

Full Changelog: 0.1.0...0.2.0