Back to Prefect

3.1

docs/v3/release-notes/oss/version-3-1.mdx

3.6.30.dev373.9 KB
Original Source

3.1.15 - The Numbers Are Made Up But The Features Are Real

Released on January 30, 2025

Enhancements ➕➕

Bug Fixes 🐞

Integrations & Dependencies 🤝

Development & Tidiness 🧹

Experimental 🔬

  • [Experimental] Enhancement: Lineage interface event names and context resource registration by @znicholasbrown in #16842
  • [Experimental] Include tags as related resources on lineage events by @kevingrismore in #16895

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.14...3.1.15


3.1.14 - Addition by Subtraction

Released on January 23, 2025

Bug Fixes 🐞

  • respect PREFECT_SERVER_LOGGING_LEVEL in prefect server start by @zzstoatzz in #16765
  • don't make extra calls to cloud in prefect dashboard open by @zzstoatzz in #16768
  • Fix configuring loggers found in 'PREFECT_LOGGING_EXTRA_LOGGERS' by @estasney in #16652
  • Ensure multiple Inputs cache policies are consolidated when used in a CompoundCachePolicy by @zzstoatzz in #16785
  • Add missing function body import in client.find_automation by @aaazzam in #16824
  • Add auth string handling to server side client by @cicdw in #16833
  • Fix serialization for FlowRunContext for flow runs kicked off from a deployment by @desertaxle in #16831
  • Fix subtraction logic on non-input cache policies by @cicdw in #16840
  • fix block cli error messages by @aaazzam in #16787

Development & Tidiness 🧹

Documentation 📓

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.13...3.1.14


3.1.13 - type_all_the_things: bool = True

Released on January 17, 2025

We're thrilled to announce a major milestone: prefect is now 100% type complete! 🎉 Every public interface in the library now includes comprehensive type annotations, bringing significant improvements to the developer experience. This means you'll enjoy:

  • Enhanced autocompletion in your IDE, helping you write code faster and with fewer errors
  • Robust static analysis through tools like mypy and pyright, catching potential issues before runtime
  • Clear, unambiguous type signatures that serve as living documentation for the entire codebase

This achievement represents our commitment to building a more maintainable, reliable, and developer-friendly Python library.

Enhancements ➕➕

Bug Fixes 🐞

  • Fix SendgridEmail code example by @jakekaplan in #16677
  • Fix connection string handling when individual components are provided via settings by @desertaxle in #16680
  • Handles the instrumentation case where a future is only used to wait_for by @chrisguidry in #16709
  • Fix bug where a server can't be stopped and restarted without waiting several seconds by @desertaxle in #15729
  • Fixes to Prefect Basic Auth by @cicdw in #16735
  • Switch drain_all call to be called from new thread instead of global loop thread by @jeanluciano in #16739
  • Ensures that QueueService instances are unique within types by @chrisguidry in #16751

Integrations & Dependencies 🤝

Development & Tidiness 🧹

Documentation 📓

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.12...3.1.13


3.1.12 - Winter Summit is Coming

Released on January 09, 2025

Please consider joining us virtually January 22-23 for our Winter Summit, where we'll be giving some exciting updates on our OSS community growth along with customer stories and updates on Prefect's roadmap! Check out the agenda and register here.

Enhancements ➕➕

Bug Fixes 🐞

Integrations & Dependencies 🤝

  • Update croniter requirement from <6.0.0,>=1.0.12 to >=1.0.12,<7.0.0 by @dependabot in #16431

Development & Tidiness 🧹

Documentation 📓

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.11...3.1.12


3.1.11 - Flow-verload

Released on January 02, 2025

Enhancements ➕➕

Bug Fixes 🐞

Integrations & Dependencies 🤝

Development & Tidiness 🧹

Documentation 📓

v2 UI

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.10...3.1.11


3.1.10 - Not a CPU was stirring, not even in prod

Released on December 25, 2024

'Twas the night before Christmas, when through every cloud Not a CPU was stirring, not even in prod

Bug Fixes 🐞

Development & Tidiness 🧹

Documentation 📓

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.9...3.1.10


3.1.9 - All I Want for Christmas is Queue

Released on December 20, 2024

Enhancements ➕➕

  • Log exceptions when run submission fails in both the runner and worker by @cicdw in #16424
  • Refactor prefect.flow decorator by @mjpieters in #16405

Bug Fixes 🐞

Integrations & Dependencies 🤝

Development & Tidiness 🧹

Documentation 📓

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.8...3.1.9


3.1.8 - A Tale of Two Features

Released on December 17, 2024

Runner Heartbeats for Flow Run Monitoring

Flow runs can now emit heartbeat events to detect infrastructure failures (crashed machines, evicted containers, etc). When enabled, an automation can automatically mark flows as crashed when heartbeats stop, preventing stuck "zombie" flows in the running state.

Enable with:

  • Set PREFECT_RUNNER_HEARTBEAT_FREQUENCY (requires Prefect 3.1.8+)
  • Deploy the provided automation script to update flow states when heartbeats stop
