Releases: PrefectHQ/prefect
Release 2.18.3
Experimental
Engine
- Wire up new engine to deployment runs — #12914
Fixes
- Fix parameters becoming unresponsive and disappearing in Prefect UI — PrefectHQ/prefect-ui-library#2355
All changes: 2.18.2...2.18.3
Release 2.18.2
💡 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
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
- Add
FormattedDate
component to display accessible, long-form timestamps consistently - Update modal buttons and add auto-close to the parameters and job variable modals — PrefectHQ/prefect-ui-library#2320
- Add flow run list information density — PrefectHQ/prefect-ui-library#2321
- Fix "Run a deployment" action not populating the default parameters from the deployment — PrefectHQ/prefect-ui-library#2322
- Fix schema form properties with no default value from defaulting to
null
(None
) — PrefectHQ/prefect-ui-library#2323 - Update date-fns and date-fns-tz — PrefectHQ/prefect-ui-library#2319
- Use correct icon colors for non-destructive actions in the UI — PrefectHQ/prefect-ui-library#2328
Integrations
Prefect CGP
- Remove API ref to nonexistent Google Cloud Run V2 page — PrefectHQ/prefect-gcp#260
- Fix VPC access for Cloud v2 worker — PrefectHQ/prefect-gcp#266
- Handle case where
vpc
isn't in job template — PrefectHQ/prefect-gcp#267
New Contributors
- @keizobabybear made their first contribution in #12852
Release 2.18.0
Breaking Changes
- Remove deprecated ability to use
deployment.yaml
inprefect deploy
— #12731 - Remove deprecated ability to pass
-f/--flow
as option toprefect deploy
— #12732 - Remove deprecated
projects
fromprefect deploy
— #12737 - Remove deprecated
--ci
option fromprefect deploy
— #12740
Enhancements
- Improve account selection in
prefect cloud login
andworkspace set
— #12717
Full Changelog: 2.17.0...2.18.0
See the release notes for more!
Release 2.17.1
Fixes
All changes: 2.17.0...2.17.1
Release 2.17.0
🧮 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
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
Release 2.16.7
💻 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
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