Urgent.News

What's breaking now, across thousands of outlets.

Tech

Polly v8 Rewrote Itself From Scratch. Here's What Actually Changed

Polly showed up briefly in an earlier post on modernising a legacy enterprise codebase on this blog, wiring resilience into a set of external calls that used to fail with nothing but a bare try/catch. It deserved more room than a section of a bigger post, because v8 wasn't an incremental update to v7. It didn't just add features to the fluent Policy API: it introduced a different resilience…

The transition from Polly v7 to Polly v8 represents a complete overhaul of the resilience model, introducing a new pipeline-based approach. Unlike v7, which used a policy object chained together through a fluent API, v8 introduces a ResiliencePipeline built from named strategies, offering a more modular and composable architecture.

With Polly v8, each resilience strategy - such as retry, circuit breaker, timeout, fallback, hedging, and rate limiting - is configured through its own options type and added to the ResiliencePipelineBuilder. The pipeline is then executed once, with strategies composing through a single ResiliencePipeline. This approach eliminates the need for nested policy-wrap calls and offers a more streamlined and efficient implementation.

The six strategies in Polly v8 are split into reactive and proactive categories. Reactive strategies respond to failures that have already occurred, including retry, circuit breaker, fallback, and hedging. Proactive strategies, on the other hand, aim to prevent failures from happening in the first place and include timeout and rate limiting.

One notable difference is the introduction of a TimeProvider in Polly v8, which allows time-based strategies to use a custom clock instead of relying on the real clock. This enables testing strategies without waiting for real delays. In the example provided, the RetryDemo class demonstrates how to use a TimeProvider with the Retry strategy, configuring it with a specified maximum retry attempts, delay, and backoff type.

The ShouldHandle predicate can be used to narrow the exceptions that the Retry strategy should handle, defaulting to handling any exception except OperationCanceledException.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Why Your Kubernetes HPA Won't Scale Down (It's Probably Not Stuck)

You scaled up under load, traffic dropped ten minutes ago, and your HPA is still sitting at 8 replicas instead of 2. First instinct: something's broken.

  • Kubernetes HPA not scaling down due to 300-second stabilization window
  • Default stabilization window prevents replica removal after metric dip
  • Scale-down settings must be explicitly defined in HPA configuration

Pytalon Assistant Success, A New Era for Non-AI Assistants

Are you expecting another release of Pytalon that either contains new features or bug fixes and polishes? Well, today and this week wasn't supposed to be that.

  • Pytalon 2.3 Assistant achieves 543 clones on September 23rd, setting new peak.
  • First assistant in series to reach such high number of clones and unique clones.
  • Pure-Python, zero-dependency terminal assistant designed for programming tutoring.

Zig 0.17 Split Its Build Into Two Processes: Why That Matters

The most important change in Zig 0.17.0 is not a language feature. It is the build system being split into two separate executables: one that evaluates your build.zig script (the configurer), and one…

  • Zig 0.17.0 splits build system into configurer and maker processes
  • Configurer generates compact binary serialization of build graph
  • Maker consumes serialization to execute build steps

Google Play's API 36 deadline passed — here's the extension and the upgrade checklist

On August 31, 2026, Google Play stopped accepting new apps and app updates that don't target Android 16 (API level 36). If you haven't upgraded yet, you're not reading a warning about the future…

  • Google Play stopped accepting apps for API levels below 36 on August 31, 2026
  • Extension available until November 1, 2026 for late upgrades
  • Apps on lower API targets will become uninstalable on newer devices

More from Saturday 3 October →