python
from prefect.automations import Automation
from prefect.client.schemas.objects import StateType
from prefect.events.actions import ChangeFlowRunState
from prefect.events.schemas.automations import EventTrigger, Posture

my_automation = Automation(
    name="Crash zombie flows",
    trigger=EventTrigger(
        after={"prefect.flow-run.heartbeat"},
        expect={
            "prefect.flow-run.heartbeat",
            "prefect.flow-run.Completed",
            "prefect.flow-run.Failed",
            "prefect.flow-run.Cancelled",
            "prefect.flow-run.Crashed",
        },
        match={"prefect.resource.id": ["prefect.flow-run.*"]},
        for_each={"prefect.resource.id"},
        posture=Posture.Proactive,
        threshold=1,
        within=90,
    ),
    actions=[
        ChangeFlowRunState(
            state=StateType.CRASHED,
            message="Flow run marked as crashed due to missing heartbeats.",
        )
    ],
)

my_automation.create()

Basic Authentication

We have also added a long requested feature: basic authentication support for the Prefect API. Enable by setting an auth string:

Start a protected server:

bash
PREFECT_SERVER_API_AUTH_STRING="admin:admin" prefect server start

Authenticate client operations:

bash
PREFECT_API_AUTH_STRING="admin:admin" python flow_script.py

Enhancements ➕➕

Integrations & Dependencies 🤝

Documentation 📓

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.7...3.1.8


3.1.7 - Straight outta Half Moon Bay

Released on December 16, 2024

Enhancements ➕➕

Bug Fixes 🐞

Development & Tidiness 🧹

Documentation 📓

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.6...3.1.7


3.1.6 - list[type[Improvements]]

Released on December 11, 2024

This release begins a concerted effort to improve our public interface's type completeness; we hope that this will make the experience of authoring Prefect flows within IDEs more robust and allow for better autocomplete. We welcome all contributions to this effort - follow along with this issue to get involved!

Enhancements ➕➕

Bug Fixes 🐞

Integrations & Dependencies 🤝

Development & Tidiness 🧹

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.5...3.1.6


3.1.5 - Like Leftovers, But Async (No More Pi)

Released on December 03, 2024

Enhancements ➕➕

Bug Fixes 🐞

Integrations & Dependencies 🤝

Development & Tidiness 🧹

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.4...3.1.5


3.1.4 - Schrödinger's Labels

Released on November 21, 2024

Enhancements ➕➕

Bug Fixes 🐞

Integrations & Dependencies 🤝

  • Update prefect pin to >=3.1.3 in prefect-aws by @zzstoatzz in #16064
  • Update AzureBlobStorageCredentials to close default credentials when used as a context manager by @desertaxle in #16071

Development & Tidiness 🧹

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.3...3.1.4


3.1.3 - Queue The Improvements

Released on November 19, 2024

Enhancements ➕➕

Bug Fixes 🐞

Integrations & Dependencies 🤝

Development & Tidiness 🧹

New OSS UI 📊

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.2...3.1.3


3.1.2 - Bug Fixes, Chicago Style, Hold the Ketchup

Released on November 12, 2024

Bug Fixes 🐞

Integrations & Dependencies 🤝

Development & Tidiness 🧹

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.1...3.1.2


3.1.1 - Around the Codebase in 80 PRs

Released on November 08, 2024

Enhancements ➕➕

Bug Fixes 🐞

Integrations & Dependencies 🤝

  • Update typer requirement from !=0.12.2,<0.13.0,>=0.12.0 to >=0.12.0,!=0.12.2,<0.14.0 by @dependabot in #15949
  • Setup OpenTelemetry exporters when initializing prefect by @bunchesofdonald in #15946

Development & Tidiness 🧹

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.1.0...3.1.1


3.1.0 - Configuro, ergo sum

Released on October 31, 2024

We're excited to unveil a major overhaul of Prefect's configuration system. At the heart of this release is a complete refactor of our settings architecture, now powered by pydantic-settings for enhanced organization and clarity. You can now define your settings in either a dedicated prefect.toml file or your existing pyproject.toml file, streamlining the configuration experience and making it more portable across environments.

To learn more about new settings capabilities, check out the updated settings documentation or watch @zzstoatzz's instructional demo on YouTube.

New Features 🎉

Enhancements ➕➕

Bug Fixes 🐞

  • Don't cache on any key computation errors and log for visibility by @cicdw in #15868
  • Fix logging for FastAPI and Uvicorn by @desertaxle in #15871
  • Allow for unpersisted 2.x result payloads in states by @cicdw in #15878
  • Update Settings.copy_with_update to ignore sources when restoring default settings by @desertaxle in #15884
  • Don't reuse exception name in nested exception handling by @cicdw in #15894

Integrations & Dependencies 🤝

prefect-dbt

  • Add DbtCloudJob block to top level import by @cicdw in #15880

Dependencies

Development & Tidiness 🧹

Full Changelog: https://github.com/PrefectHQ/prefect/compare/3.0.11...3.1.0