tag:github.com,2008:https://github.com/StevenLambion/SwiftDux/releases Release notes from SwiftDux 2020-11-29T23:58:00Z tag:github.com,2008:Repository/191248620/v2.0.1 2020-11-30T00:04:26Z v2.0.1 <h1>Fixes</h1> <ul> <li>The <code>View.onAppear(dispatch:)</code> method caused duplicate views. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="752965405" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/54" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/54/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/54">#54</a></li> <li>RunnableActions were incorrectly dispatched to the store's reducer.</li> </ul> StevenLambion tag:github.com,2008:Repository/191248620/v2.0.0 2020-11-21T18:09:00Z v2.0.0 <h1>Deprecated</h1> <ul> <li><code>MappedDispatch</code> should be replaced with <code>@Environment(.\actionDisaptcher)</code> to be consistent with Apple's usage. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> <li><code>MappedState</code> should be replaced with <code>ConnectableView</code> or <code>Connector</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> <li><code>StateType</code> and <code>IdentifiableState</code> are deprecated in favor of having applications define their own protocol to adhere to. Instead of requiring an opinionated state type, the library uses conditional protocol adherences when necessary. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> <li><code>onAction(perform:)</code> view modifier is deprecated in favor of using middleware. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> </ul> <h1>Changes</h1> <ul> <li>macOS 11.0 is now required. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> <li>Removed ActionType from the Store&lt;_&gt;'s didChange publisher. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="738513131" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/48" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/48/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/48">#48</a></li> <li><code>Connector</code>'s internal publishing logic has been moved to <code>StateStorable</code>, so it may be reused elsewhere. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> <li>All actions may now be chained instead of just ActionPlans. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="744041194" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/51" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/51/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/51">#51</a></li> <li><code>RunnableAction</code> now returns an AnyPublisher&lt;Action, Never&gt; type instead of an <code>AnyCancellable</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="744041194" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/51" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/51/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/51">#51</a></li> <li><code>ActionPlan</code> now requires a publisher to return from async blocks instead of providing a completion closure. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="747785924" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/52" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/52/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/52">#52</a></li> <li><code>Middleware</code> now return an optional <code>Action</code> instead of calling <code>next(_:)</code> on the <code>StoreProxy&lt;_&gt;</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="747785924" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/52" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/52/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/52">#52</a></li> </ul> <h1>Added</h1> <ul> <li>Added concrete <code>StorePublisher</code> in place of using AnyPublisher for store changes. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="738513131" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/48" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/48/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/48">#48</a></li> <li>Added <code>StateStorable</code> protocol so that there's a shared way to extend the Store&lt;<em>&gt; and StoreProxy&lt;</em>&gt; types. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> <li>Added <code>StateStorable.publish(_:)</code> method as a single place to receive an updatable state object. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> </ul> <h1>Removed</h1> <ul> <li>StateBinder is removed. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="738513131" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/48" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/48/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/48">#48</a></li> <li>Removed <code>next(_:)</code> from <code>StoreProxy&lt;_&gt;</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="747785924" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/52" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/52/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/52">#52</a></li> <li>Removed the completion closure from <code>ActionSubscriber</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="747785924" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/52" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/52/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/52">#52</a></li> </ul> <h1>Fixed</h1> <ul> <li>Fixed type inference with <code>onAppear(dispatch:)</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="741731120" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/50" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/50/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/50">#50</a></li> <li>Fixed a circular dependency in the <code>StoreProxy&lt;_&gt;</code> given to middleware. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="747785924" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/52" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/52/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/52">#52</a></li> <li>Fixed a bug introduced with iOS 14 that may cause a crash related to the onReceive view modifier. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="747785924" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/52" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/52/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/52">#52</a></li> </ul> StevenLambion tag:github.com,2008:Repository/191248620/v1.2.4 2020-11-10T16:48:51Z v1.2.4 <h1>Fixed</h1> <ul> <li>Fixed broken type inference in Swift 5.3. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="723512658" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/47" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/47/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/47">#47</a></li> </ul> StevenLambion tag:github.com,2008:Repository/191248620/v1.2.3 2020-10-14T16:36:10Z v1.2.3 <h1>Changed</h1> <ul> <li>Replaced the requirement for StateType and IdentifiableState by using conditional, granular constraints where needed. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="721526921" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/46" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/46/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/46">#46</a></li> <li>NoopAnyStore is now a struct. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="621966365" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/44" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/44/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/44">#44</a></li> <li>Views can now use protocols that the AppState adheres to to retrieve specific parts of the app state. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="621966365" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/44" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/44/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/44">#44</a></li> </ul> StevenLambion tag:github.com,2008:Repository/191248620/v1.2.2 2020-05-20T20:08:13Z v1.2.2 <p>Merge pull request <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="621966365" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/44" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/44/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/44">#44</a> from StevenLambion/features/pass-store-as-envi…</p> StevenLambion tag:github.com,2008:Repository/191248620/v1.2.1 2020-05-13T01:06:23Z v1.2.1 <h1>Added</h1> <ul> <li><code>View.provideStore(_:as:)</code> To inject a store with a specific type of state. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="616706836" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/42" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/42/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/42">#42</a></li> </ul> StevenLambion tag:github.com,2008:Repository/191248620/v1.2.0 2020-05-05T00:27:18Z v1.2.0 <h1>Changed</h1> <ul> <li>ActionBinder can now bind actions to callable functions. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="611994211" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/40" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/40/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/40">#40</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="611214315" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/38" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/38/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/38">#38</a></li> <li>Replaced the old internal state connection API with a faster and simpler implementation. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="611248484" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/39" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/39/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/39">#39</a></li> </ul> <h1>Removed</h1> <ul> <li>Removed <code>Connectable</code> API in favor of ConnectableView due to incompatibilities with the new internal, reference-free implementation. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="611248484" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/39" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/39/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/39">#39</a></li> </ul> StevenLambion tag:github.com,2008:Repository/191248620/v1.1.0 2020-04-11T20:04:39Z v1.1.0 <h1>Changed</h1> <ul> <li>Loosened the adherence to StateType at the Store level. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="591174200" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/36" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/36/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/36">#36</a></li> <li>Simplified ActionDispatcher API by moving the proxy functionality to OnActionViewModifier. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561705809" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/32" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/32/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/32">#32</a></li> <li>Provided a more consistent Store API between reducers and middleware. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561966883" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/33" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/33/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/33">#33</a></li> <li><code>ActionDispatcher</code> can now be called as a function. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561705809" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/32" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/32/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/32">#32</a></li> <li><code>MappedDispatch</code> injects an ActionDispatcher instead of a function. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561705809" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/32" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/32/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/32">#32</a></li> <li>Modified the implementation of action plans to make it easier to include 3rd party ones. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="591174200" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/36" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/36/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/36">#36</a></li> </ul> <h1>Added</h1> <ul> <li>Added ActionBinding&lt;&gt; to replace the Equatable extension on Binding&lt;&gt;. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560474167" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/30" data-hovercard-type="issue" data-hovercard-url="/StevenLambion/SwiftDux/issues/30/hovercard" href="https://github.com/StevenLambion/SwiftDux/issues/30">#30</a></li> </ul> <h1>Removed</h1> <ul> <li>onAppearAsync and onDisappearAsync. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="591174200" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/36" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/36/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/36">#36</a></li> </ul> StevenLambion tag:github.com,2008:Repository/191248620/v1.0.1 2020-01-23T15:21:29Z v1.0.1 <h1>Added</h1> <ul> <li><code>ConnectableView</code> as a convenient wrapper over <code>Connectable</code> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="553847827" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/27" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/27/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/27">#27</a></li> </ul> StevenLambion tag:github.com,2008:Repository/191248620/v1.0.0 2020-01-22T13:29:53Z v1.0.0 <p>This marks the 1.0.0 release of the library. The API will be stabilized moving forward.</p> <h1>Fixed</h1> <ul> <li><code>PersistStateMiddleware</code> would save the state when the <code>StoreAction&lt;_&gt;.reset</code> was dispatched. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a> <ul> <li>It no longer saves the state when the store is reset.</li> </ul> </li> <li><code>Connectable.updateWhen</code> would stop a view from updating from its own dispatched actions. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a> <ul> <li>If the method is implemented, both it and any dispatched actions will cause an update.</li> </ul> </li> <li><code>Connectable.updateWhen</code> would fail to work in some cases when the first call returned true. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a> <ul> <li>Returning true using any possible implementation will now work.</li> </ul> </li> </ul> <h1>Changed</h1> <ul> <li><code>State</code> is now required to be equatable. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="553206840" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/26" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/26/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/26">#26</a></li> <li><code>Middleware</code> is now a protocol type. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="551822848" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/25" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/25/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/25">#25</a></li> <li><code>StoreProxy.state</code> is now a non-optional type. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>Store</code>, <code>ActionDispatcher</code>, and <code>StatePersistor</code> no longer adhere to <code>Subscriber</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>Store.didChange</code> is now an <code>AnyPublisher&lt;Action, Never&gt;</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>PersistStateMiddleware</code> now debounces for 1 second by default. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>PrintActionMiddleware</code> now accepts a new filter block. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>onAppearAsync</code> and <code>onDisappearAsync</code> are deprecated. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a> <ul> <li>These were need to workaround a bug in a pervious beta of iOS 13. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> </ul> </li> </ul> <h1>Added</h1> <ul> <li><code>ActionPlan</code> has a new init block that accepts an AnyCancellable to support <code>ActionSubsriber</code>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>ActionSubscriber</code> to dispatch actions from a publisher. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>PersistSubscriber</code> to persist state from a publisher. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>StoreProxy.done</code> for use in action plans to tell the proxy that it has completed. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="549235119" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/24" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/24/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/24">#24</a></li> <li><code>TypedMiddleware</code> and <code>HandleActionMiddleware</code>. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="551822848" data-permission-text="Title is private" data-url="https://github.com/StevenLambion/SwiftDux/issues/25" data-hovercard-type="pull_request" data-hovercard-url="/StevenLambion/SwiftDux/pull/25/hovercard" href="https://github.com/StevenLambion/SwiftDux/pull/25">#25</a></li> </ul> StevenLambion