Changelog History
Page 1
-
v2.3.2 Changes
β¨ Enhancements
- π» UI displays an error message when backend is unreachable - https://github.com/PrefectHQ/prefect/pull/6670
π Fixes
- π Fix issue where parameters weren't updated when a deployment was re-applied by @lennertvandevelde in https://github.com/PrefectHQ/prefect/pull/6668
- π Fix issues with stopping Orion on Windows machines - https://github.com/PrefectHQ/prefect/pull/6672
- π Fix issue with GitHub storage running in non-empty directories - https://github.com/PrefectHQ/prefect/pull/6693
- π Fix issue where some user-supplied values were ignored when creating new deployments - https://github.com/PrefectHQ/prefect/pull/6695
Collections
- β Added prefect-fugue
Contributors
- @lennertvandevelde made their first contribution! β https://github.com/PrefectHQ/prefect/pull/6668
-
v2.3.1 Changes
β¨ Enhancements
- β Add sync compatibility to
run
for all infrastructure types β https://github.com/PrefectHQ/prefect/pull/6654 - β‘οΈ Update Docker container name collision log to
INFO
level for clarity β https://github.com/PrefectHQ/prefect/pull/6657 - π¨ Refactor block documents queries for speed β‘οΈ β https://github.com/PrefectHQ/prefect/pull/6645
- β‘οΈ Update block CLI to match standard styling β https://github.com/PrefectHQ/prefect/pull/6679
π Fixes
- β Add
git
to the Prefect image β https://github.com/PrefectHQ/prefect/pull/6653 - β‘οΈ Update Docker container runs to be robust to container removal β https://github.com/PrefectHQ/prefect/pull/6656
- β
Fix parsing of
PREFECT_TEST_MODE
inPrefectBaseModel
β https://github.com/PrefectHQ/prefect/pull/6647 - π Fix handling of
.prefectignore
paths on Windows β https://github.com/PrefectHQ/prefect/pull/6680
Collections
Contributors
- @mars-f made their first contribution β https://github.com/PrefectHQ/prefect/pull/6639
- @pdashk made their first contribution β https://github.com/PrefectHQ/prefect/pull/6640
- β Add sync compatibility to
-
v2.3.0 Changes
Exciting New Features π
- β Add support for deploying flows stored in Docker images β #6574
- β Add support for deploying flows stored on GitHub β #6598
- β Add file system block for reading directories from GitHub β #6517
- β Add a context manager to disable the flow and task run loggers for testing β #6575
- β Add task run pages to the UI β #6570
β¨ Enhancements
- β Add "cloud" to
prefect version
server type display β #6523 - π Use the parent flow run client for child flow runs if available β #6526
- β Add display of Prefect version when starting agent β #6545
- β Add type hints to state predicates, e.g.
is_completed()
β #6561 - β Add error when sync compatible methods are used incorrectly β #6565
- π Improve performance of task run submission β #6527
- π Improve performance of flow run serialization for
/flow_runs/filter
endpoint β #6553 - β Add field to states with untrackable dependencies due to result types β #6472
- β‘οΈ Update
Task.map
iterable detection to exclude strings and bytes β #6582 - β Add a version attribute to the block schema model β #6491
- β Add better error handling in the telemetry service β #6124
- β‘οΈ Update the Docker entrypoint display for the Prefect image β #655
- β Add a block creation link toΒ
prefect block type ls
β #6493 - π Allow customization of notifications of queued flow runs β #6538
- Avoid duplicate saves of storage blocks as anonymous blocks β #6550
- β Remove save of agent default infrastructure blocks β #6550
- β Add aΒ
--skip-upload
Β flag toΒprefect deployment build
Β β #6560 - β Add a
--upload
flag toprefect deployment apply
β #6560 - β Add the ability to specify relative sub-paths when working with remote storage for deployments β #6518
- Prevent non-UUID slugs from raising errors on
/block_document
endpoints β #6541 π Improve Docker image tag parsing to support the full Moby specification β #6564
π Fixes
Set uvicorn
--app-dir
when starting Orion to avoid module collisions β #6547π Resolve issue with Python-based deployments having incorrect entrypoint paths β #6554
π Fix Docker image tag parsing when ports are included β #6567
β‘οΈ Update Kubernetes Job to use
args
instead ofcommand
to respect image entrypoints β #6581- Warning: If you are using a custom image with an entrypoint that does not allow passthrough of commands, flow runs will fail.
π Fix edge case in
sync_compatible
detection when using AnyIO task groups β #6602β Add check for infrastructure and storage block capabilities during deployment build β #6535
π Fix issue where deprecated work queue pages showed multiple deprecation notices β #6531
π Fix path issues with
RemoteFileSystem
and Windows β #6620Fix a bug where
RemoteFileSystem.put_directory
did not respectlocal_path
β #6620
π Documentation
- β Add tutorials for creating and using storage and infrastructure blocks β #6608
- β‘οΈ Update tutorial for running flows in Docker β #6612
- β Add example of calling a task from a task β #6501
- π Update database documentation for Postgres to clarify required plugins β #6566
- β Add example of using
Task.map
in docstring β #6579 - β Add details about flow run retention policies β #6577
- π Fix flow parameter name docstring in deployments β #6599
Contributors
Thanks to our external contributors!
- @darrida
- @jmg-duarte
- @MSSandroid
-
v2.2.0 Changes
Exciting New Features π
- β Added automatic detection of static arguments to
Task.map
in https://github.com/PrefectHQ/prefect/pull/6513
π Fixes
- π Updated deployment flow run retry settings with runtime values in https://github.com/PrefectHQ/prefect/pull/6489
- β‘οΈ Updated media queries for flow-run-filter in https://github.com/PrefectHQ/prefect/pull/6484
- β Added
empirical_policy
to flow run update route in https://github.com/PrefectHQ/prefect/pull/6486 - β‘οΈ Updated flow run policy retry settings to be nullable in https://github.com/PrefectHQ/prefect/pull/6488
- π Disallowed extra attribute initialization on
Deployment
objects in https://github.com/PrefectHQ/prefect/pull/6505 - π Updated
deployment build
to raise an informative error if two infrastructure configs are provided in https://github.com/PrefectHQ/prefect/pull/6504 - π Fixed calling async subflows from sync parents in https://github.com/PrefectHQ/prefect/pull/6514
- β Added automatic detection of static arguments to
-
v2.1.1 Changes
π Fixes
- π Fixed log on abort when the flow run context is not available in https://github.com/PrefectHQ/prefect/pull/6402
- π Fixed error message in
submit_run
in https://github.com/PrefectHQ/prefect/pull/6453 - π Fixed error if default parameters are missing on a deployment flow run in https://github.com/PrefectHQ/prefect/pull/6465
- β Added error message if
get_run_logger
receives context of unknown type in https://github.com/PrefectHQ/prefect/pull/6401
-
v2.1.0 Changes
π Build Deployments in Python
π The new, YAML-based deployment definition provides a simple, extensible foundation for our new deployment creation experience. Now, by popular demand, we're extending that experience to enable you to define deployments and build them from within Python. You can do so by defining a
Deployment
Python object, specifying the deployment options as properties of the object, then building and applying the object using methods ofDeployment
. See the documentation to learn more.Simplified Agents & Work Queues
π Agents and work queues give you control over where and how flow runs are executed. Now, creating an agent (and corresponding work queue) is even easier. Work queues now operate strictly by name, not by matching tags. Deployments, and the flow runs they generate, are explicitly linked to a single work queue, and the work queue is automatically created whenever a deployment references it. This means you no longer need to manually create a new work queue each time you want to want to route a deployment's flow runs separately. Agents can now pull from multiple work queues, and also automatically generate work queues that don't already exist. The result of these improvements is that most users will not have to interact directly with work queues at all, but advanced users can take advantage of them for increased control over how work is distributed to agents. These changes are fully backwards compatible. See the documentation to learn more.
π Improvements and bug fixes
- β Added three new exceptions to improve errors when parameters are incorrectly supplied to flow runs in https://github.com/PrefectHQ/prefect/pull/6091
- π Fixed a task dependency issue where unpacked values were not being correctly traced in https://github.com/PrefectHQ/prefect/pull/6348
- β Added the ability to embed
BaseModel
subclasses as fields within blocks, resolving an issue with the ImagePullPolicy field on the KubernetesJob block in https://github.com/PrefectHQ/prefect/pull/6389 - β Added comments support for deployment.yaml to enable inline help in https://github.com/PrefectHQ/prefect/pull/6339
- β Added support for specifying three schedule types - cron, interval and rrule - to the
deployment build
CLI in https://github.com/PrefectHQ/prefect/pull/6387 - β Added error handling for exceptions raised during the pre-transition hook fired by an OrchestrationRule during state transitions in https://github.com/PrefectHQ/prefect/pull/6315
- β‘οΈ Updated
visit_collection
to be a synchronous function in https://github.com/PrefectHQ/prefect/pull/6371 - Revised loop service method names for clarity in https://github.com/PrefectHQ/prefect/pull/6131
- π Modified deployments to load flows in a worker thread in https://github.com/PrefectHQ/prefect/pull/6340
- Resolved issues with capture of user-raised timeouts in https://github.com/PrefectHQ/prefect/pull/6357
- β Added base class and async compatibility to DockerRegistry in https://github.com/PrefectHQ/prefect/pull/6328
- Added
max_depth
tovisit_collection
, allowing recursion to be limited in https://github.com/PrefectHQ/prefect/pull/6367 - β Added CLI commands for inspecting and deleting Blocks and Block Types in https://github.com/PrefectHQ/prefect/pull/6422
- β Added a Server Message Block (SMB) file system block in https://github.com/PrefectHQ/prefect/pull/6344 - Special thanks to @darrida for this contribution!
- β Removed explicit type validation from some API routes in https://github.com/PrefectHQ/prefect/pull/6448
- π Improved robustness of streaming output from subprocesses in https://github.com/PrefectHQ/prefect/pull/6445
- β Added a default work queue ("default") when creating new deployments from the Python client or CLI in https://github.com/PrefectHQ/prefect/pull/6458
π New Collections
Full Changelog: https://github.com/PrefectHQ/prefect/compare/2.0.4...2.1.0
-
v2.0.4 Changes
π Simplified deployments
π The deployment experience has been refined to remove extraneous artifacts and make configuration even easier. In particular:
- π
prefect deployment build
no longer generates a Βmanifest.json
Β file. Instead, all of the relevant information is written to thedeployment.yaml
file. - π Values in the
deployment.yaml
file are more atomic and explicit - Local file system blocks are no longer saved automatically
- Infrastructure block values can now be overwritten with the new
infra_overrides
field
π» Start custom flow runs from the UI
π Now, from the deployment page, in addition to triggering an immediate flow run with default parameter arguments, you can also create a custom run. A custom run enables you to configure the run's parameter arguments, start time, name, and more, all while otherwise using the same deployment configuration. The deployment itself will be unchanged and continue to generate runs on its regular schedule.
π Improvements and bug fixes
- β± Made timeout errors messages on state changes more intuitive
- β Added debug level logs for task run rehydration
- β Added basic CLI functionality to inspect Blocks; more to come
- β Added support for filtering on state name toΒ
prefect flow-run ls
- Refined autogenerated database migration output
- π
-
v2.0.3 Changes
π This release contains a number of bug fixes and documentation improvements.
Introducing
prefect-dbt
π We've released
prefect-dbt
- a collection of Prefect integrations for working with dbt in your Prefect flows. This collection has been built as part of a partnership with dbt Labs to ensure that it follows best practices for working with dbt.π Improvements and bug fixes
- Azure storage blocks can use
.prefectignore
- Resolved bugs and improved interface in the Orion client.
- Resolved a bug in Azure storage blocks that would cause uploads to get stuck.
- π» Resolved a bug where calling a flow in a separate thread would raise an exception.
- π Resolved issues with loading flows from a deployment.
- Corrected some erroneous type annotations.
- π Better handling of database errors during state transition validation.
- π Better sanitization of labels for Kubernetes Jobs.
- π Fixes
--manifest-only
flag ofprefect deployment build
command to ensure that using this flag, the manifest gets generated, but the upload to a storage location is skipped. - β Added support for multiple YAML deployment paths to the
prefect deployment apply
command.
- Azure storage blocks can use
-
v2.0.2 Changes
π This release implements a number of improvements and bug fixes in response to continued engagement by members of our community. Thanks, as always, to all who submitted ideas on how to make Prefect 2 even better.
Introducing .prefectignore files
.prefectignore files allow users to omit certain files or directories from their deployments. Similar to other .ignore files, the syntax supports pattern matching, so an entry of
*.pyc
will ensure all .pyc files are ignored by the deployment call when uploading to remote storage. Prefect provides a default .prefectignore file, but users can customize it to their needs.π Improvements and bug fixes
- π Users can now leverage Azure storage blocks.
- π Users can now submit bug reports and feature enhancements using our issue templates.
- Block deletion is now more performant.
- π Inconsistencies in UI button copy have been removed.
- π Error messaging is clearer in the
deployment build
CLI command. - π Resolved timeout errors that occurred when using async task functions inside synchronous flows.
-
v2.0.1 Changes
π The response to Prefect 2 has been overwhelming in the best way possible. Thank you to the many community members who tried it out and gave us feedback! Thanks in particular to the students at this week's Prefect Associate Certification Course (PACC) in San Jose for their thoughtful recommendations. This release is a compilation of enhancements and fixes that make for a more resilient, performant, and refined Prefect experience.
π Improvements and bug fixes
- π Schedules set via the API or UI are now preserved when building deployments from the CLI
- π JSON types are now coerced to none, following Javascript convention and supporting standards compatibility
- π The
prefect deployment execute
command has been removed to avoid confusion between running a flow locally from a Python script and running it by an agent usingprefect deployment run
- This repository now includes templates for pull requests and issues to make bug reports and community contributions easier
- β± The
scheduler
andflow-run-notifications
LoopServices have been made more resilient - π² Log inserts have been made more performant through smaller log batches
- π» Local file system blocks created from the UI now point to the right
base_path
- π Support for unmapped values to Task.map has been added as requested by Club42 members
- π The
deployment build
command now supports an optional output flag to customize the name of the deployment.yaml file, to better support projects with multiple flows