Skip to content

Commit 67d5184

Browse files
deps(deps): bump stillwater from 0.11.0 to 0.13.0 (#40)
[//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [stillwater](https://github.com/iepathos/stillwater) from 0.11.0 to 0.13.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/iepathos/stillwater/blob/master/CHANGELOG.md">stillwater's changelog</a>.</em></p> <blockquote> <h2>[0.13.0] - 2025-11-28</h2> <h3>Added</h3> <h4>Error Recovery Combinators for Effect (Spec 040)</h4> <ul> <li> <p><strong>Selective error recovery</strong> - Fine-grained control between total recovery (<code>or_else</code>) and no recovery</p> <ul> <li><code>.recover(predicate, handler)</code> - Recover from specific errors using predicate-based matching with effect handler</li> <li><code>.recover_with(predicate, handler)</code> - Recover using Result-returning handler for simpler cases</li> <li><code>.recover_some(handler)</code> - Pattern-matching recovery with Option (returns <code>Some</code> to recover, <code>None</code> to propagate)</li> <li><code>.fallback(value)</code> - Provide default value on any error</li> <li><code>.fallback_to(effect)</code> - Try alternative effect on any error</li> </ul> </li> <li> <p><strong>Predicate-based error matching</strong> - Uses stillwater's <code>Predicate</code> trait for composable error conditions</p> <ul> <li>Integrate with existing predicate combinators (<code>.and()</code>, <code>.or()</code>, <code>.not()</code>)</li> <li>Build sophisticated error handling logic declaratively</li> <li>Type-safe error inspection without exposing implementation details</li> </ul> </li> <li> <p><strong>Common use cases</strong> enabled:</p> <ul> <li>Cache fallback strategies (recover from cache miss only)</li> <li>Retry on transient errors (network timeouts, rate limits)</li> <li>Graceful degradation for non-critical failures</li> <li>Multi-tier fallback chains (cache → database → default)</li> <li>Conditional recovery based on error severity or type</li> </ul> </li> <li> <p><strong>Zero-cost abstraction</strong> - All recovery combinators compile to concrete types</p> <ul> <li>No heap allocations required</li> <li>Stack-allocated combinator types</li> <li>Property tests verify zero-cost semantics</li> </ul> </li> <li> <p><strong>New example</strong> - <code>examples/recover_patterns.rs</code> (450+ lines)</p> <ul> <li>11 comprehensive examples covering all recovery patterns</li> <li>Real-world scenarios: multi-tier caching, degraded mode, API fallback</li> <li>Predicate composition patterns</li> <li>Chaining multiple recovery strategies</li> </ul> </li> </ul> <h4>Bifunctor Interface for Validation (Spec 041)</h4> <ul> <li> <p><strong>Bimap combinators</strong> - Transform both success and error channels simultaneously</p> <ul> <li><code>.bimap(f_err, f_success)</code> - Standard bifunctor operation (error first convention)</li> <li><code>.bimap_success_first(f_success, f_err)</code> - Ergonomic variant (success first for readability)</li> <li><code>.bimap_ref(&amp;f_err, &amp;f_success)</code> - Non-consuming reference version for inspection</li> </ul> </li> <li> <p><strong>Fold combinators</strong> - Catamorphisms to collapse Validation into single values</p> <ul> <li><code>.fold(on_failure, on_success)</code> - Standard fold (error first)</li> <li><code>.fold_success_first(on_success, on_failure)</code> - Alternative ordering</li> <li><code>.fold_ref(&amp;on_failure, &amp;on_success)</code> - Non-consuming version</li> <li><code>.fold_with_seed(seed, f_err, f_success)</code> - Generalized fold with accumulator for complex reductions</li> </ul> </li> <li> <p><strong>Unwrap utilities</strong> - Safe value extraction with error handling</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/iepathos/stillwater/commit/eaf8f40adcd7430484a1811cc5ed3b1125a1c9c7"><code>eaf8f40</code></a> fix: rename enum variants to avoid clippy warnings</li> <li><a href="https://github.com/iepathos/stillwater/commit/b07948919cf30398cd4e894c19eebd1e74f3604c"><code>b079489</code></a> update changelog for 0.13.0 release</li> <li><a href="https://github.com/iepathos/stillwater/commit/389c279493a2814b74d85b97a43a586aaa950515"><code>389c279</code></a> increment to 0.13.0</li> <li><a href="https://github.com/iepathos/stillwater/commit/fead5d8e7e2b7588fc740a1e0705da95b3fec65f"><code>fead5d8</code></a> refactor: remove dead code from recover_patterns example</li> <li><a href="https://github.com/iepathos/stillwater/commit/a3ae568a73504cd44e4ee8b50cbc2304a5d5d2cb"><code>a3ae568</code></a> docs: update README and guide for error recovery combinators</li> <li><a href="https://github.com/iepathos/stillwater/commit/70a2e637ff9431e05371ff20137cd12eee8d770e"><code>70a2e63</code></a> docs: add comprehensive recover patterns example</li> <li><a href="https://github.com/iepathos/stillwater/commit/86adb20a0e7a0382c325dd2cc3be4c5e9346eccf"><code>86adb20</code></a> Merge branch 'prodigy-workflow-1764395677698'</li> <li><a href="https://github.com/iepathos/stillwater/commit/e0db43b66fff1ea97e9f588476c0251f72c5bf1e"><code>e0db43b</code></a> feat: implement spec 042 - free function constructors documentation</li> <li><a href="https://github.com/iepathos/stillwater/commit/5bcf4ab3688de049ccedc4e78a4a86fd8c2c4f5a"><code>5bcf4ab</code></a> Merge branch 'prodigy-workflow-1764391685262'</li> <li><a href="https://github.com/iepathos/stillwater/commit/77dbb0e3bd0d943e5dbb8f3a032e25ff5a93f5d5"><code>77dbb0e</code></a> style: apply automated formatting and lint fixes</li> <li>Additional commits viewable in <a href="https://github.com/iepathos/stillwater/compare/v0.11.0...v0.13.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=stillwater&package-manager=cargo&previous-version=0.11.0&new-version=0.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Glen Baker <iepathos@gmail.com>
1 parent 993fe13 commit 67d5184

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

Cargo.lock

Lines changed: 13 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ hostname = "0.4"
5656
nix = { version = "0.30", features = ["signal", "process"] }
5757
sysinfo = "0.37.1"
5858
dirs = "6.0.0"
59-
stillwater = { version = "0.11.0", features = ["async", "jitter"] }
59+
stillwater = { version = "0.13.0", features = ["async", "jitter"] }
6060
rayon = "1.11.0"
6161
premortem = { version = "0.6.0", features = ["toml", "yaml", "derive"] }
6262

0 commit comments

Comments
 (0)