Skip to content

Releases: PrefectHQ/prefect

Release 2.18.3

02 May 22:49
c449aee
Compare
Choose a tag to compare

Experimental

Engine

  • Wire up new engine to deployment runs — #12914

Fixes

All changes: 2.18.2...2.18.3

Release 2.18.2

02 May 20:58
56bde33
Compare
Choose a tag to compare

💡 Providing a deployment name to flow.serve is now optional

When running flow.serve, you can now omit the deployment name. If you do not provide a deployment name, the deployment name will default to the name of the flow. This change makes it easier to run flows without needing to specify a deployment name each time:

@flow
def etl_flow():
    pass

if __name__ == "__main__":
  etl_flow.serve()

results in:

Your flow 'etl-flow' is being served and polling for scheduled runs!

To trigger a run for this flow, use the following command:

        $ prefect deployment run 'etl-flow/etl-flow'

🛠✨ We've also released a few important fixes to our deployment parameter form when creating a run in the Prefect UI! 🧑‍🎨

🚀 This release also includes a number of other fixes and in-flight feature work. See the release notes for more details!

Release 2.18.1

25 Apr 19:44
8cff545
Compare
Choose a tag to compare

Release 2.18.1

Fixes

  • Fix improper context access for nested async task outside of flow — #12810
  • Fix using default interval schedule in prefect deploy#12833
  • Handle case in validationUpdate schema where definitions are falsy — #12880
  • Allow prefect cloud login to override current workspace — #12867
  • Remove extra quotes in prefect deployment run --watch#12894

Experimental

Events and Automations

  • Support filtering by automation name:
  • Add support for using the "normal" Trigger classes for flow.serve and .deploy#12789
  • Add an account-level event subscriber — #12808
  • Emit flow run state change events — #12825
  • Emit deployment status persistence and events — #12853
  • Enable event streaming from PrefectCloudEventSubscriber via CLI — #12796
  • Update the prefect automation delete CLI — #12876

Engine

  • Add new experimental engine for tasks and flows with improved readability and extensibility — #12856

Documentation

  • Improve installation instructions — #12783
  • Improve quickstart — #12798
  • Migrate prefect-azure docs to Integrations section of the Prefect docs — #12794
  • Update storage guide credentials blocks — #12819
  • Remove server import recommendations — #12823
  • Remove link to removed API page — #12824
  • Add Azure Container Instances worker guide — #12846
  • Improve wording on integrations index page — #12852

Prefect UI Library

Integrations

Prefect CGP

New Contributors

Release 2.18.0

18 Apr 20:53
1006d2d
Compare
Choose a tag to compare

Breaking Changes

  • Remove deprecated ability to use deployment.yaml in prefect deploy#12731
  • Remove deprecated ability to pass -f/--flow as option to prefect deploy#12732
  • Remove deprecated projects from prefect deploy#12737
  • Remove deprecated --ci option from prefect deploy#12740

Enhancements

  • Improve account selection in prefect cloud login and workspace set#12717

Full Changelog: 2.17.0...2.18.0

See the release notes for more!

Release 2.17.1

11 Apr 23:58
d6bdb07
Compare
Choose a tag to compare

Fixes

  • Fix events storage import — #12681
  • Remove opentelemetry import — #12684

All changes: 2.17.0...2.17.1

Release 2.17.0

11 Apr 20:02
756f2a6
Compare
Choose a tag to compare

🧮 Manage Prefect variables via the Python SDK

Prefect variables are useful for storing and reusing data and configuration between and across workflows; and previously you could only create and update variables via the Prefect UI. With this release, you can now get and set Prefect variables directly in your Python code with the new Variable.set and Variable.get methods!

For an example of reading and writing variable values in Python see the following example:

from prefect.variables import Variable

# set a variable
variable = Variable.set(name="the_answer", value="42")

# get a variable
answer = Variable.get('the_answer')
print(answer.value)
# 42

# get a variable with a default value
answer = Variable.get('not_the_answer', default='42')
print(answer.value)
# 42

# update a variable
answer = Variable.set(name="the_answer", value="43", overwrite=True)
print(answer.value)
#43

Refer to the docs for more information and see the PR for implementation details: #12596

Other Enhancements 🌟

  • Allow flows inside tasks
    #12559
    #12607
  • Add User-Agent header containing the running Prefect version — #12601
  • Adds deployment version to the flow run object — #12591

... and numerous 🐛 fixes!

Full Changelog: 2.16.9...2.17.0

See the release notes for more!

Release 2.16.9

04 Apr 20:12
083def5
Compare
Choose a tag to compare

This release includes a number of enhancements and in-flight feature work.

🛠✨ One such enhancement helps streamline our CLI by adding a -jv/--job-variable option to prefect deploy, on par with the option available in prefect deployment run.

🔄🔗 In terms of enhancing existing Prefect concepts, we've removed a constraint that prevented tasks from being called from other tasks. For example, this allows you to call tasks within tasks within a flow.

🗿 📉 We no longer create artifacts for unpersisted results, which should prevent an influx of entries to the artifact table. Retried flows without persisted results will now have an error message stating that the "State data is missing" rather than referencing an "unpersisted result".

See the release notes for more details!

Release 2.16.8

29 Mar 15:04
11cb641
Compare
Choose a tag to compare

Fixes

  • Disable CSRF protection by default - #12479
  • Fix issue that caused UI to not be built when creating docker images - #12481

Release 2.16.7

28 Mar 23:08
adbdc84
Compare
Choose a tag to compare

💻 Introducing prefect shell for observing CLI commands

You can now observe CLI commands as a Prefect flow. For example:

» prefect shell watch "curl http://wttr.in/Chicago?format=3"
17:32:39.562 | INFO | prefect.engine - Created flow run 'powerful-mushroom' for flow 'Shell Command'
17:32:40.171 | INFO | Flow run 'powerful-mushroom' - Chicago: ⛅️ +50°F
17:32:40.315 | INFO | Flow run 'powerful-mushroom' - Finished in state Completed()

See these docs to learn how to:

  • run a shell command as a Prefect flow on-demand with watch
  • schedule a shell command as a recurring Prefect flow using serve

See the PR for implementation details: #11998

Other Enhancements 🌟

  • Integrate composite triggers with the DeploymentTrigger YAML representation — #12413
  • Add JSON Artifacts — #12295
  • Add auto-provisioning option for Cloud Run V2 push work pools — #12422

... and numerous 🐛 fixes!

Full Changelog: 2.16.6...2.16.7

See the release notes for more!

Release 2.16.6

23 Mar 21:09
3fecd43
Compare
Choose a tag to compare

Fix new behavior in typer 0.10.0 that broke the prefect CLI

See the following pull request for implementation details:

  • Handle new typer.Option behavior — #12398

All changes: 2.16.5...2.16.6