Fugo Takefusa
02/13/2026, 12:08 AMMarvin
02/13/2026, 12:08 AMMarvin
02/13/2026, 12:11 AM.result() on the list returned by .map() now fails fast on the first error while still returning results in the original order.
- New opaque(...) annotation to improve performance when passing large objects into tasks (resolve the top-level value but skip deep traversal), alongside existing quote(...) and unmapped(...).
- Clarification/change around unmapped(...) with mutables: the same object is shared by reference across mapped runs, so mutating it inside tasks can cause racey behavior; copy per run if needed.
- Improvements and fixes for ProcessPoolTaskRunner with wait_for so mapped tasks can correctly wait on upstream completions without blocking scheduling.
- Fixes to avoid rare, false task dependencies stemming from Python object id reuse in long-running flows.
If you can share the exact version you’re upgrading to (e.g., 3.5.x, 3.6.x), I can pinpoint the exact changes that apply and link the specific release notes.
Helpful links:
- Prefect releases and changelog: Prefect releases
- Mapping docs: Prefect docs (search for “mapping”, “unmapped/quote/opaque”)