# Changelog
# 1.4.1 beta
Released on December 5, 2022.
# Fixes
- Fix upper bound on Kubernetes requirement — #7397
- Ensure that Dask callbacks are attached during concurrent usage — #7669
# Task library
- Add CubePreAggregationsBuildTasktask — #7168
- Add upload_optionssupport to the `S3Upload1 task — #7467
# 1.4.0 beta
Released on September 19, 2022.
# Enhancements
- Add get_latesttoTaskRunView— #6749
- Update agents to allow logs to be disabled with PREFECT__CLOUD__SEND_FLOW_RUN_LOGS— #6833
# Fixes
- Fix bug where scheduler_comm.close_rpc()was not awaited inDaskExecutor— #6793
- Fix bug where the Prefect diagnostics logger could duplicate output — #6832
# Task library
- Add validation for node type id and instance pool id in Databricks NewCluster— #6853
# 1.3.1 beta
Released on September 7, 2022.
# Fixes
- Fix bug where flows with emoji characters pass flow.validate(), but fail to extract from file - #6375
- Fix FlowRunViewtask run query errors when all task runs in the flwo run are cached - #6572
- Update FlowRunViewto avoid retrieval of cached static tasks duringlatestcalls - #6572
- Update FlowRunViewto be robust to multithreaded usage - #6572
# Task Library
- Add state handler to log to Snowflake - #5671
- Fix default idempotency token for DatabricksSubmitMultitaskRun- #6412
- Fix custom tag type for Databricks NewCluster- #6573
- Fix empty file handling in S3Listtask - #6028
# Contributors
# 1.3.0 beta
Released on August 2, 2022.
# Enhancements
- Allow custom job name for Kubernetes flow runsto be set in job template - #5819
# Task Library
- Adds container parameter to ReadNamespacedPodLogs- #5979
- Add PowershellTaskfor running commands with Microsoft Powershell - #6035
- Move azure-mgmt-datafactoryrequirement to 'extras', instead of 'orchestration_extras' - #6018
- Fix default initialization of polling_intervalinazure.datafactory.PipelineRun- #6021
# Contributors
# 1.2.4 beta
Released on July 8, 2022.
# Fixes
- Fix bug where S3Resultcould fail to deserialize if pickled with mismatched Prefect versions - #5978
# Task library
- Fix sftp-task imports - #5971
- Fix definition of Databricks GitSourceat task initialization - #5974
- Add container parameter to ReadNamespacedPodLogs- #5979
# Contributors
# 1.2.3 beta
Released on July 5, 2022.
# Enhancements
- Add support for ExtraArgson S3 result upload - #5887
- Add configuration options for the client's rate limit backoff - #5823
# Fixes
- Allow untracked flows to be run during a tracked flow run - #5782
- Fix bug with infinite loop when parsing DST cron schedules - #5957
- Fix issue where complex Python dependencies could break Docker storage builds - #5860
- Fix issue where Gitstorage could not be serialized without arepo- #5877
- Fix issues with grpcio builds on the Prefect base image with Python 3.10 - #5832
# Task library
- Instantiate task kwargs during DbtCloudRunTask.__init__- #5831
- Add boto_kwargssupport toS3List- #5907
- Fix DatabricksSubmitMultitaskRuninputs such asaccess_control_list- #5836
- Add single_user_nameto DatabricksNewCluster- #5903
- Allow extra arguments to Databricks NewCluster- #5949
- Add git_sourceargument toDatabricksSubmitMultitaskRun- #5958
- Add tasks for the Toloka API - #5865
- Add tasks for Azure datafactory - #5921
- Update the DbtShellTaskreturn type to matchShellTask- #5872
- Fix handling for Airbyte schedule keys - #5878
# Contributors
- Bryan "Beege" Berry
- Cat Zhang
- EmilRex
- Max Firman
- Nate Nowack
- Nico Neumann
- Robert Phamle
- Vladislav Moiseev
- edmondo1984
# 1.2.2 beta
Released on May 24, 2022.
# Enhancements
- Add inference of Docker network mode for "host" and "none" networks - #5748
- Add Python 3.10 support - #5770
- Raise error on task initialiation when positional-only parameters are present in function signature - #5789
- Add flag to prevent printing ASCII welcome message 5619
- Allow the Prefect client to retry connections for HTTP targets - #5825
# Task Library
- Adds SFTP server tasks SftpUploadandSftpDownload#1234
- Configure logging output for AirbyteConnectionTask- #5794
- Make artifacts optional in StartFlowRun- #5795
- Use jsoninstead ofdictforDatabricksSubmitMultitaskRun- #5728
- Fix defect in serialization of Great Expectation's results in LocalResult- #5724
- Add an optional data_security_modeto Databricks cluster configuration. - #5778
# Fixes
- Fix bug where Prefect signals in tasks were not re-raised by the process-based timeout handler - #5804
- Update flow builds to be deterministic when upstream and downstream slug are same - #5785
# Contributors
- David McGuire
- Jaakko Lappalainen
- Jason Bertman
- Joël Luijmes
- Karthikeyan Singaravelan
- Mate Hricz
- Nico Neumann
- Robert Phamle
# 1.2.1 beta
Released on April 27, 2022.
# Enhancements
- Add ability to set a max_durationtimeout inwait_for_flow_runtask - #5669
- Add pipe support for EdgeAnnotationtypes, e.g.map- #5674
- Add 'gs' as a valid filesystem schema for reading specifications - #5705
- Add REPL mode for CLI - #5615
# Fixes
- Fix bug where settings the backend to "server" would not prevent client from requesting secrets from the API - #5637
- Fix docker-in-docker issue in DockerAgenton Windows - #5657
- Fix graphviz syntax error when visualizing a flow with a task which is a mapped lambda - #5662
- Allow prefect runparameters to include equals ("=") signs - #5716
# Task library
- Add HightouchRunSynctask - #5672
- Fix DbtCloudRunJobtask failing with nested input for additional_args - #5706"
- Fix Databricks new cluster API params: autoscale and policy_id - #5681
# Contributors
- Alessandro Lollo
- Anders Segerberg
- Ben Ayers-Glassey
- Dominick Olivito
- Karthikeyan Singaravelan
- Mahmoud Lababidi
- limx0
- oscarwyatt
- satoshiking
# 1.2.0 beta
Released on April 5, 2022.
# Features
- Add retry_onto allow tasks to retry on a subset of exception types - #5634
# Enhancements
- Add ability to add capacity provider for ECS flow runs - #4356
- Add support for default values to DateTimeParameter- #5519
- Calling flow.runwithin a flow definition context will raise aRuntimeError- #5588
- Add support for service principal and managed identities for storage on Azure - #5612
# Task Library
- The azureml-sdkdependency has been moved from theazureextra intoazureml- #5632
- Add task to create materializations with Transform - #5518
- Add create_buckettoGCSCopy- #5618
# Fixes
- Fix issue where the FlowRunViewcould fail to initialize when the backend has no state data - #5554
- Fix issue where adaptive Dask clusters failed to replace workers - #5549
- Fix issue where logging in to Cloud via the CLI could fail - #5643
# Contributors
# 1.1.0 beta
Released on March 10, 2022.
# Features
- Add .pipeoperator toprefect.Taskfor functional chaining - #5507
- Add Kubernetes authentication support to VaultSecret- #5412
# Enhancement
- Allow tasks to consume selfas an argument - #5508
- Improve the default idempotency key for create_flow_runtask when mapping during a local flow run - #5443
# Fixes
- Fix the broken URL displayed in entrypoint.sh- #5490
- Fix zombie processes created by Hasura container during prefect server start- #5476
# Task Library
- Add Airbyte configuration export task - #5410
- Update Globtask to accept a string path - #5499
- Fix pod logging while using RunNamespacedJob- #5514
- Add include_generated_sqloption toCubeJSQueryTask- #5471
# Contributors
- Alessandro Lollo
- Andrew Klimovski
- Brett Polivka
- Jamie Dick
- Michael Milton
- Paul Gierz
- VincentAntoine
- pseudoyim
# 1.0.0 beta
Released on February 23, 2022.
# Highlights
- Authentication with tokens has been removed; use API keys instead. - #4643
- Python 3.6 is no longer supported; use Python 3.7+ instead. - #5136
- Flow Environments have been removed; useRunConfigs instead. - #5072, docs
- We have a new Discourse community to encourage lasting discussions.
# Breaking Changes
- The AWS Fargate agent has been removed; use the ECS agent instead. - #3812
- DockerAgent(docker_interface=...)will now raise an exception if passed. - #4446
- Agents will no longer check for authentication at the prefect.cloud.agent.auth_tokenconfig key. - #5140
- Executors can no longer be imported from prefect.engine.executors; useprefect.executorsinstead. - #3798
- Parameteris not importable from- prefect.core.tasksanymore; use- prefect.Parameterinstead.
- Exceptions are no longer importable from prefect.utilities.exceptions; useprefect.exceptionsinstead. - #4664
- Client.login_to_tenanthas been renamed to- Client.switch_tenant.
- The prefect register flowcommand has been removed; useprefect registerinstead. - #4256
- The prefect run flowcommand has been removed; useprefect runinstead. - #4463
- Authentication token CLI commands create-token,revoke-token,list-tokenshave been removed; use API keys instead. - #4643
- prefect auth loginno longer accepts authentication tokens. - #5140
- prefect auth purge-tokenshas been added to delete the Prefect-managed tokens directory. - #5140
- The log_to_cloudsetting is now ignored; usesend_flow_run_logsinstead. - #4487
# Enhancements
- Update LocalDaskExecutorto use new Python futures feature. - #5046
- Add a State.__sizeof__implementation to include the size of its result for better scheduling. - #5304
- Allow the cancellation event check to be disabled in the DaskExecutor. - #5443
- Update Flow.visualize()to allow change in orientation. - #5472
- Allow ECS task definition role ARNs to override ECS agent defaults. - #5366
# Task Library
- Add DatabricksGetJobIDto retreive Databricks job IDs with a given name. - #5438
- Add AWSParametersManagertask to retrieve value from AWS Systems Manager Parameter Store. - #5439
- Update SpacyNLPtask to supportspacyversion >= 3.0. - #5358
- Add excludeparameter toSpacyNLPtask. - #5402
- Update the AWSSecretsManagertask to parse non key-value type secrets. - #5451
- Update the DatabricksRunNowtask to use the Databricks 2.1 jobs API. - #5395
- Add ge_checkpointandcheckpoint_kwargsparameters toRunGreatExpectationsValidationto allow runtime configuration of checkpoint runs. - #5404
- Add support for overwriting existing blobs when using Azure BlobStorageUploadtask. - #5437
- Add Neo4jRunCypherQueryTasktask for running Cypher queries against Neo4j databases. - #5418
- Add DatabricksSubmitMultitaskRuntask to run Databricks jobs with multiple Databricks tasks. - #5395
# Fixes
- Add support to prefect.flattenfor non-iterable upstreams, including exceptions and signals. - #4084
- While building Docker images for storage, rm=Trueis used as default, which deletes intermediate containers. - #5384
- Use __all__to declare Prefect's public API for Pyright. - #5293
- Fix usage of sys.getsizeofto restore support for PyPy. - #5390
- Fix issues with log size estimates from #5316. - #5390
# Contributors
- Alessandro Lollo
- Aneesh Makala
- Connor Martin
- Gebing
- Julio Faracco
- Kevin Mullins
- Mathijs Miermans
- Oliver Mannion
- Raymond Yu
# 0.15.13 beta
Released on January 25, 2022.
# Enhancements
- Ensure that maximum log payload sizes are not exceeded - #5316
# Fixes
- Fix bug where logout was required before logging in with a new key if the new key does not have access to the old tenant - #5355
# Server
- Upgrade Hasura to v2.1.1 which includes support for Apple M1 - #5335
# Task Library
- Fix bug where the Airbyte sync job failure would not be reflected in the task state - #5362
# 0.15.12 beta
Released on January 12, 2022.
# Enhancements
- Allow passing timedeltas to create_flow_runto schedule subflows at runtime - #5303
- Upgrade Prefect Server Hasura image to 2.0.9 - #5173
- Allow client retries on failed requests to Prefect Server - #5292
# Task Library
- Add authentication parameter for Snowflake query tasks - #5173
- Add Mixpanel tasks - #5276
- Add Zendesk Tickets Incremental Export task - #5278
- Add Cube.js Query task - #5280
- Add Monte Carlo lineage tasks - #5256
- Add Firebolt task - #5265
- Add custom domain support to dbt Cloud tasks for enterprise customers - #5273
- Fix response key in Airbyte task health check - #5314
- Allow all Postgres task parameters to be configured at runtime - #4377
- Fix AirbyteConnectionTaskrequiring optional parameters - #5260
- Allow StepActivatetask to receive runtime parameters - #5231
# Fixes
- Fix bug where null run_configfield caused deserialization errors in backend views - #1234
# Contributors
- Adam Brusselback
- Ahmed Ezzat
- Alessandro Lollo
- Connor Martin
- Dennis Hinnenkamp
- Gaylord Cherencey
- Henning Holgersen
- Mathijs Miermans
- Michał Zawadzki
- Raghav Sharma
# 0.15.11 beta
Released on December 22, 2021.
# Enhancements
- Allow passing kwargs to Mergetask constructor viamerge()function - #5233
- Allow passing proxies to slack_notifier- #5237
# Fixes
- Update RunGreatExpectationsValidationtask to work with latest version ofgreat_expectations- #5172
- Allow unsetting kubernetes imagePullSecretswith an empty string - #5001
- Improve agent handling of kubernetes jobs for flow runs that have been deleted - #5190
- Remove beta1from kubernetes agent template - #5194
- Documentation improvements - #5220, #5232, #5288
# Contributors
# 0.15.10 beta
Released on November 30, 2021.
# Enhancements
- Add end_timetoFlowRunView.get_logs- #5138
- Update watch_flow_runto stream logs immediately instead of waiting for flow run state changes - #5138
- Allow setting container ports for DockerRun- #5130
- Clarify ECSRundocumentation, especially the ambiguities in setting IAM roles - #5110
- Fix deprecated usage of marshmallow.fields.Dictin RRule schedules - #4540, #4903
# Fixes
- Fix connection to local server instances when using DockerAgenton linux - #5182
# Task Library
- Add support for triggering Airbyte connection sync jobs using AirbyteConnectionTask- #5078
- Add artifact publishing to DbtCloudRunJobtask - #5135
- Add support for running data quality checks on Spark DataFrames using soda-spark- #4901
# Contributors
# 0.15.9 beta
Released on November 10, 2021.
This hotfix release fixes an issue where the kubernetes agent would attempt to load a secret value and fail if it was not present.
See the PR for details.
# 0.15.8 beta
Released on November 10, 2021.
# Features
- Add support for rich iCal style scheduling via RRules - #4901
- Add Google Cloud Vertex agent and run configuration - #4989
# Enhancements
- Allow Azureflow storage to overwrite existing blobs - #5103
- Provide option to specify a dockerignore when using Docker storage - #4980
- Add keep-alive connections for kubernetes client API connections - #5066
- Add idempotency_keytocreate_flow_runtask - #5125
- Add raise_final_statetowait_for_flow_runtask to reflect child flow run state - #5129
# Task Library
- Bump maximum google-cloud-bigqueryversion to support 2.x - #5084
- Add Globtask for collecting files in directories - #5077
- Add DbtCloudRunJobtask for triggering dbt cloud run jobs - #5085
- Added Kafka Tasks entry to website docs - #5094
# Fixes
- Update the FlowViewto be more robust to serialized flow changes in the backend - #5116
# Deprecations
- Move artifacts functions to prefect.backend.artifacts- #5117
# Server
This release includes a Prefect Server update that updates an upstream dependency to fix a security vulnerability. See the release changelog for more details.
# Contributors
- Alessandro Lollo
- Bradley Axen
- Damien Ramunno-Johnson
- Jonas Miederer
- Josh Wang
- Nitay Joffe
- Timo S.
- Brett Naul
# 0.15.7 beta
Released on October 21, 2021.
# Enhancements
- Add flatten support to apply_map- #4996
- Add dask performance report to DaskExecutor- #5032
- Update git storage repoparameter to be optional if specifyinggit_clone_url_secret_name- #5033
- Add task_run_nametoprefect.context- #5055
# Fixes
- Reduce rate limit related failures with the ECS agent - #5059
# Task Library
- Add dataparameter toSQLiteQuerytask - #4981
- Allow EmailTaskto use insecure internal SMTP servers withsmtp_type="INSECURE"- #5012
- Fix Databricks run_idmutation during task runs - #4958
- Add manualsetting toFivetranSyncTaskallowing retention of Fivetan scheduling -#5065
# Contributors
# 0.15.6 beta
Released on September 21, 2021.
# Enhancements
- Improve setting the Azure storage connection string - #4955
- Allow disabling retries for a task with max_retries=0when retries are globally configured - #4971
# Task Library
- Allow Exasol Tasks to handle Prefect Secrets directly - #4436
- Adding Census Syncs to the task library - #4935
# Fixes
- Fix bug where LocalDaskExecutordid not respond to aPrefectSignal- #4924
- Fix PostgresFetchwith headers for one row - #4968
- Fix bug where apply_mapcould create acyclic flows - #4970
# Contributors
# 0.15.5 beta
Released on September 2, 2021.
# Features
- Python 3.9 docker images are now published - #4896
# Enhancements
- Add --exposeflag toprefect servercli to make the Core server and UI listen to all interfaces - #4821
- Pass existing/local environment variables to agentless flow runs - #4917
- Add --idempotency-keytoprefect run- #4928
- Add support for larger flow registration calls - #4930
- Ignore schedules by default for CLI flow runs and add flag to run based on schedule for local only runs #4817
# Task Library
- Feature: Added SnowflakeQueryFromFiletask #3744
- Enhancement: Log boto exceptions encountered in the in AWS BatchSubmittask - #4771
- Breaking: Legacy Dremio authentication has been updated to the new pattern in DremioFetch- #4872
- Fix: Use runtime arguments over init arguments instead of ignoring them for MySQL Tasks - #4907
# Fixes
- Adjust log limits to match backend logic for better UX - #4900
- Fix use of marshmallow.fields.Dictto usekeysas a kwarg rather thankey. - #4903
- API server settings are passed correctly to task workers when using Prefect Server - #4914
- Do not attempt attempt to set host_gatewayif using an unsupported Docker Engine version - #4809
- Ignore jobs without a flow_run_idlabel inKubernetesAgent.manage_jobs- #4934
# Breaking Changes
- Services run by prefect servercli are now local by default (listen to localhost instead of 0.0.0.0); use--exposeif you want to connect from a remote location - #4821
- The changes in flow registration require Prefect Server 2021.09.02. Prefect Server will need to be upgraded before flows can be registered from this version - #4930
# Contributors
# 0.15.4 beta
Released on August 17, 2021.
# Docs
- Add a getting started section with a quick start guide for both core and orchestration sections - #4734
# Enhancements
- Expose Snowflake cursor type to SnowflakeQuery task arguments #4786
- Add ability to use threaded flow heartbeats - #4844
- Improve behavior when API rate limits are encountered - #4852
- Allow custom git clone url for Gitstorage - #4870
- Add on_worker_status_changedcallback to theDaskExecutor- #4874
- Add --agent-config-idtoprefect agent <kubernetes|local> install- #4876
# Task Library
- Add new prometheus task to push to gateway - #4623
# Fixes
- Fix binding of named volumes to flow containers with Docker agent - #4800
- Fix ImportErrortypo in dropbox module - #4855
- Fix default safe char for gitlab storage repo path - #4828
# Contributors
# 0.15.3 beta
Released on July 27, 2021.
# Enhancements
- Add new evaluation_parametersparameter toRunGreatExpectationsValidationtask - #4798
# Fixes
- Fix create_flow_runcompatibility with auth tokens - #4801
- Fix auto-quoting for strings that begin with numeric characters - #4802
# Contributors
# 0.15.2 beta
Released on July 20, 2021.
# Enhancements
- Allow CLI registration of flows without starting their schedule prefect register --no-schedule- #4752
- Add host_configtoDockerRunto expose deeper settings for Docker flow runs - #4733
- Enable loading additional repository files with Gitstorage - #4767
- Update flow run heartbeats to be robust to exceptions - #4736
- Allow prefect build/registerpaths to contain globs for recursion - #4761
# Fixes
- Fix duplicate task runs in FlowRunView.get_all_task_runs- #4774
- Fix zombie processes from exited heartbeats - #4733
- Missing auth_filedirectory is created when saving credentials - #4792
# Task Library
- Add VaultSecrettask for retrieving secrets from private Vault instances - #4656
# Contributors
# 0.15.1 beta
Released on July 12, 2021.
# Enhancements
- Add documentation for querying role and membership info - #4721
- Checkpoint task results when SUCCESSis raised - #4744
# Fixes
- Fix loading of PREFECT__CLOUD__API_KEYenvironment variable when starting agents - #4751
- Fix bug where the tenant could not be inferred during flow runs while using token auth - #4758
- Fix bug where an agent using token auth could clear the tenant from disk - #4759
# 0.15.0 beta
Released on July 1, 2021.
# Features
- Add objects for inspecting flows, flow runs, and task runs without writing queries - #4426
- Rehaul prefect runCLI for executing flows locally and with agents - #4463
- Add flow run tasks to simplify flow run result passing - #4563
- Add agentless execution for flow runs - #4589
- Add prefect auth create-keyto create API keys - #4643
- Add prefect auth list-keysto list API key metadata - #4643
- Add prefect auth revoke-keyto revoke an API key - #4643
- Add prefect auth statuscommand to see the state of your authentication - #4643
# Enhancements
- Improve flow run documentation with new dedicated section - #4492
- Update Clientto support API keys - #4643
- Add API key support to prefect auth login/logout/switch-tenants- #4643
- API keys can be configured in the Prefect config - #4643
- Change SendGrid SendEmailtask to use secret value - #4669
- Add TenantViewfor retrieval of tenant information - #4676
- Add custom rbac documentation - #4696
- Exit with non-zero status on flow run failure when watched - #4709
- Display return code on local agent flow process failure - #4715
# Task Library
- Add KafkaBatchConsumeandKafkaBatchProducetasks - #4533
# Fixes
- Fix cleanup issue with Gitstorage on Windows - #4665
- Pass API keys as tokens for compatibility when creating flow run environments - #4683
- Fix missing event timestamp attribute errors in K8s agent - #4693
- Fix backwards compatibility for flows without a terminal_state_handler- #4695
- Raise a better exception when a task run result type is not set in TaskRunView.get_result()- #4708
# Deprecations
- Deprecate prefect auth create-token- #4643
- Deprecate prefect auth list-tokens- #4643
- Deprecate prefect auth revoke-token- #4643
- Deprecate setting auth tokens in the Prefect config - #4643
- prefect.utilities.exceptionshas been deprecated in favor of- prefect.exceptions- #4664
# Breaking Changes
- Remove deprecated prefect.environment.storagemodule
- Remove deprecated DockerAgentkwargnetwork
- Remove deprecated kubernetes.ResourceManagerclass
- Remove deprecated prefect agent start/install <agent-type>commands
- Remove deprecated prefect agent local startflag--storage-labels
- Remove deprecated DroboxDownloadtask kwargaccess_token_secret
- Remove deprecated GCS...tasks kwargencryption_key_secret
- Remove deprecated prefect.tasks.googlemodule
- Remove deprecated prefect.tasks.secret.Secretclass
- Remove deprecated Schedulerserializers for Prefect <0.6.0
- Remove deprecated RunGreatExpectionsCheckpointtask
- Remove deprecated OneTimeScheduleandUnionScheduleclasses
- Remove deprecated flow run tasks ending in Task
- Remove deprecated prefect.utilities.tasks.unmapped; moved to prefect.utilities.edges.unmapped
- Prefect state signals now inherit from BaseExceptionto prevent accidental capture - #4664
- TaskTimeoutErrorhas been replaced with- TaskTimeoutSignal- #4664
- VersionLockErrorhas been replaced with- VersionLockMismatchSignal- #4664
# Contributors
# 0.14.22 beta
Released on June 15, 2021.
# Enhancements
- Use functools.update_wrapperforFunctionTask- #4608
- Add ability to merge reference tasks when combining two flows - #4644
- Add client side check for key value size - #4655
- Ensure stack traces are included in logs during task run exceptions - #4657
- Add poll_intervalparameter toStartFlowRunto define the polling interval when waiting for the flow run to finish - #4641
- Add ability to set task timeouts with timedeltaobjects - #4619
# Fixes
- Add ssh documentation - #4539
# Contributors
# 0.14.21 beta
Released on June 2, 2021.
# Features
- Add interface for backend key-value metadata store - #4499
# Enhancements
- Keep intermediate docker layers when using Docker Storage to improve caching - #4584
# Fixes
- Fix possible race condition in LocalResultdirectory creation - #4587
- Use absolute paths when registering flows in prefect register- #4593
- Propagate storage labels (e.g. hostname label on Localstorage) when registering flows withprefect register- #4593
- Fix small-flow parallelism issues with multiprocess LocalDaskExecutor- #4602
- Cleanly handle unpicklable exceptions in tasks - #4605
# Contributors
# 0.14.20 beta
Released on May 25, 2021.
# Enhancements
- Refactor Agentbase class for readability - #4341
- Display the agent config id on agent startup if set - #4524
- Add debug logs during agent auth verification - #4547
- Sending logs to Cloud can be globally disabled via config in addition to the agent flag - #4487
# Task Library
- Enable sending attachments with emails in the EmailTask- #4457
- Add Google Cloud Platform GCPSecrettask - #4561
# Fixes
- Fix import_objecthandling of submodules that are not attributes - #4513
- Fix DockerStoragebuilding with python slim image - #4523
- Gracefully handle events with missing timestamps in K8s agent - #4544
- Fix bug where agent uses originally scheduled start time instead of latest state time - #4568
# Deprecations
- logging.log_to_cloudhas been deprecated in favor of- cloud.send_flow_run_logs- #4487
# Contributors
# 0.14.19 beta
Released on May 11, 2021 as a hotfix for 0.14.18
# Fixes
- Fix docker container name error while using docker agents - #4511
# 0.14.18 beta
Released on May 11, 2021.
# Enhancements
- Add an image_pull_policykwarg toKubernetesRun- #4462
- Allow prefect build/register --moduleto accept full import path to flow - #4468
- Add hello worldflow to prefect module - #4470
- Set docker container names to flow run names when running with the docker agent - #4485
# Task Library
- Add basic implementation of SendGridto Task Library - #4450
- Log link to flow run in StartFlowRun- #4458
- Allow passing in io.BytesIOtoGCSUpload- #4482
# Fixes
- Fix logging errors within BigQuerytask - #4419
- Remove unnecessary docker interface detection in Docker agent - #4446
- Upgrade kubernetespackage requirement upper limit - #4452
- Fix Prefect server startup check for custom server port - #4501
# Contributors
# 0.14.17 beta
Released on April 27, 2021.
# Features
- Add git storage - #4418
# Enhancements
- Add test coverage for threaded LocalDaskExecutortimeouts - #4217
- Add environment variable support to UniversalRunConfig - #4383
- Adds column name fetching to PostgresFetch task - #4414
- Allow external Postgres with prefect server startcommand - #4424
# Fixes
- Pass reference tasks states instead of task states to terminal_state_handler - #4409
- Check for AWS_RETRY_MODE variable before setting default in ECSAgent- #4417
- Fixed bug from Flow.copy() not copying the slugs dictionary - #4435
- Fix compatibility with PyGithub >= 1.55 - #4440
# Contributors
# 0.14.16 beta
Released on April 14, 2021.
# Enhancements
- Added support for Bitbucket cloud into Bitbucket storage class #4318
- Update docs for API keys - #4313
- Add option to disable the deletion of finished Prefect jobs in the Kubernetes agent - #4351
- Improve messaging when a flow is skipped during registration - #4373
- Display a more helpful error when calling a task outside a flow context - #4374
- Lower required docker-compose version and add note to docs - #4396
- Increase healthcheck intervals for Prefect Server - #4396
- Allow the ShellTaskto be used on win32 - #4397
# Fixes
- Fix ShellTask docstring - #4360
- Fix incorrect unused task tracking - #4368
- Add error handling to timeouts that fail during result pickling or passing - #4384
# Contributors
# 0.14.15 beta
Released on April 5, 2021.
# Enhancements
- Add terminal flow state handler override - #4198
- When manually set, prefect.context.datewill be used to determine dependent values - #4295
- prefect.context.datewill be cast to a- DateTimeobject if given a parsable string - #4295
- Expand logging for DaskExecutor, including the cluster dashboard address (if available) - #4321
- Add ability to stream ShellTask logs with level INFO - #4322
- Add architecture diagram to docs - #4187
- Speed up flow validation logic - #4347
- Pin dask upper package versions - #4350
# Task Library
# Fixes
- Fix DatabricksRunNowtask attribute override behavior - #4309
- Use default flow labels when triggering flow runs from CLI - #4316
- Improve ECS agent error messages, and fix bug that prevented using ECS agent on Fargate with ECR - #4325
- Support imports from local directory when registering/building flows via CLI - #4332
- Speedup flushing of logs to cloud/server on flow run shutdown, avoiding lost logs on platforms that SIGKILL the process after a short period - #4334
# Contributors
# 0.14.14 beta
Released on March 25, 2021.
# Task Library
- Ensures Snowflake Query Task output is serializable #3744
# Fixes
- Always load task run info prior to running a task - #4296
# 0.14.13 beta
Released on March 24, 2021.
# Features
- Add new improved prefect registerCLI command. This command supports registering multiple flows at once (through multiple file paths or directories), and also includes a new--watchflag for watching files and automatically re-registering upon changes. - #4256
- New prefect buildCLI command for building flows. Artifacts produced by this command can then be used byprefect registerto register flows without requiring the source. - #4282
# Enhancements
- Use explicit exception chaining #3306
- Add as_bytesoption toS3Downloadtask - #4238
- Improve error message when a loaded flow doesn't match the version stored in Prefect Cloud/Server - #4259
- Support setting flow run labels from cli - #4266
- Support setting default imagein--job-template/--task-definitionin Kubernetes/ECS agents - #4270
# Task Library
- Adds logging of cell outputs to Jupyter task - [#4265] (https://github.com/PrefectHQ/prefect/issues/4265)
- Add userandpasswordas runtime parameters to Exasol tasks - #4268
# Fixes
- Fix bug where sometimes the global prefect.contextwouldn't be respected during a flow run - #4287
# Deprecations
- Deprecate the old prefect register flowCLI command in favor ofprefect register- #4256
- Deprecate userandpasswordarguments to Exasol task constructors in favor of runtime parameters - #4268
# Contributors
# 0.14.12 beta
Released on March 10, 2021.
# Enhancements
- Upgrade hasura to 1.3.3 in Prefect Server - #4126
- Add --docker-client-timeoutflag to docker agent, for configuring the timeout for all docker API requests - #4232
- Make --slugflag optional inprefect server create-tenant- #4240
# Task Library
- Adds new filesystem CopyandRemovetasks - #4202
# Fixes
- Don't forward noutto mapped tasks - #4206
- Move command,environment,cpu,memory,execution_role_arn, andtask_role_arnconfiguration for ECS tasks from definition time to run time in the ECS agent - #4211
- Register (and deregister) a new task definition for every flow run in ECS agent - #4211
- Fix Tasksignature generation in the presence of with variadic kwargs - #4235
- Ensure Flowis serializable usingpickle- #4209
# Contributors
# 0.14.11 beta
Released on March 3, 2021.
# Features
- Add command prefect server configto output configured docker-compose yaml - #4176
# Enhancements
- Add project_nameandproject_idto context during Cloud/Server flow runs - #4083
- Better error message when flow not found in file - #4182
- Improve generated names for GetItemtasks - #4183
- Add base_urloption toGitHubstorage - #4194
# Task Library
- Add filehandling tasks Move,Unzip,Zip- #4131
- Add msg_plain,email_to_cc, andemail_to_bccoptions toEmailTask- #4157
- Add jar_paramsoption toDatabricksRunNowtask - #4157
# Fixes
- Make task slug generation robust to modifying existing task names - #4189
- Forward client_optionstoS3ResultfromS3storage - #4195
# Contributors
# 0.14.10 beta
Released on February 23, 2021.
# Fixes
- Dynamically import compression libraries for CompressedSerializer- #4150
- Support passing environment variables containing =through agent CLI--envflag - #4160
# 0.14.9 beta
Released on February 16, 2021.
# Enhancements
- Add CompressedSerializerclass - #4063
- Allow Clienttimeout seconds to be configurable through configuration - #4118
# Task Library
- Update FilterTaskto allow logging the filtered output via a function - #4121
- Add FivetranSyncTask, to manage your Fivetran connector sync process - #4116
# Fixes
- Reduce the number of boto3 clients created across Prefect when interacting with AWS services - #4115
# Deprecations
- Deprecate the use_sessionargument in all AWS-related components - #4115
# Contributors
# 0.14.8 beta
Released on February 11, 2021.
# Enhancements
- Add option to provide version group ID to prefect run flowCLI command - #4100
# Fixes
- Fix bug in agent healthcheck route that was introduced in 0.14.7 - #4109
# 0.14.7 beta
Released on February 10, 2021.
# Enhancements
- Support multiple docker networks with Docker Agent - #3986
- Add healthchecks to prefect server - #4041
- Raise custom TimeoutErrorfor task timeouts to allow for more granular user control - #4091
- Add access_token_secrettoGitHub,GitLab, andBitbucketstorage, making the Prefect secret containing an access token to these services configurable - #4059
- Add --skip-if-flow-metadata-unchangedtoprefect register flowCLI command that avoids bumping flow version if flow metadata has not changed - #4061
- Add --skip-if-existstoprefect create projectCLI command that safely skips if the project has already been created - #4061
- Add new Modulestorage class, for referencing flows importable from a Python module - #4073
- Drop resource limits from manifest generated using prefect agent kubernetes install- #4077
# Task Library
- Add new tasks for communication with an Exasol database - #4044
# Fixes
- Fix task decorator chaining by using inspect.unwrapinstead of__wrap__- #4053
- Forward Prefect backend type to deployed flow runs, ensuring backend-specific logic functions properly - #4076
- Patch around bug in dask's multiprocessing scheduler introduced in Dask 2021.02.0 - #4089
# Deprecations
- Docker agent networkkwarg deprecated in favor ofnetworks- #3986
# Breaking Changes
- Remove unused Storage.get_env_runnermethod - #4059
- Remove private utilities in prefect.utilities.git- #4059
# Contributors
# 0.14.6 beta
Released on February 2, 2021.
# Enhancements
- Add option to provide flow ID to run flowCLI command - #4021
- Flow name and project are no longer required options when calling run flowCLI command - #4021
# Task Library
- Add GCSBlobExists which checks for the existence of an object in a given GCS bucket - #4025
- Use boto3 session in S3UploadandS3Downloadtasks, to ensure thread-safe execution - #3981
# Fixes
- Fix issue with fixed duration Paused states not resuming properly - #4031
# Contributors
# 0.14.5 beta
Released on January 26, 2021.
# Enhancements
- S3 storage now logs ETag,LastModifiedtimestamp, andVersionId(if present) when loading a flow - #3995
- GitHubstorage now logs the commit sha used when loading a flow - #3998
- GitHubstorage now loads from a repo's default branch, allowing default branch names other than 'master' - #3998
- Improve error message when Secrets are missing with Server - #4003
- Better error message when passing parameters to StartFlowRunconstructor - #4008
- Add warning if user-defined class shadows an attribute used by the base class - #4011
- Add support for EXTRA_PIP_PACKAGESenvironment variable inprefecthq/prefectimages, simplifying installation of dependencies during development - #4013
- Add execution role arn parameter to ecs run config and agent - #4015
# Task Library
- Add ConnectGetNamespacedPodExectask which runs an exec command in provided pod container - #3991
- Ensure connection secrets can be passed to Databricks tasks at runtime - #4001
# Fixes
- Fix Agent registration possibly skipping on server connection issues - #3972
- GCSUploadtask now explicitely fails when ran on non-supported types - #3978
- Make logging to Prefect cloud more robust in the presence of errors or process shutdown - #3989
- Handle setting state for missing flow runs in Kubernetes agent resource management - #4006
# Contributors
# 0.14.4 beta
Released on January 19, 2021.
# Enhancements
# Task Library
- Stream log output from Kubernetes RunNamespacedJob - #3715
- Add ReadNamespacedPodLogs which reads or streams logs from Kubernetes pod - #3715
- Add SQL Server task to query SQL Server databases - #3958
- Add chunking to GCP storage tasks - #3968
# Fixes
- Properly handle NotImplementedErrorexceptions raised by a result's serializer - #3964
- Fix support for storing multiple flows in a single script in storage - #3969
- Fix regression in apply_mapwhich prevented use incase/resource_managerblocks - #3975
# Contributors
# 0.14.3 beta
Released on January 13, 2021.
# Enhancements
- Better errors/warnings when flow fails to load in execution environment - #3940
# Task Library
- Add an Asana task to add tasks to an asana project - #3935
# Fixes
- Fix prefect server startfailure when given a custom graphql host port - #3933
- Fix Kubernetes Agent attempting to report container info for failed pods when no container statuses are found - #3941
- Avoid race condition when creating task run artifacts for mapped tasks - #3953
- Propogate agent labels info to k8s flow runs, to match other agent behavior - #3954
# 0.14.2 beta
Released on January 6, 2021.
# Features
- Support for specifying run_configfor an individual flow run - #3903
- Allow the usage of a profile_nameonget_boto_client- #3916
# Enhancements
- Support executing Prefect agents/flows without having the prefectCLI on path - #3918
# Task Library
- Add support for specifying a run_configinStartFlowRun- #3903
- Task to add Trello card for task library - #3910
# Fixes
- Remove unused descriptionfield onTaskserializer - #3917
- Fix edge case in apply_mapthat resulted in cycles in theFlowgraph - #3920
- Support storing multiple local flows with the same name when using Localstorage - #3923
- Fix bug in prefect.contextcontextmanager that resulted in context fields reverting to their initially configured values - #3924
# Contributors
# 0.14.1 beta
Released on December 29, 2020.
# Enhancements
- Make setupmethod optional forresource_managertasks - #3869
- Add labels to all containers managed by the docker agent - #3893
- Add prefect server stopcommand for stopping the server - #3899
- Add --detachtoprefect server startfor running the server in the background - #3899
# Fixes
- Add support for google-cloud-storage< 1.31.0 - #3875
- Fix use of imagePullSecrets/serviceAccountNamein k8s agent - #3884
- Fix read_bytes_from_pathto work properly with S3 - #3885
- Change default idempotency_keyinStartFlowRunto usetask_run_idinstead offlow_run_id- #3892
# 0.14.0 beta
Released on December 16, 2020.
# Features
- New flow run configuration system based on RunConfigtypes, see here for more info
# Enhancements
- Kubernetes Agent now reports events for pending pods created by prefect jobs - #3783
- Using --rbacfor Kubernetes Agent install command now includes theeventsresource - #3783
- Add orchestration-based dependencies to the prefecthq/prefectDocker image - #3804
- Add a slimmed down prefecthq/prefect:coreDocker image that only contains base dependencies - #3804
- Docker storage now installs all orchestration-based dependencies when using default image - #3804
- Add warning on flow registration if flow.executoris set but the flow is using the legacyflow.environmentconfiguration system - #3808
- Echoing prefect config file as JSON to be able to parse it with jq in the terminal - #3818
- Produce artifact for RunGreatExpectationsValidation even if validation fails - #3829
- execute flow-runcommand now sends flow run log in the case of an error - #3832
- Changed name of logs raised by the Kubernetes Agent if they stem from infrastructure events - #3832
- Add tinito the official Prefect docker images - #3839
- Remove task run level heartbeats for performance - #3842
# Task Library
- Fix mising job_idinDatabricksRunNowtask initialization - #3793
# Fixes
- Fix Azure result byte decoding of blob data - #3846
- Prefect kubernetes agent no longer relies on existence of any fields in configured Kubernetes Job Template - #3805
- Accept old envvar style configuration for Kubernetes agent for --service-account-name/--image-pull-secretsoptions - #3814
- Pass as_user=Falsewhen usingclient.get_cloud_urlinStartFlowRun- #3850
- Fix AWS boto3 utility passing duplicate kwargs to client initialization - #3857
# Deprecations
- Storage classes have been moved from prefect.environments.storagetoprefect.storage, the old import paths have been deprecated accordingly - #3796
- Executor classes have been moved from prefect.engine.executorstoprefect.executors, the old import paths have been deprecated accordingly - #3798
- Deprecated use of storage_labelsboolean kwarg on local agent - #3800
- Deprecated use of --storage-labelsoption from agentstartCLI command - #3800
- Deprecates all Environmentclasses - users should transition to settingflow.run_configinstead offlow.environment- #3811
- Deprecate the Fargate Agent in favor of the ECS Agent - #3812
# Breaking Changes
- Using in-cluster installs of the Kubernetes Agent now requires RBAC for the eventsresource - #3783
- Removed setting of default labels on storage objects and the local agent - #3800
- Remove deprecated RemoteEnvironment/RemoteDaskEnvironment- #3802
- Remove deprecated executor_kwargsargument toKubernetesJobEnvironment/FargateTaskEnvironment- #3802
- Remove deprecated prefect run cloud/prefect run serverCLI commands - #3803
- Remove deprecated prefect execute cloud-flowCLI command - #3803
- Stop building the prefecthq/prefect:all_extrasimage and switch flow deployment default to usingprefecthq/prefect:{core_version}- #3804
- Flows now use RunConfigbased deployments by default - legacyEnvironmentbased deployments are now opt-in only - #3806
- Remove deprecated prefect.contribmodule - #3813
- Remove all references to result handlers and safe results - #3838
- Remove option to enable deprecated Kubernetes resource manager in agent install CLI command - #3840
# Contributors
# 0.13.19 beta
Released on December 8, 2020.
# Enhancements
- Use explicit exception chaining - #3306
- Support Bitbucket as storage option - #3711
- Surface pod failures and container errors in jobs deployed with the Kubernetes Agent - 3747
- Support timeout option in GCS tasks - #3732
- Added storage option for AWS CodeCommit - #3733
- Add the image used for a flow-run to the flow run environment as prefect.context.image- #3746
- Add UniversalRunrun-config that works with all agents - #3750
- Support flows that have no run-config or environment - #3750
- Allow Docker storage environment vars to be used in commands - #3755
- Add service_account_nameandimage_pull_secretsoptions toKubernetesRunandKubernetesAgent- #3778
- Add a new Client function delete_project- #3728
# Task Library
- Add task to fetch data from Dremio - #3734
- Add RunGreatExpectationsValidationtask - #3753
- Add the option to post markdown artifacts from the RunGreatExpectationsValidationtask - #3753
# Fixes
- Fix state attempting to read result from absent upstream result - #3618
- Replace deprecated download_as_string method with download_as_bytes method - #3741
- Fix default image whenever working on a non-tagged commit - #3748
- Fix type-casting for task timeout defaults loaded from config - #3761
- Fix the refdefault on GitHub storage - #3764
- Fix rare cancellation bug when running with external Dask cluster - #3770
# Deprecations
- Deprecated the RunGreatExpectationsCheckpointtask in favor ofRunGreatExpectationsValidation- #3766
# Contributors
# 0.13.18 beta
Released on November 30, 2020.
# Enhancements
- Display formatted graphql errors on client request failure - #3632
- Refactor Core Client API calls for performance - #3730
# Task Library
- Refactor execute query code for PostgresExecute,PostgresExecuteMany, andPostgresFetchtasks - #3714
- Fix PicklingErrorinBigQueryLoadFileandBigQueryLoadGoogleCloudStorage- #3724
- Allow custom exporter for ExecuteNotebooktask - #3725
- Properly forward locationparameter in bigquery tasks - #3726
- Support passing helper_scripttoShellTask/DBTShellTaskat runtime - #3729
# Fixes
- Fix bug with docker storage throwing exception while trying to display output - #3717
# Contributors
# 0.13.17 beta
Released on November 24, 2020.
# Features
- Improved support for Tasks returning multiple results - #3697
# Enhancements
- Allow chaining of Taskimperative dependency calls - #3696
- Add task_definition_arntoECSRunrun-config - #3681
- Rerun resource_managertasks when restarting flows from failed - #3689
- Raise nice warning if user passes Taskinstance toTaskconstructor, rather than when calling theTask(or usingTask.map/Task.set_dependencies) - #3691
- Always use tenant slug in output of Client get_cloud_urlfunction - #3692
# Task Library
- Add enhancement to StartFlowRuntask to create link artifact for started flow run - #3692
- Add a new postgres task PostgresExecuteMany- #3703
- Add debug logging for Docker tasks PullImageandBuildImage- #3672
- ShellTaskreturns output on failure - #3649
- ShellTaskallows streaming of output independently of the number of lines returned - #3649
# Fixes
- Make serialized_hashhandle unordered task sets correctly - #3682
- Docker storage build error logs were not always displayed - #3693
- Fix automatic quoting of Docker storage environment variable values - #3694
- Use exist_okflag inos.makedirsto avoid race condition in local storage class - #3679
# Contributors
# 0.13.16 beta
Released on November 17, 2020.
# Enhancements
- Experimental support for Python 3.9 - #3411
# Fixes
- Fixes Flow.replace freezing reference tasks - #3655
- Fixed bug where flow.serialized_hash()could return inconsistent values across new python instances - #3654
# Contributors
# 0.13.15 beta
Released on November 11, 2020.
# Features
- Add API for storing task run artifacts in the backend - #3581
# Enhancements
- Allow for setting Clientheaders before loading tenant when running with Prefect Server - #3515
- Checkpoint all iterations of Looped tasks - #3619
- Add refoption to GitHub storage for specifying branches other than master - #3638
- Added ExecuteNotebooktask for running Jupyter notebooks - #3599
- Pass day_orcroniter argument to CronClock and CronSchedule - #3612
- Client.create_projectand- prefect create projectwill skip creating the project if the project already exists - #3630
- Update deployments extension to AppsV1Api - #3637
- PrefectSecretand- EnvVarSecrettasks no longer require secret names be provided at flow creation time - #3641
# Fixes
- Fix issue with retrying mapped pipelines on dask - #3519
- Task arguments take precedence when generating task_run_name- #3605
- Fix breaking change in flow registration with old server versions - #3642
- Task arguments take precedence when generating templated targets and locations - #3627
# Breaking Changes
- Environment variable config values now parse without requiring escaping backslashes - #3603
# Contributors
# 0.13.14 beta
Released on November 5, 2020.
# Features
- flow.registeraccepts an idempotency key to prevent excessive flow versions from being created - #3590
- Added flow.serialized_hash()for easy generation of hash keys from the serialized flow - #3590
# Enhancements
- Add option to select cursor_typefor MySQLFetch task - #3574
- Add new ECSAgentandECSRunrun config - #3585
- Display exception information on prefect create projectfailure - #3589
- prefect diagnosticsno longer displays keys that have values matching the default config - #3593
- Allow use of multiple image pull secrets in KubernetesAgent,DaskKubernetesEnvironment- #3596
- Added FROM to explicitly chain exceptions in src/prefect/tasks/twitter - #3602
- Add UTC offset to default logging.datefmt; logging timestamp converter now follows Python default behavior - #3607
- Improve error message when API responds with 400 status code - #3615
# Deprecations
- Deprecate prefect agent start <kind>in favor ofprefect agent <kind> start- #3610
- Deprecate prefect agent install <kind>in favor ofprefect agent <kind> install- #3610
# Contributors
# 0.13.13 beta
Released on October 27, 2020.
# Enhancements
- Don't stop execution if the task runner fails to load a cached result - #3378
- Add option to specify networkModefor tasks created by the Fargate Agent - #3546
- Allows to schedule flow runs at an arbitrary time with StartFlowRun - #3573
# Fixes
- Use BlobServiceClientinstead ofBlockBlobServiceto connect to azure blob in azure tasks - #3562
- Tasks with log_stdout=Truework with non-utf8 output - #3563
# Contributors
# 0.13.12 beta
Released on October 20, 2020.
# Enhancements
- Agents now submit flow runs in order of scheduled start times - #3165
- Updating k8s tutorial docs to include instructions on how to provide access to S3 from kubernetes deployments on AWS - #3200
- Adds option to specify default values for GetItem and GetAttr tasks - #3489
- Allow disabling default storage labels for the LocalAgent- #3503
- Improve overall functionality of docs search, full list of changes here - #3504
- Add LocalRunimplementation forrun_configbased flows - #3527
- Add DockerRunimplementation forrun_configbased flows - #3537
- Raise a better error message when trying to register a flow with a schedule using custom filter functions - #3450
- RenameFlowRunTask: use default- flow_run_idvalue from context - #3548
- Raise a better error message when trying to register a flow with parameters with JSON-incompatible defaults - #3549
# Task Library
- Extended GCSUploadtask to allow uploading of bytes/gzip data - #3507
- Allow setting runtime webook_secretonSlackTaskand kwarg forwebhook_secretretrieved fromPrefectSecrettask - #3522
# Fixes
- Fix get flow-runsanddescribe flow-runsCLI commands querying of removeddurationfield - #3517
- Fix multiprocess based timeout handler on linux - #3526
- Fix API doc generation incorrectly compiling mocked imports - #3504
- Fix multiprocessing scheduler failure while running tasks with timeouts - #3511
- Update Fargate task definition validation - #3514
- Fix bug in k8s where the resource-manager would sometimes silently crash on errors - #3521
- Add labels from flow.storageforrun_configbased flows - #3527
- Fix LocalAgent PYTHONPATH construction on Windows - #3551
# Deprecations
- FlowRunTask,- RenameFlowRunTask, and- CancelFlowRunTaskhave been renamed to- StartFlowRun,- RenameFlowRun, and- CancelFlowRunrespectively - #3539
# Contributors
# 0.13.11 beta
Released on October 14, 2020.
# Features
- Allow for schedules that emit custom Flow Run labels - #3483
# Enhancements
- Use explicit exception chaining - #3306
- S3List filtering using the LastModified value - #3460
- Add Gitlab storage - #3461
- Extend module storage capabilities - #3463
- Support adding additional flow labels in prefect register flow- #3465
- Strict Type for default value of a Parameter - #3466
- Enable automatic script upload for file-based storage when using S3 and GCS - #3482
- Allow for passing labels to client.create_flow_run- #3483
- Display flow group ID in registration output URL instead of flow ID to avoid redirect in UI - #3500
- Add informative error log when local storage fails to load flow - #3475
# Task Library
- Add cancel flow run task - #3484
- Add new BatchSubmittask for submitting jobs to AWS batch - #3366
- Add new AWSClientWaittask for waiting on long-running AWS jobs - #3366
- Add GetAttr task - #3481
# Fixes
- Fix default profile directory creation behavior - #3037
- Fix DaskKubernetesEnvironmentoverwriting log attributes for custom specs - #3231
- Fix default behavior for dbt_kwargsin the dbt task to provide an empty string - #3280
- Fix containerDefinitions environment validation - #3452
- Raise a better error when calling flow.register()from within aFlowcontext - #3467
- Fix task cancellation on Python 3.8 to properly interrupt long blocking calls - #3474
# Contributors
- Aaron Richter
- Alessandro Lollo
- Bruno Casarotti
- Mariia Kerimova
- Max Del Giudice
- Michal Baumgartner
- Panagiotis Simakis
- Raphael Riel
- Shalika Singhal
- Zach McQuiston
- heyitskevin
# 0.13.10 beta
Released on October 6, 2020.
# Enhancements
- Add option to template task run name at runtime when using backend API - #2100
- Add set_task_run_nameClient function - #2100
- Use 'from' to explicitly chain exceptions - #3306
- Update error message when registering flow to non-existant project - #3418
- Add flow.run_config, an experimental design for configuring deployed flows - #3333
- Allow python path in Local storage - #3351
- Enable agent registration for server users - #3385
- Added FROM to explicitly chain exceptions in src/prefect/utilities - #3429
# Task Library
- Add keypair auth for snowflake - #3404
- Add new RenameFlowRunTaskfor renaming a currently running flow - #3285.
# Fixes
- Fix mypy typing for targetkwarg on base Task class - #2100
- Fix Fargate Agent not parsing cpu and memory provided as integers - #3423
- Fix MySQL Tasks breaking on opening a context - #3426
# Contributors
# 0.13.9 beta
Released on September 29, 2020.
# Features
- Allow for scheduling the same flow at the same time with multiple parameter values - #2510
# Enhancements
# Task Library
- New task for the task library to create an item in Monday - #3387
- Add option to specify run_nameforFlowRunTask- #3393
# Contributors
# 0.13.8 beta
Released on September 22, 2020.
# Enhancements
- Allow passing context values as JSON string from CLI - #3347
- Allow copying of directories into Docker image - #3299
- Adds schedule filters for month end or month start and specific day - #3330
- Support configuring executor on flow, not on environment - #3338
- Support configuring additional docker build commands on Dockerstorage - #3342
- Support submission retries within the k8s agent - #3344
- Expose flow_run_nametoflow.run()for local runs - #3364
# Task Library
- Add contributing documentation for task library - #3360
- Remove duplicate task library documentation in favor of API reference docs - #3360
# Fixes
- Fix issue with constants when copying Flows - #3319
- Fix DockerAgentwith--show-flow-logsto work on windows/osx (with python >= 3.8) - #3339
- Fix mypy type checking for tasks created with prefect.task- #3346
- Fix bug in flow.visualize()where no output would be generated when running withPYTHONOPTIMIZE=1- #3352
- Fix typo in DaskCloudProviderEnvironmentlogs - #3354
# Deprecations
- Deprecate the use of the /contribdirectory - #3360
- Deprecate importing DatabricksandMySQLtasks fromprefect.contrib.tasks, should useprefect.tasksinstead - #3360
# Contributors
# 0.13.7 beta
Released on September 16, 2020.
# Enhancements
# Fixes
- Fix issue with result configuration not being respected by autogenerated tasks - #2989
- Fix issue with result templating that failed on task arguments named 'value' - #3034
- Fix issue restarting Mapped pipelines with no result- #3246
- Fix handling of Prefect Signals when Task state handlers are called - #3258
- Allow using apply_mapunder acaseorresource_managerblock - #3293
- Fix bug with interaction between caseblocks andConstanttasks which resulted in some tasks never skipping - #3293
- Fix bug in DaskExecutorwhere not all client timeouts could be configured via settingdistributed.comm.timeouts.connect- #3317
# Task Library
- Adds a compression argument to both S3Upload and S3Download, allowing for compression of data upon upload and decompression of data upon download - #3259
# Contributors
# 0.13.6 beta
Released on September 9, 2020.
# Enhancements
- Adds logger to global context to remove friction on running task unit tests - #3256
- Expand FunctionTask AttributeError Message - #3248
- Add backend info to diagnostics - #3265
- Ellipsis Support for GraphQL DSL - #3268
# Task Library
- Add DatabricksRunNowtask for running Spark jobs on Databricks - #3247
- Add GitHub CreateIssueCommenttask - #3269
- Add S3Listtask for listing keys in an S3 bucket - #3282
- Add boto_kwargsto AWS tasks - #3275
# Fixes
- Make identifier optional in KubernetesAgent.replace_job_spec_yaml()- #3251
- Change https://localhosttohttp://localhostin the welcome message - #3271
# Contributors
- Ashmeet Lamba
- Ashton Sidhu
- Bas Nijholt
- Harutaka Kawamura
- James Lamb
- Max Del Giudice
- Robin Beer
- Rowan Molony
- Shunwen
# 0.13.5 beta
Released on September 1, 2020.
# Enhancements
- Begin storing the width of mapped pipelines on the parent Mapped state - #3233
- Kubernetes agent now manages lifecycle of prefect jobs in its namespace - #3158
- Move agent heartbeat to background thread - #3158
- Handles ModuleNotFounderrors in the storage healthcheck - #3225
- Raises the warnings.warnstack level to 2 to reduce duplicate warning messages - #3225
- Add some extra output to the client.registerprint output for visibility - #3225
- CLI help text docstrings are now auto documented using the API documentation parser - #3225
- DaskExecutornow logs dask worker add/removal events - #3227
# Fixes
- Fix issue with passing --env-vars flag to K8s Agent Install manifest - #3239
- Fix edge case with add_edgemethod - #3230
# Deprecations
- Kubernetes resource manager is now deprecated and the functionality is moved into the Kubernetes agent - #3158
# Contributors
# 0.13.4 beta
Released on August 25, 2020.
# Enhancements
- Allow for setting path to a custom job YAML spec on the Kubernetes Agent - #3046
- Use better coupled versioning scheme for Core / Server / UI images - #3204
- Added option to mount volumes with KubernetesAgent - #1234
- Add more kwargs to State.children and State.parents for common access patterns - #3212
- Reduce size of prefecthq/prefectDocker image - #3215
# Task Library
- Add DatabricksSubmitRuntask for submitting Spark jobs on Databricks - #3166
# Fixes
- Fix Apollo service error output while waiting for GraphQL service with prefect server start- #3150
- Fix --apiCLI option not being respected by agent Client - #3186
- Fix state message when using targets - #3216
# Contributors
# 0.13.3 beta
Released on August 18, 2020.
# Enhancements
- Make use of kubernetesextra logger in theDaskKubernetesEnvironmentoptional - #2988
- Make Client robust to simplejson - #3151
- Raise Warning instead of Exception during storage healthcheck when Result type is not provided - #3146
- Add server create-tenantfor creating a tenant on the server - #3147
- Cloud logger now responds to logging level - #3179
# Task Library
- Add support for host_configand arbitrary keyword arguments inDockertasks - #3173
# Fixes
- Fix empty string imagePullSecretsissue on AKS by removing if not set - #3142
- Fix querying for cached states with no cache_key- #3168
- Fix access to core_versionin Agent'sget_flow_run_command()- #3177
# Breaking Changes
- DaskKubernetesEnvironment no longer logs Kubernetes errors by default - #2988
- Logging level in Cloud now defaults to INFO - #3179
# Contributors
# 0.13.2 beta
Released on August 11, 2020.
# Features
# Enhancements
- Agents set flow run execution command based on flow's core version - #3113
- Clean up extra labels on jobs created by Kubernetes agent - #3129
# Task Library
- Return LoadJobobject inBigQueryLoadtasks - #3086
# Fixes
- Fix bug with LocalDaskExecutor('processes')that allowed tasks to be run multiple times in certain cases - #3127
- Add toggle to bypass bug in slack_notifierthat attempted to connect to backend even if the backend didn't exist - #3136
# Contributors
# 0.13.1 beta
Released on August 6, 2020.
# Fixes
- Fix issue with 0.13.0 agents not able to run Flows registered with older Core versions - #3111
# 0.13.0 beta
Released on August 6, 2020.
# Features
# Enhancements
- Only supply versions when setting SUBMITTEDandRUNNINGstates - #2730
- Gracefully recover from version lock errors - #2731
- Add --ui-versionserver start CLI option to run a specific UI image - #3087
- Agent querying of flow runs now passes active tenant ID - #3087
- Ignore calls to flow.register when parsing a flow using file based storage - #3051
# Task Library
- Allow idempotency keys in FlowRunTaskwhen using server backend - #3006
- Require project name in FlowRunTaskwhen using server backend - #3006
# Fixes
- Fix use of absolute path in Docker storage on Windows - #3044
- Determine if checkpointing is enabled from config set in the flow-runner process - #3085
- Fix --no-uiserver start CLI option still attempting to pull UI image - #3087
# Deprecations
- Deprecate execute cloud-flowCLI command in favor ofexecute flow-run- #3087
- Deprecate run server/cloudCLI commands in favor ofrun flow- #3087
# Breaking Changes
- Move server and UI code out into separate repositories - #3087
- Project names are now required when managing flows with the core server - #3087
# Contributors
# 0.12.6 beta
Released on July 28, 2020.
# Features
- Add flattenoperator for unnesting and flat-maps - #2898
# Enhancements
- Add retry_on_api_error flag to client methods - #3012
- Add reg_allow_listoption for Docker Agent - #3026
- Update FargateTaskEnvironment to throw if task definition is inconsistent with existing task definition - #3031
# Fixes
- Cleanup to ShellTask to close open stdout file which was observable in some cases - #3002
- Fix check of flow existence in storage object get_flowto only occur when provided - #3027
- Use fullname and tag when Docker Storage determines if build was successful - #3029
- Prevent duplicated agent labels - #3029
# Deprecations
- prefect.utilities.tasks.unmappedmoved to- prefect.utilities.edges.unmapped- #2898
# Breaking Changes
- Remove dbtextra from dependencies - #3018
# Contributors
# version=0.12.5 beta
Released on July 21, 2020.
# Features
- Add resource_managerapi for cleaner setup/cleanup of temporary resources - #2913
# Enhancements
- Add new_flow_contextto FlowRunTask for configurable context - #2941
- All storage types now support file-based storage - #2944
- Turn work stealing ON by default on Dask K8s environment - #2973
- Send regular heartbeats while waiting to retry / dequeue - #2977
- Cached states now validate based on hashed_inputsfor more efficient storage - #2984
- Simplify creation of optional parameters with default of None- #2995
# Task Library
# Fixes
- Don't send idempotency key when running against a local backend - #3001
- Fix bug in DaskExecutorwhen running with external cluster where dask clients could potentially be leaked - #3009
# Deprecations
- All states have deprecated the usage of cached_inputs- #2984
# Breaking Changes
- Remove password from Postgres tasks' initialization methods for security - #1345
# Contributors
# 0.12.4 beta
Released on July 14, 2020.
# Enhancements
- Improve output formatting of prefect describeCLI - #2934
- Add new waitkwarg to Flow Run Task for reflecting the flow run state in the task - #2935
- Separate build-time and run-time job spec details in KubernetsJobEnvironment - #2950
# Task Library
- Implement RunNamespacedJob task for Kubernetes - #2916
- Add log_stderroption toShellTaskandDbtShellTaskfor logging the full output from stderr - #2961
# Fixes
- Ensure is_serializablealways uses same executable for subprocess. - #1262
- Fix issue with Mapped tasks not always reloading child state results on reruns - #2656
- Fix FargateTaskEnvironmentattempting to retrieve authorization token when not present - #2940
- Fix issue with Metastates compounding - #2965
# Contributors
# 0.12.3 beta
Released on July 8, 2020.
# Enhancements
- Update flow.slugsduringflow.replace- #2919
- flow.updateaccepts the optional kwarg- merge_parametersthat allows flows to be updated with common- Parameters- #2501
- Added poke handler to notify agent process of available flow runs - #2914
- Add Cancellingstate for indicating a flow-run that is being cancelled, but may still have tasks running - #2923
# Task Library
- Add ReadAirtableRowtask - #2843
- Add container_namekwarg toCreateContainerDocker task - #2904
- Adds an extra_docker_kwargsargument toCreateContainerDocker task - #2915
# Fixes
- Fix issue with short-interval IntervalClocks that had a start_date far in the past - #2906
- When terminating early, executors ensure all pending work is cancelled/completed before returning, ensuring no lingering background processing - #2920
# Contributors
# 0.12.2 beta
Released on June 30, 2020.
# Features
- Add apply_map, a function to simplify creating complex mapped pipelines - #2846
# Enhancements
- Make storage location inside Docker storage configurable - #2865
- Send heartbeats on each iteration of the Cloud task runner's retry loop - #2893
# Task Library
- Add option to BigQueryTask to return query as dataframe - #2862
# Server
- None
# Fixes
- Add more context keys when running locally so that templating is consistent between local and Cloud runs - #2662
- Fix Fargate agent not parsing string provided containerDefinitions - #2875
- Fix Fargate agent providing empty parameters if not set - #2878
- Fix issue with Queued task runs flooding agents with work - #2884
- Add missing prefect register flowto CLI help text - #2895
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.12.1 beta
Released on June 25, 2020.
# Features
- Task slugs are now stable across rebuilds of the same Flow - #2531
- Support configuring executors for LocalEnvironment,KubernetesJobEnvironment, andFargateTaskEnvironment- #2805
- Flows can now be stored and executed using file-based storage - #2840
# Enhancements
- Add option to set repositoryCredentialson Fargate AgentcontainerDefinitions- #2822
- Update GraphQL endpoint to /graphql- #2669
- Allow Cloud Flow Runners to interact properly with Queued runs - #2741
- Add Resultserializers - #2755
- Simplify DaskExecutorinternals - #2817
- Set task names in LocalDaskExecutor- #2819
- Flows registered without an image set will default to all_extras- #2828
- Improve error message when sending unauthorized requests to Cloud - #2810
- Forward state change status back to core - #2839
- Add GitHub storage for storing flows as files in a GitHub repo - #2840
- Add prefect register flowCLI command for registering flows from files - #2840
- Add default GITHUB_ACCESS_TOKENsecret - #2840
- Create utility function for getting Kubernetes client - #2845
# Task Library
- Adds a MySQL task using pymysql driver - #2124
- Add some tasks for working with Google Sheets - #2614
- Add support for HTML content in the EmailTask - #2811
# Server
- Failing to set a state raises errors more aggressively - #2708
# Fixes
- Fix all_extrastag not being set during CI job to build image - #2801
- Quiet no candidate Cached states were valid debug logging - #2815
- Fix LocalEnvironmentexecute function's use of the flow object - #2804
- Properly set task names when using DaskExecutor- #2814
- Fix the LocalDaskExecutorto only compute tasks once, not multiple times - #2819
- Generate key names for mapped tasks that work better with Dask's dashboard - #2831
- Fix FlowRunTask when running against locally deployed Server - #2832
- Make sure image from Docker storage is always used with KubernetesJobEnvironment - #2838
- Change Environment.run_flow() to prefer executor from flow's environment - #2849
# Deprecations
- Deprecate RemoteEnvironmentin favor ofLocalEnvironment- #2805
- Deprecate RemoteDaskEnvironmentin favor ofLocalEnvironmentwith aDaskExecutor- #2805
- Deprecate executor_kwargsinKubernetesJobEnvironmentandFargateTaskEnvironmentin favor ofexecutor- #2805
# Breaking Changes
- Remove previously deprecated SynchronousExecutor- #2826
# Contributors
# 0.12.0 beta
Released on June 17, 2020.
# Features
- Depth First Execution with Mapping on Dask - #2646
- Support use of cloud storage with containerized environments - #2517,#2796
# Enhancements
- Add flag to include hostname on local storage - #2653
- Add option to set image_pull_secretdirectly onDaskKubernetesEnvironment- #2657
- Allow for custom callables for Result locations - #2577
- Ensure all Parameter values, included non-required defaults, are present in context - #2698
- Use absolute path for LocalResultlocation for disambiguation - #2698
- Retry client requests when receiving an API_ERRORcode in the response - #2705
- Reduce size of serialized tasks when running on Dask - #2707
- Extend run state signatures for future development - #2718
- Update set_flow_run_state for future meta state use - #2725
- Add an optional flowargument tomergeto support using it when not inside a flow context - #2727
- Add option to set service account name on Prefect jobs created by Kubernetes agent - #2547
- Add option to set imagePullPolicy on Prefect jobs created by Kubernetes agent - #2721
- Add option to set API url on agent start CLI command - #2633
- Add CI step to build prefecthq/prefect:all_extrasDocker image for bundling all Prefect dependencies - #2745
- Move Parameterto a standalone module - #2758
- Validate Cached states based on hashed inputs - #2763
- Add validate_configurationutility to Fargate Agent for verifying it can manage tasks properly - #2768
- Add option to specify task targets as callables - #2769
- Improve State.__repr__when there is no message - #2773
- Add support for db argument at run time in the SQLiteQuery and SQLiteScript - #2782
- Add support for mapped argument in control flows - #2784
- Use pagination in kubernetes resource manager to reduce memory usage - #2794
# Task Library
- Adds a task to expose Great Expectations checkpoints as a node in a Prefect pipeline - #2489
# Server
- None
# Fixes
- Fix flow.visualize cleanup of source files when using filename- #2726
- Fix S3Resulthandling of AWS credentials provided through kwargs - #2747
- Fix DaskKubernetesEnvironmentrequiring that anenvblock is set when using custom specs - #2657
- Fix PostgresExecutetask auto commit when commit is set toFalse- #2658
- Remove need for {filename}in mapped templates - #2640
- Fix issue with Results erroring out on multi-level mapped pipelines - #2716
- Fix issue with dask resource tags not being respected - #2735
- Ensure state deserialization works even when another StateSchema exists - #2738
- Remove implicit payload size restriction from Apollo - #2764
- Fix issue with declared storage secrets in K8s job environment and Dask K8s environment - #2780
- Fix context handling for Cloud when working with in-process retries - #2783
# Deprecations
- Accessing prefect.core.task.Parameteris deprecated in favor ofprefect.core.parameter.Parameter- #2758
# Breaking Changes
- Environment setupandexecutefunction signatures now accept Flow objects - #2796
- create_flow_run_joblogic has been moved into- executefor- DaskKubernetesEnvironmentand- KubernetesJobEnvironment- #2796
# Contributors
# 0.11.5 beta
Released on June 2, 2020.
# Features
- None
# Enhancements
- Allow for manual approval of locally Paused tasks - #2693
- Task instances define a __signature__attribute, for improved introspection and tab-completion - #2602
- Tasks created with @taskforward the wrapped function's docstring - #2602
- Support creating temporary dask clusters from within a DaskExecutor- #2667
- Add option for setting any build kwargs on Docker storage - #2668
- Add flow run ID option to get logsCLI command - #2671
- Add ID to output of getcommand forflowsandflow-runs- #2671
# Task Library
- None
# Server
- None
# Fixes
- Fix issue with Google imports being tied together - #2661
- Don't warn about unused tasks defined inline and copied - #2677
- Remove unnecessary volume mount from dev infrastructure Docker compose - #2676
- Fix issue with instantiating LocalResult on Windows with dir from other drive - #2683
- Fix invalid IP address error when running server starton Ubuntu using rootless Docker - #2691
# Deprecations
- Deprecate local_processesand**kwargsarguments forDaskExecutor- #2667
- Deprecate address='local'forDaskExecutor- #2667
# Breaking Changes
- None
# Contributors
# 0.11.4 beta
Released on May 27, 2020.
# Fixes
- Revert GraphQL endpoint change - #2660
# 0.11.3 beta
Released on May 27, 2020.
# Features
- None
# Enhancements
- Add option to set volumes on server startCLI command - #2560
- Add caseto top-level namespace - #2609
- Use host IP for hostnamelabel in cases whereLocalAgentis in container using host network - #2618
- Add option to set TLS configuration on client created by Docker storage - #2626
- The start_timeof aPausedstate defaults toNone- #2617
- Raise more informative error when Cloud Secret doesn't exist - #2620
- Update GraphQL endpoint to /graphql- #2651
# Task Library
- None
# Fixes
- Kubernetes agent resource manager is more strict about what resources it manages - #2641
- Fix error when adding Parameterto flow undercasestatement - #2608
- Fix S3Resultattempting to load data when checking existence - #2623
# Deprecations
- Deprecate private_registryanddocker_secretoptions onDaskKubernetesEnvironment- #2630
# Breaking Changes
- Kubernetes labels associated with Prefect flow runs now have a prefect.io/prefix (e.g.prefect.io/identifier) - #2641
# Contributors
# 0.11.2 beta
Released on May 19, 2020.
# Features
- None
# Enhancements
- Allow log configuration in Fargate Agent - #2589
- Reuse prefect.contextfor openingFlowcontexts - #2581
- Show a warning when tasks are created in a flow context but not added to a flow - #2584
# Server
- Add API healthcheck tile to the UI - #2395
# Task Library
- None
# Fixes
- Fix type for Dask Security in RemoteDaskEnvironment - #2571
- Fix issue with log_stdoutnot correctly storing returned data on the task run state - #2585
- Ensure result locations are updated from targets when copying tasks with task_args- #2590
- Fix S3Resultexists function handling ofNoSuchKeyerror - #2585
- Fix confusing language in Telemetry documentation - #2593
- Fix LocalAgentnot registering with Cloud using default labels - #2587
- Fix flow's run_agentfunction passing asetof labels to Agent instead of alist- #2600
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.11.1 beta
Released on May 15, 2020.
# Fixes
- Fix duplicate agent label literal eval parsing - #2569
# 0.11.0 beta
Released on May 14, 2020.
# Features
# Enhancements
- Allow slack_task to accept a dictionary for the message parameter to build a specially-structured JSON Block - #2541
- Support using casefor control flow with the imperative api - #2546
- flow.visualizeis now able to accept a- formatargument to specify the output file type - #2447
- Docker storage now writes flows to /optdir to remove need for root permissions - #2025
- Add option to set secrets on Storage objects - #2507
- Add reserved default Secret names and formats for working with cloud platforms - #2507
- Add unique naming option to the jobs created by the KubernetesJobEnvironment- #2553
- Use ast.literal_evalfor configuration values - #2536
- Prevent local cycles even if flow validation is deferred - #2565
# Server
- Add "cancellation-lite" semantic by preventing task runs from running if the flow run isn't running - #2535
- Add minimal telemetry to Prefect Server - #2467
# Task Library
- Add tasks to create issues for Jira and Jira Service Desk #2431
- Add DbtShellTask, an extension of ShellTask for working with data build tool (dbt) - #2526
- Add prefect.tasks.gcp.bigquery.BigQueryLoadFile- #2423
# Fixes
- Fix bug in Kubernetes agent deployment.yamlwith a misconfigured liveness probe - #2519
- Fix checkpointing feature not being able to be disabled when using server backend - #2438
# Deprecations
- Result Handlers are now deprecated in favor of the new Result interface - #2507
# Breaking Changes
- Allow for setting docker daemon at build time using DOCKER_HOST env var to override base_url in docker storage - #2482
- Ensure all calls to flow.run()use the same execution logic - #1994
- Moved prefect.tasks.cloudtoprefect.tasks.prefect- #2404
- Trigger signature now accepts a dictionary of [Edge, State]to allow for more customizable trigger behavior - #2298
- Remove all uses of credentials_secretfrom task library in favor ofPrefectSecrettasks - #2507
- Remove BytesandMemorystorage objects - #2507
# Contributors
# 0.10.7 beta
Released on May 6, 2020.
# Features
- None
# Enhancements
- Agents now support an optional HTTP health check, for use by their backing orchestration layer (e.g. k8s, docker, supervisord, ...) - #2406
- Sets dask scheduler default to "threads" on LocalDaskExecutor to provide parallelism - #2494
- Enhance agent verbose logs to include provided kwargs at start - #2486
- Add no_cloud_logsoption to all Agent classes for an easier way to disable sending logs to backend - #2484
- Add option to set flow run environment variables on Kubernetes agent install - #2424
# Task Library
- Add new casecontrol-flow construct, for nicer management of conditional tasks - #2443
# Fixes
- Give a better error for non-serializable callables when registering with cloud/server - #2491
- Fix runners retrieving invalid context.cacheson runs started directly from a flow runner - #2403
# Deprecations
- None
# Breaking Changes
- Remove the Nomad agent - #2492
# Contributors
- None
# 0.10.6 beta
Released on May 5, 2020.
# Features
- Add DaskCloudProviderEnvironment to dynamically launch Dask clusters, e.g. on AWS Fargate - #2360
# Enhancements
- Add botocore_configoption to Fargate agent for setting botocore configuration when interacting with boto3 client - #2170
- Don't create a Nonetask for a null condition when usingifelse- #2449
- Add support for EC2 launch type in Fargate Agent and FargateTaskEnvironment- #2421
- Add flow_idto context for Flow runs - #2461
- Allow users to inject custom context variables into their logger formats - #2462
- Add option to set backend on agent installCLI command - #2478
# Task Library
- None
# Fixes
- Fix start_server.shscript when an env var is undefined - #2450
- Fix server startCLI command not respectingversionkwarg on tagged releases - #2435
- Fix issue with non-JSON serializable args being used to format log messages preventing them from shipping to Cloud - #2407
- Fix issue where ordered Prefect collections use lexical sorting, not numerical sorting, which can result in unexpected ordering - #2452
- Fix issue where Resource Manager was failing due to non-JSON timestamp in log writing - #2474
- Fix periodic error in local agent process management loop - #2419
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.10.5 beta
Released on Apr 28, 2020.
# Features
- None
# Enhancements
- Added serializer for RemoteDaskEnvironment- #2369
- server startCLI command now defaults to image build based on current Prefect installation version - #2375
- Add option to set executor_kwargsonKubernetesJobEnvironmentandFargateTaskEnvironment- #2258
- Add map index to task logs for mapped task runs - #2402
- Agents can now register themselves with Cloud for better management - #2312
- Adding support for environment,secrets, andmountPointsvia configurablecontainerDefinitionsto the Fargate Agent - #2397
- Add flag for disabling Docker agent interface check on Linux - #2361
# Task Library
- Add Pushbullet notification task to send notifications to mobile - #2366
- Add support for Docker volumes and filtering in prefect.tasks.docker- #2384
# Fixes
- Fix Docker storage path issue when registering flows on Windows machines - #2332
- Fix issue with refreshing Prefect Cloud tokens - #2409
- Resolve invalid escape sequence deprecation warnings - #2414
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.10.4 beta
Released on Apr 21, 2020.
# Enhancements
- Agent connection step shows which endpoint it is connected to and checks API connectivity - #2372
# Breaking Changes
- Revert changes to ifelse&switch(added in #2310), removing implicit creation ofmergetasks - #2379
# 0.10.3 beta
Released on Apr 21, 2020.
# Features
- None
# Enhancements
- Allow GraphQL endpoint configuration via config.tomlfor remote deployments of the UI - #2338
- Add option to connect containers created by Docker agent to an existing Docker network - #2334
- Expose datefmtas a configurable logging option in Prefect configuration - #2340
- The Docker agent configures containers to auto-remove on completion - #2347
- Use YAML's safe load and dump commands for the server startCLI command - #2352
- New RemoteDaskEnvironmentspecifically for running Flows on an existing Dask cluster - #2367
# Task Library
- None
# Fixes
- Fix auth create-tokenCLI command specifying deprecatedroleinstead ofscope- #2336
- Fix local schedules not continuing to schedule on errors outside of runner's control - #2133
- Fix get_latest_cached_statespulling incorrect upstream cached states when using Core server as the backend - #2343
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.10.2 beta
Released on Apr 14, 2020.
# Features
- None
# Enhancements
- Task logical operators (e.g. And,Or, ...) no longer implicitly cast tobool- #2303
- Allow for dynamically changing secret names at runtime - #2302
- Update ifelseandswitchto return tasks representing the output of the run branch - #2310
# Task Library
- Rename the base secret tasks for clarity - #2302
# Fixes
- Fix possible subprocess deadlocks when sending stdout to subprocess.PIPE- #2293, #2295
- Fix issue with Flow registration to non-standard Cloud backends - #2292
- Fix issue with registering Flows with Server that have required scheduled Parameters - #2296
- Fix interpolation of config for dev services CLI for Apollo - #2299
- Fix pytest Cloud and Core server backend fixtures - #2319
- Fix AzureResultHandlerchoosing an empty Secret over provided connection string - #2316
- Fix containers created by Docker agent not being able to reach out to host API - #2324
# Deprecations
- None
# Breaking Changes
- Remove env_varinitialization fromEnvVarSecretin favor ofname- #2302
# Contributors
# 0.10.1 beta
Released on Apr 7, 2020.
# Features
# Enhancements
- Add flags to prefect server startfor disabling service port mapping - #2228
- Add options to prefect server startfor mapping to host ports - #2228
- Return flow_run_idfrom CLIrunmethods for programmatic use - #2242
- Add JSON output option to describeCLI commands - #1813
- Add ConstantResult for eventually replacing ConstantResultHandler - #2145
- Add new diagnosticsmode for timing requests made to Cloud - #2283
# Task Library
- Make project_nameoptional forFlowRunTaskto allow for use with Prefect Core's server - #2266
- Adds prefect.tasks.docker.container.RemoveContainer
# Fixes
- Fix S3ResultHandlersafe retrieval of_clientattribute - #2232
- Change default log timestampvalue in database to be identical to other tables instead of a hard coded value - #2230
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.10.0 beta
Released on Mar 29, 2020.
# Features
- Open source database backend, GraphQL API and UI - #2218
- Add prefect server startCLI command for spinning up database and UI - #2214
# Enhancements
- Add ValidationFailed state and signal in anticipation of validating task outputs - #2143
- Add max polling option to all agents - #2037
- Add GCSResult type #2141
- Add Result.validate method that runs validator functions initialized on Result #2144
- Convert all GraphQL calls to have consistent casing - #2185 #2198
- Add prefect backendCLI command for switching between Prefect Core server and Prefect Cloud - #2203
- Add prefect run serverCLI command for starting flow runs without use of project name - #2203
- Make project_nameoptional during flow registration to support Prefect Core's server - #2203
- Send flow run and task run heartbeat at beginning of run time - #2203
# Task Library
- None
# Fixes
- Fix issue with heartbeat failing if any Cloud config var is not present - #2190
- Fix issue where run cloudCLI command would pull final state before last batch of logs - #2192
- Fix issue where the S3ResultHandlerwould attempt to access uninitialized attribute - #2204
# Deprecations
- None
# Breaking Changes
- Drop support for Python 3.5 - #2191
- Remove Client.write_run_log- #2184
- Remove Client.deployandflow.deploy- #2183
# Contributors
- None
# 0.9.8
Released on Mar 18, 2020.
# Features
- None
# Enhancements
- Update Cloud config name for heartbeat settings - #2081
- Add examples to Interactive API Docs - #2122
- Allow users to skip Docker healthchecks - #2150
- Add exists, read, and write interfaces to Result #2139
- Add Cloud UI links to Slack Notifications - #2112
# Task Library
- None
# Fixes
- Fix S3ResultHandler use of a new boto3 session per thread - #2108
- Fix issue with stateful function reference deserialization logic mutating state - #2159
- Fix issue with DateClockserializer - #2166
- Fix issue with scheduling required parameters - #2166
# Deprecations
- Deprecate cache_* and result_handler options on Task and Flow objects #2140
# Breaking Changes
- None
# Contributors
# 0.9.7 beta
Released on Mar 4, 2020.
# Fixes
- Change task.log_stdoutretrieval from task runner togetattrin order to preserve running flows of older 0.9.x versions - #2120
# 0.9.6 beta
Released on Mar 4, 2020.
# Features
- Add new diagnostics utility to assist in troubleshooting issues - #2062
- Add a jira_notification state handler to create jira tickets for failed tasks or flows - #1861
- Add support for Python 3.8 - #2080
# Enhancements
- Add PIN 15 (skip refactor) - #2070
- Update docs and docstrings related to Result Handlers - #1792
- Add volume option to Docker Agent - #2013
- DaskKubernetesEnvironmentnow elevates important autoscaling logs as well as possible Kubernetes issues - #2089
- Add optional scheduler_logskwarg to theDaskKubernetesEnvironment- #2089
- Add ERROR log if heartbeat process dies - #2097
- Enable stdout logging from inside a task with the kwarg log_stdout=True- #2092
- Direct links to Cloud flows and flow runs now shown on creation time - #2109
- Update docs related to using Context - #2077
# Task Library
- Fix expanding of V1DeleteOptionskwargs for Kubernetes tasks - #2083
# Fixes
- Fix extra_loggersconfig variable not being able to be set via environment variable - #2089
- Fix environments not passing down their extra_loggersto any created infrastructure - #2089
- Don't mutate data when serializing or deserializing - #2098
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.9.5 beta
Released on Feb 21, 2020.
# Features
- None
# Enhancements
- Better exception for unsubscriptable mapping arguments - #1821
- Upload package to PyPI on tag push to master - #2030
- Add DaskGateway tip to docs - #1959
- Improve package import time - #2046
# Task Library
- Fix V1DeleteOptionscall for Kubernetes tasks - #2050
- Add kwargs to V1DeleteOptionsfor Kubernetes tasks - #2051
# Fixes
- Ensure microseconds are respected on start_dateprovided to CronClock - #2031
- Fix duplicate Client connections when using --logsflag fromrun cloudCLI command - #2056
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.9.4 beta
Released on Feb 14, 2020.
# Features
- None
# Enhancements
- Add incremental tutorial - #1953
- Improve error handling for unsupported callables - #1993
- Accept additional boto3client parameters in S3 storage - #2000
- Add optional version_group_idkwarg tocreate_flow_runfor a stable API for flow runs - #1987
- Add extra_loggerslogging configuration for non-Prefect logs in stdout and cloud - #2010
# Task Library
- None
# Fixes
- Ensure ifelsecasts its condition toboolprior to evaluation - #1991
- Do not perform ast.literal_evalon cpu and memory task_definition kwargs for Fargate Agent - #2010
- Fix new agent processing with Threadpool causing problem for Fargate Agent with task revisions enabled - #2022
# Deprecations
- None
# Breaking Changes
- Remove Airflow Tasks - #1992
# Contributors
# 0.9.3 beta
Released on Feb 05, 2020.
# Features
- None
# Enhancements
- Improve heartbeat functionality to be robust across platforms - #1973
- Run storage healthchecks on other options besides Docker - 1963
- Cloud logger now attempts to elevate logger errors to flow run logs - #1961
- Attach Flow and Task attributes to LogRecords - #1938
# Task Library
- None
# Fixes
- Fix uncaught Fargate Agent kwarg parse SyntaxError from literal_eval- #1968
- Fix FargateTaskEnvironment passing empty auth token to run task - #1976
- Fix imagePullSecrets not being automatically passed to jobs created by Kubernetes Agent - #1982
# Deprecations
- None
# Breaking Changes
- Remove cancellation hooks - #1973
# Contributors
- None
# 0.9.2 beta
Released on Jan 30, 2020.
# Features
- Allow for parameter defaults to vary based on clock - #1946
# Enhancements
- More graceful handling of Agents competing for work - #1956
# Task Library
- None
# Fixes
- Eliminated possible duplicate flow run issue in all agents - #1956
# Deprecations
- None
# Breaking Changes
- None
# Contributors
- None
# 0.9.1 beta
Released on Jan 24, 2020.
# Features
- None
# Enhancements
- Docker daemon reconnect attempts + exit on heartbeat failure -#1918
- More responsive agent shutdown - #1921
- Background all agent flow deployment attempts - #1928
- Add show_flow_logs to Docker agent #1929
- Add per-task checkpointing opt-out - #1933
- The Task 'checkpoint' kwarg will no longer be deprecated to allow opt-out - #1933
# Task Library
- None
# Fixes
- Fix the Fargate Agent not parsing kwargs as literals - #1926
- Fix issue with result handler default persisting from initialization - #1936
# Deprecations
- None
# Breaking Changes
- None
# Contributors
- None
# 0.9.0 beta
Released on Jan 15, 2020.
# Features
- Added the ability to leverage native ECS task definition revisions for flow versions in Fargate agent - #1870
- Added the ability to pull in kwargs per flow version from S3 on flow submission in Fargate agent - #1870
- Add sensible default result handlers to non-Docker storage options - #1888
# Enhancements
- Allow for task looping to beyond Python's maximum recursion depth - #1862
- Prevent duplication of stdout logs from multiple instantiated agents - #1866
- Allow intervals less than 60 seconds in IntervalClocks - #1880
- Introduce new Secret.existsmethod for checking whether a Secret is available - #1882
- Introduce new -eCLI options on agent start commands to allow passing environment variables to flow runs - #1878
- Stop persisting Nonewhen calling result handlers - #1894
- Change Cancelled state to indicate Finished instead of Failed - #1903
- All States now store cached_inputsfor easier recovery from failure - #1898
- Always checkpoint tasks which have result handlers - #1898
# Task Library
- Remove implicit requirement that Google Tasks use Prefect Cloud Secrets - #1882
# Fixes
- Enforce provision of max_retriesif specifyingretry_delayfor aTask- #1875
- Fix issue with reduce tasks in flow.visualize()- #1793
# Deprecations
- The checkpointing kwarg will be removed from Tasks as it is now a default behavior - #1898
# Breaking Changes
- Remove default value for aws_credentials_secreton all S3 hooks - #1886
- Remove config.engine.result_handlersection of Prefect config - #1888
- Remove default value for credentials_secretonGCSResultHandler- #1888
- Remove default value for azure_credentials_secretonAzureResultHandler- #1888
# Contributors
# 0.8.1 beta
Released on Dec 17, 2019.
# Features
- None
# Enhancements
- Enhanced treatment of nested and ordered constant values - #1829
- Add on_datetime,on_date, andat_timefilters - #1837
- Add --latestflag for Kubernetes Agent install CLI command - #1842
- Add --no-cloud-logsflag for all agents to optionally opt-out of logs being sent to Prefect Cloud - #1843
- Agents mark Flow Runs as Failedif a deployment error occurs - #1848
- Submittedstates from Agents include deployment identifier information - #1848
- Update heartbeats to respect Cloud flow settings - #1851
- Add flow run name to prefect.context- #1855
- Add --namespaceoption for Kubernetes Agent start CLI command - #1859
- Add Prefect job resource configuration for Kubernetes Agent - #1859
# Task Library
- Add task for scheduling a flow run - #1871
# Fixes
- Fix Agent deployment errors interrupting full list of found Flow Runs - #1848
- Fix issue with a single bad log preventing all logs from being sent to Cloud - #1845
- Fix Kubernetes Agent passing empty default namespace - #1839
# Deprecations
- None
# Breaking Changes
- None
# Contributors
- None
# 0.8.0 beta
Released on Dec 11, 2019.
# Features
- Added new Local Agent to run Flows from Local Storage, S3 Storage, and GCS Storage - #1819
- Added Azure Blob Storage for Flows - #1831
- Added GCS Storage for Flows - #1809
- Added S3 Storage for Flows - #1753
# Enhancements
- Add --rbacflag toprefect agent installfor Kubernetes Agent - #1822
- Add prefect agent installoption to outputsupervisord.conffile for Local Agent - #1819
- Add convenience parents()andchildren()classmethods to all State objects for navigating the hierarchy - #1784
- Add new not_all_skippedtrigger and set it as the default for merge tasks - #1768
# Task Library
- Azure Blob tasks now use newer BlockBlobServicewith connection string authentication - #1831
# Fixes
- Fix issue with flow.visualize()for mapped tasks which are skipped - #1765
- Fix issue with timeouts only being softly enforced - #1145, #1686
- Log agent errors using write_run_logsinstead of the deprecatedwrite_run_log- #1791
- Fix issue with flow.update()not transferring constants - #1785
# Deprecations
- flow.deployis deprecated in favor of- flow.register- #1819
# Breaking Changes
- Default Flow storage is now Localinstead ofDocker- #1819
- Docker based LocalAgentis renamedDockerAgent- #1819
- prefect agent startnow defaults to new- LocalAgent- #1819
# Contributors
- None
# 0.7.3 beta
Released on Nov 26, 2019.
# Features
- Add graceful cancellation hooks to Flow and Task runners - #1758
# Enhancements
- Add option to specify a run name for cloud runCLI command - #1756
- Add work_stealingoption toDaskKubernetesEnvironment- #1760
- Improve heartbeat thread management - #1770
- Add unique scheduler Job name to DaskKubernetesEnvironment- #1772
- Add informative error when trying to map with the LocalDaskExecutorusing processes - #1777
# Task Library
- None
# Fixes
- Fix issue with heartbeat thread deadlocking dask execution when using a worker_client- #1750
- Fix issue with Environments not calling run_flowon Environment stored on Flow object - #1752
- Fix issue with Docker build context when providing custom docker files - #1762
# Deprecations
- None
# Breaking Changes
- None
# Contributors
- None
# 0.7.2 beta
Released on Nov 15, 2019.
# Features
- Allow users to provide a custom version group ID for controlling Cloud versioning - #1665
- Stop autogenerating constant tasks - #1730
# Enhancements
- Raise an informative error when context objects are pickled - #1710
- Add an option to pass in run_nameto a flow run to override the auto-generated names when callingcreate_flow_run#1661
- Add informative logs in the event that a heartbeat thread dies - #1721
- Loosen Job spec requirements for KubernetesJobEnvironment- #1713
- Loosen containerDefinitionsrequirements forFargateTaskEnvironment- #1713
- Local Docker agent proactively fails flow runs if image cannot be pulled - #1395
- Add graceful keyboard interrupt shutdown for all agents - #1731
- agent startCLI command now allows for Agent kwargs - #1737
- Add users to specify a custom Dockerfile for Docker storage - #1738
- Expose labelskwarg inflow.deployfor convenient labeling of Flows - #1742
# Task Library
- None
# Fixes
- FargateTaskEnvironmentnow uses provided- familyfor task definition naming - #1713
- Fix executor initialization missing selfinKubernetesJobEnvironment- #1713
- Fix identifier_labelnot being generated on each run for Kubernetes based environments - #1718
- Fix issue where users could not override their user config path when deploying Docker to Cloud - #1719
- Respect order of inputs in merge - #1736
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.7.1 beta
Released on Nov 5, 2019
# Features
- None
# Enhancements
- Add a save/loadinterface to Flows - #1685, #1695
- Add option to specify aws_session_tokenfor theFargateTaskEnvironment- #1688
- Add EnvVarSecretsfor loading sensitive information from environment variables - #1683
- Add an informative version header to all Cloud client requests - #1690
- Auto-label Flow environments when using Local storage - #1696
- Batch upload logs to Cloud in a background thread for improved performance - #1691
- Include agent labels within each flow's configuration environment - #1671
# Task Library
- None
# Fixes
- Fix Fargate Agent access defaults and environment variable support - #1687
- Removed default python version for docker builds - #1705
- Attempt to install prefect in any docker image (if it is not already installed) - #1704
- Kubernetes Agent deployment yaml now respects new prefecthq/prefectimage tagging convention - #1707
# Deprecations
- None
# Breaking Changes
- None
# Contributors
- None
# 0.7.0 To Affinity and Beyond beta
Released October 29, 2019
# Features
- Flow Affinity: Environments and Agents now support labeling for execution specification - #1651
- Add new Secret Tasks for a pluggable and reusable Secrets API - #1346, #1587
# Enhancements
- Add the ability to delete task tag limits using the client - #1622
- Adds an "Ask for help" button with a link to the prefect.io support page - #1637
- Reduces the size of the prefecthq/prefectDocker image by ~400MB, which is now the base Docker image used in Flows - #1648
- Add a new healthcheck for environment dependencies - #1653
- Add default 30 second timeout to Client requests - #1672
# Task Library
- Add new Secret Tasks for a pluggable and reusable Secrets API - #1346, #1587
- Add support for directly passing credentials to task library tasks, instead of passing secret names - #1667
# Fixes
- Fix defaults for unspecified ARNs in the Fargate Agent - #1634
- Fix ShellTask return value on empty stdout - #1632
- Fix issue with some Cloud Secrets not being converted from strings - #1655
- Fix issue with Agent logging config setting not working - #1657
- Fix issue with SnowflakeQuery tasks not working - #1663
# Deprecations
- Tasks that accepted the name of a secret (often credentials_secret) will raise a deprecation warning - #1667
# Breaking Changes
- Fargate Agent now takes in all boto3 camel case arguments instead of specific snake case options - #1649
- kubernetesis no longer installed by default in deployed flow images - #1653
- Tasks that accepted the name of a secret (often credentials_secret) no longer have a default value for that argument, as it has been deprecated - #1667
# Contributors
# 0.6.7 Oh Six Seven beta
Released October 16, 2019
# Features
- Environments now allow for optional on_startandon_exitcallbacks - #1610
# Enhancements
- Raise more informative error when calling flow.visualize()if Graphviz executable not installed - #1602
- Allow authentication to Azure Blob Storage with SAS token - #1600
- Additional debug logs to Docker ContainerandDocker Imagetasks - #920
- Changes to Fargate agent to support temporary credentials and IAM role based credentials within AWS compute such as a container or ec2 instance. #1607
- Local Secrets set through environment variable now retain their casing - #1601
- Agents can accept an optional namefor logging and debugging - #1612
- Added AWS configuration options for Fargate Agent (task_role_arn, execution_role_arn) - #1614
- Change EmailTask to accept SMTP server settings as well as an email_from kwarg - #1619
- Add the ability to delete task tag limits using the client - #1622
# Task Library
- Add return_allkwarg toShellTaskfor optionally returning all lines of stdout - #1598
- Add CosmosDBCreateItem,CosmosDBReadItems,CosmosDBQueryItemsand for interacting with data stored on Azure Cosmos DB - #1617
# Fixes
- Fix issue with running local Flow without a schedule containing cached tasks - #1599
- Remove blank string for task_run_idin k8s resource manager - #1604
- Fix issue with merge task not working for pandas dataframes and numpy arrays - #1609
# Deprecations
- None
# Breaking Changes
- Local Secrets set through environment variable now retain their casing - #1601
# Contributors
# 0.6.6 Wait For It beta
Released October 3, 2019
# Features
- Added KubernetesJobEnvironment- #1548
- Add ability to enforce Task concurrency limits by tag in Prefect Cloud - #1570
- Added FargateTaskEnvironment- #1592
# Enhancements
- Allow the Clientto more gracefully handle failed login attempts on initialization - #1535
- Replace DotDictwithbox.Box- #1518
- Store cached_inputson Failed states and call their result handlers if they were provided - #1557
- raise_on_exceptionno longer raises for Prefect Signals, as these are typically intentional / for control flow - #1562
- run cloudCLI command takes in optional- --parametersas a file path pointing to a JSON file - #1582
- Always consider Constanttasks successful and unpack them immediately instead of submitting them for execution - #1527
# Task Library
- Add BlobStorageDownloadandBlobStorageUploadfor interacting with data stored on Azure Blob Storage - #1538
- Loosen Kubernetes Tasks' requirement of an API secret key - #1559
- Add tasks for working in Azure Machine Learning Serviec with Datastores and Datasets - #1590
# Fixes
- Fix issue with certain Pause / Resume / Retry pipelines retrying indefinitely - #1177
- Kubernetes Agent deployment YAML generation defaults to local Prefect version - #1573
- Fix issue with custom result handlers not working when called in cached_inputs- #1585
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.6.5 Agents of Environmental Change beta
Released September 20, 2019
# Features
- Added Fargate agent - #1521
- Custom user-written environments can be deployed to Prefect Cloud - #1534, #1537
# Enhancements
- Allow for Agents to correctly run in environments with differently calibrated clocks - #1402
- Refactor RemoteEnvironmentto utilize theget_flowstorage interface - #1476
- Ensure Task logger is available in context throughout every pipeline step of the run - #1509
- Skip Docker registry pushing and pulling on empty registry_urlattribute - #1525
- Agents now log platform errors to flow runs which cannot deploy - #1528
- Updating ShellTaskto work more like Airflow Bash Operator for streaming logs and returning values - #1451
- Agents now have a verbose/debug logging option for granular output - #1532
- DaskKubernetesEnvironmentnow allows for custom scheduler and worker specs - #1543, #1537
# Task Library
- None
# Fixes
- Fix map error by removing imagePullSecretsfrom Kubernetes Agent install if not provided - #1524
- Fix issue with two INFO logs not being associated with the Task Run in Cloud - #1526
- executeCLI command can now load custom environments off of the flow object - #1534
# Deprecations
- None
# Breaking Changes
- Update ShellTaskto return only the last line of stdout, as a string - #1451
# Contributors
# 0.6.4 I installed Docker on a Windows machine and all I got was this release beta
Released September 10, 2019
# Features
- Improve Windows compatibility for local development and deploying to Prefect Cloud - #1441, #1456, #1465, #1466
# Enhancements
- Add OS platform check to Local Agent for running on Windows machines - #1441
- Add --base-urlargument for Docker daemons toagent startCLI command - #1441
- Add environment labels for organizing / tagging different Flow execution environments - #1438
- Use -Uoption when installingprefectin Docker containers to override base image version - #1461
- Remove restriction that prevented DotDictclasses from having keys that shadowed dict methods - #1462
- Added livenessProbe to Kubernetes Agent - #1474
- Ensure external Dask Clusters do not require Prefect Cloud environment variables to run Cloud flows - #1481
# Task Library
- None
# Fixes
- Fix incorrect import in DaskKubernetesEnvironmentjob template - #1458
- Raise error on Agents started without an appropriate API token - #1459
- Fix bug when calling as_nested_dictonDotDictswith anitemskey - #1462
- Fix --resource-managerflag on agent install invalidatingimagePullSecrets- #1469
- Fix issue with user-written result handlers in Prefect Cloud preventing some states from being set - #1480
# Deprecations
- None
# Breaking Changes
- None
# Contributors
# 0.6.3 Retry Release beta
Released August 30, 2019
Maintenance release.
# Fixes
- Fix issue with reduced mapped tasks not respecting retries - #1436
# 0.6.2 Onboards and Upwards beta
Released August 30, 2019
# Features
- Added Local, Kubernetes, and Nomad agents - #1341
- Add the ability for Tasks to sequentially loop - #1356
# Enhancements
- Adds a copy to clipboard button for codeblocks - #213
- Updates Vuepress to v1.0.3 - #770
- Introduce configurable default for storage class on Flows - #1044
- Allow for min and max workers to be specified in DaskKubernetesEnvironment- #1338
- Use task and flow names for corresponding logger names for better organization - #1355
- Pausedstates subclass- Scheduledand can have predefined expirations - #1375
- Introduce new Flow health checks prior to Cloud deployment - #1372
- Improve logging functionality to include tracebacks - #1374
- Improve CLI user experience while working with Cloud - #1384
- Users can now create projects from the CLI - #1388
- Add a health check to confirm that serialized flows are valid prior to Cloud deploy - #1397
- Add task_slug,flow_id, andflow_run_idto context - #1405
- Support persistent scheduled_start_timefor scheduled flow runs when run locally withflow.run()- #1418, #1429
- Add task_argstoTask.map- #1390
- Add auth flows for USER-scoped Cloud API tokens - #1423
- Add AzureResultHandlerfor handling results to / from Azure Blob storage containers - #1421
- Add new configurable LocalDaskExecutor- #1336
- Add CLI commands for working with Prefect Cloud auth - #1431
# Task Library
- Add new SnowflakeQuerytask for using snowflake data warehouse - #1113
# Fixes
- Fix issue with Docker storage not respecting user-provided image names - #1335
- Fix issue with local retries in Cloud not always running in-process - #1348
# Deprecations
- Rename SynchronousExecutorasLocalDaskExecutor- #1434
# Breaking Changes
- Rename CloudEnvironmenttoDaskKubernetesEnvironment- #1250
- Remove unused queuemethod from all executors - #1434
# Contributors
# 0.6.1 Prefect Timing beta
Released August 8, 2019
# Features
- Introduce new flows.checkpointingconfiguration setting for checkpointing Tasks in local execution - #1283
- Introduce new, flexible Scheduleobjects - #1320
# Enhancements
- Allow passing of custom headers in Clientcalls - #1255
- Autogenerate informative names and tags for Docker images built for Flow storage - #1237
- Allow mixed-case configuration keys (environment variables are interpolated as lowercase) - #1288
- Ensure state handler errors are logged informatively - #1326
# Task Library
- Add BigQueryLoadGoogleCloudStoragetask for loading data into BigQuery from Google Cloud Storage #1317
# Fixes
- Fix issue with logs not always arriving in long-standing Dask clusters - #1244
- Fix issue with BuildImagedocker task not actually running to completion - #1243
- Fix run --logsCLI command not exiting on flow run finished state - #1319
# Deprecations
- OneTimeScheduleand- UnionScheduleare deprecated, but remain callable as convenience functions - #1320
- Old-style schedules can be deserialized as new-style schedules, but support will eventually be dropped - #1320
# Breaking Changes
- prefect.Client.graphql()and- prefect.Client.post()now use an explicit keyword, not- **kwargs, for variables or parameters - #1259
- auth addCLI command replaced with- auth login- #1319
# Contributors
- None
# 0.6.0 Cloud Ready beta
Released July 16, 2019
# Features
- Add the Prefect CLI for working with core objects both locally and in cloud - #1059
- Add RemoteEnvironment for simple executor based executions - #1215
- Add the ability to share caches across Tasks and Flows - #1222
- Add the ability to submit tasks to specific dask workers for task / worker affinity - #1229
# Enhancements
- Refactor mapped caching to be independent of order - #1082
- Refactor caching to allow for caching across multiple runs - #1082
- Allow for custom secret names in Result Handlers - #1098
- Have execute cloud-flowCLI immediately set the flow run state toFailedif environment fails - #1122
- Validate configuration objects on initial load - #1136
- Add auto_generatedproperty to Tasks for convenient filtering - #1135
- Disable dask work-stealing in Kubernetes via scheduler config - #1166
- Implement backoff retry settings on Client calls - #1187
- Explicitly set Dask keys for a better Dask visualization experience - #1218
- Implement a local cache which persists for the duration of a Python session - #1221
- Implement in-process retries for Cloud Tasks which request retry in less than one minute - #1228
- Support Client.login()with API tokens - #1240
- Add live log streaming for prefect run cloudcommand - #1241
# Task Library
- Add task to trigger AWS Step function workflow #1012
- Add task to copy files within Google Cloud Storage - #1206
- Add task for downloading files from Dropbox - #1205
# Fixes
- Fix issue with mapped caching in Prefect Cloud - #1096
- Fix issue with Result Handlers deserializing incorrectly in Cloud - #1112
- Fix issue caused by breaking change in marshmallow==3.0.0rc7- #1151
- Fix issue with passing results to Prefect signals - #1163
- Fix issue with flow.updatenot preserving mapped edges - #1164
- Fix issue with Parameters and Context not being raw dictionaries - #1186
- Fix issue with asynchronous, long-running mapped retries in Prefect Cloud - #1208
- Fix issue with automatically applied collections to task call arguments when using the imperative API - #1211
# Breaking Changes
- The CLI command prefect execute-flowandprefect execute-cloud-flowno longer exist - #1059
- The slack_notifierstate handler now uses awebhook_secretkwarg to pull the URL from a Secret - #1075
- Use GraphQL for Cloud logging - #1193
- Remove the CloudResultHandlerdefault result handler - #1198
- Rename LocalStoragetoLocal- #1236
# Contributors
# 0.5.5 Season 8 beta
Released May 31, 2019
Bugfix to address an unpinned dependency
# 0.5.4 A Release Has No Name beta
Released May 28, 2019
# Features
- Add new UnionSchedulefor combining multiple schedules, allowing for complex schedule specifications - #428
- Allow for Cloud users to securely pull Docker images from private registries - #1028
# Enhancements
- Add prefect_versionkwarg toDockerstorage for controlling the version of prefect installed into your containers - #1010, #533
- Warn users if their Docker storage base image uses a different python version than their local machine - #999
- Add flow run id to k8s labels on Cloud Environment jobs / pods for easier filtering in deployment - #1016
- Allow for SlackTaskto pull the Slack webhook URL from a custom named Secret - #1023
- Raise informative errors when Docker storage push / pull fails - #1029
- Standardized __repr__s for various classes, to remove inconsistencies - #617
- Allow for use of local images in Docker storage - #1052
- Allow for doc tests and doc generation to run without installing all_extras- #1057
# Task Library
- Add task for creating new branches in a GitHub repository - #1011
- Add tasks to create, delete, invoke, and list AWS Lambda functions #1009
- Add tasks for integration with spaCy pipelines #1018
- Add tasks for querying Postgres database #1022
- Add task for waiting on a Docker container to run and optionally raising for nonzero exit code - #1061
- Add tasks for communicating with Redis #1021
# Fixes
- Ensure that state change handlers are called even when unexpected initialization errors occur - #1015
- Fix an issue where a mypy assert relied on an unavailable import - #1034
- Fix an issue where user configurations were loaded after config interpolation had already taken place - #1037
- Fix an issue with saving a flow visualization to a file from a notebook - #1056
- Fix an issue in which mapped tasks incorrectly tried to run when their upstream was skipped - #1068
- Fix an issue in which mapped tasks were not using their caches locally - #1067
# Breaking Changes
- Changed the signature of configuration.load_configuration()- #1037
- Local Secrets now raise ValueErrors when not found in context - #1047
# Contributors
# 0.5.3 The Release is Bright and Full of Features beta
Released May 7, 2019
# Features
# Enhancements
- Flow now has optional storagekeyword - #936
- Flow environmentargument now defaults to aCloudEnvironment- #936
- Queuedstates accept- start_timearguments - #955
- Add new BytesandMemorystorage classes for local testing - #956, #961
- Add new LocalEnvironmentexecution environment for local testing - #957
- Add new Abortedstate for Flow runs which are cancelled by users - #959
- Added an execute-cloud-flowCLI command for working with cloud deployed flows - #971
- Add new flows.run_on_scheduleconfiguration option for affecting the behavior offlow.run- #972
- Allow for Tasks with manual_onlytriggers to be root tasks - #667
- Allow compression of serialized flows #993
- Allow for serialization of user written result handlers - #623
- Allow for state to be serialized in certain triggers and cache validators - #949
- Add new filenamekeyword toflow.visualizefor automatically saving visualizations - #1001
- Add new LocalStorageoption for storing Flows locally - #1006
# Task Library
- None
# Fixes
- Fix Docker storage not pulling correct flow path - #968
- Fix run_flowloading to decode properly by use cloudpickle - #978
- Fix Docker storage for handling flow names with spaces and weird characters - #969
- Fix non-deterministic issue with mapping in the DaskExecutor - #943
# Breaking Changes
- Remove flow.idandtask.idattributes - #940
- Removed old WIP environments - #936 (Note: Changes from #936 regarding environments don't break any Prefect code because environments weren't used yet outside of Cloud.)
- Update flow.deployandclient.deployto useset_schedule_activekwarg to match Cloud - #991
- Removed Flow.generate_local_task_ids()- #992
# Contributors
- None
# 0.5.2 Unredacted beta
Released April 19, 2019
# Features
- Implement two new triggers that allow for specifying bounds on the number of failures or successes - #933
# Enhancements
- DaskExecutor(local_processes=True)supports timeouts - #886
- Calling Secret.get()from within a Flow context raises an informative error - #927
- Add new keywords to Task.set_upstreamandTask.set_downstreamfor handling keyed and mapped dependencies - #823
- Downgrade default logging level to "INFO" from "DEBUG" - #935
- Add start times to queued states - #937
- Add is_submittedto states - #944
- Introduce new ClientFailedstate - #938
# Task Library
- Add task for sending Slack notifications via Prefect Slack App - #932
# Fixes
- Fix issue with timeouts behaving incorrectly with unpickleable objects - #886
- Fix issue with Flow validation being performed even when eager validation was turned off - #919
- Fix issue with downstream tasks with all_failedtriggers running if an upstream Client call fails in Cloud - #938
# Breaking Changes
- Remove prefect make user configfrom cli commands - #904
- Change set_schedule_activekeyword in Flow deployments toset_schedule_inactiveto match Cloud - #941
# Contributors
- None
# 0.5.1 It Takes a Village beta
Released April 4, 2019
# Features
- API reference documentation is now versioned - #270
- Add S3ResultHandlerfor handling results to / from S3 buckets - #879
- Add ability to use Cachedstates across flow runs in Cloud - #885
# Enhancements
- Bump to latest version of pytest(4.3) - #814
- Client.deployaccepts optional- buildkwarg for avoiding building Flow environment - #876
- Bump distributedto 1.26.1 for enhanced security features - #878
- Local secrets automatically attempt to load secrets as JSON - #883
- Add task logger to context for easily creating custom logs during task runs - #884
# Task Library
- Add ParseRSSFeedfor parsing a remote RSS feed - #856
- Add tasks for working with Docker containers and imaged - #864
- Add task for creating a BigQuery table - #895
# Fixes
- Only checkpoint tasks if running in cloud - #839, #854
- Adjusted small flake8 issues for names, imports, and comparisons - #849
- Fix bug preventing flow.runfrom properly using cached tasks - #861
- Fix tempfile usage in flow.visualizeso that it runs on Windows machines - #858
- Fix issue caused by Python 3.5.2 bug for Python 3.5.2 compatibility - #857
- Fix issue in which GCSResultHandlerwas not pickleable - #879
- Fix issue with automatically converting callables and dicts to tasks - #894
# Breaking Changes
- Change the call signature of Dicttask fromrun(**task_results)torun(keys, values)- #894
# Contributors
# 0.5.0 Open Source Launch! beta
Released March 24, 2019
# Features
- Add checkpointoption for individualTasks, as well as a globalcheckpointconfig setting for storing the results of Tasks using their result handlers - #649
- Add defaults_from_attrsdecorator to easily constructTasks whose attributes serve as defaults forTask.run- #293
- Environments follow new hierarchy (PIN-3) - #670
- Add OneTimeSchedulefor one-time execution at a specified time - #680
- flow.runis now a blocking call which will run the Flow, on its schedule, and execute full state-based execution (including retries) - #690
- Pre-populate prefect.contextwith various formatted date strings during execution - #704
- Add ability to overwrite task attributes such as "name" when calling tasks in the functional API - #717
- Release Prefect Core under the Apache 2.0 license - #762
# Enhancements
- Refactor all Stateobjects to store fully hydratedResultobjects which track information about how results should be handled - #612, #616
- Add google.cloud.storageas an optional extra requirement so that theGCSResultHandlercan be exposed better - #626
- Add a start_timecheck for Scheduled flow runs, similar to the one for Task runs - #605
- Project names can now be specified for deployments instead of IDs - #633
- Add a createProjectmutation function to the client - #633
- Add timestamp to auto-generated API docs footer - #639
- Refactor Resultinterface intoResultandSafeResult- #649
- The manual_onlytrigger will pass ifresume=Trueis found in context, which indicates that aResumestate was passed - #664
- Added DockerOnKubernetes environment (PIN-3) - #670
- Added Prefect docker image (PIN-3) - #670
- defaults_from_attrsnow accepts a splatted list of arguments - #676
- Add retry functionality to flow.run(on_schedule=True)for local execution - #680
- Add helper_fnskeyword toShellTaskfor pre-populating helper functions to commands - #681
- Convert a few DEBUG level logs to INFO level logs - #682
- Added DaskOnKubernetes environment (PIN-3) - #695
- Load contextfrom Cloud when running flows - #699
- Add Queuedstate - #705
- flow.serialize()will always serialize its environment, regardless of- build- #696
- flow.deploy()now raises an informative error if your container cannot deserialize the Flow - #711
- Add _MetaStateas a parent class for states that modify other states - #726
- Add flowkeyword argument toTask.set_upstream()andTask.set_downstream()- #749
- Add is_retrying()helper method to allStateobjects - #753
- Allow for state handlers which return None- #753
- Add daylight saving time support for CronSchedule- #729
- Add idempotency_keyandcontextarguments toClient.create_flow_run- #757
- Make EmailTaskmore secure by pulling credentials from secrets - #706
# Task Library
- Add GCSUploadandGCSDownloadfor uploading / retrieving string data to / from Google Cloud Storage - #673
- Add BigQueryTaskandBigQueryInsertTaskfor executing queries against BigQuery tables and inserting data - #678, #685
- Add FilterTaskfor filtering out lists of results - #637
- Add S3DownloadandS3Uploadfor interacting with data stored on AWS S3 - #692
- Add AirflowTaskandAirflowTriggerDAGtasks to the task library for running individual Airflow tasks / DAGs - #735
- Add OpenGitHubIssueandCreateGitHubPRtasks for interacting with GitHub repositories - #771
- Add Kubernetes tasks for deployments, jobs, pods, and services - #779
- Add Airtable tasks - #803
- Add Twitter tasks - #803
- Add GetRepoInfofor pulling GitHub repository information - #816
# Fixes
- Fix edge case in doc generation in which some Exceptions' call signature could not be inspected - #513
- Fix bug in which exceptions raised within flow runner state handlers could not be sent to Cloud - #628
- Fix issue wherein heartbeats were not being called on a fixed interval - #669
- Fix issue wherein code blocks inside of method docs couldn't use **kwargs- #658
- Fix bug in which Prefect-generated Keys for S3 buckets were not properly converted to strings - #698
- Fix next line after Docker Environment push/pull from overwriting progress bar - #702
- Fix issue with JinjaTemplatenot being pickleable - #710
- Fix issue with creating secrets from JSON documents using the Core Client - #715
- Fix issue with deserialization of JSON secrets unnecessarily calling json.loads- #716
- Fix issue where IntervalSchedulesdidn't respect daylight saving time after serialization - #729
# Breaking Changes
- Remove the BokehRunnerand associated webapp - #609
- Rename ResultHandlermethods fromserialize/deserializetowrite/read- #612
- Refactor all Stateobjects to store fully hydratedResultobjects which track information about how results should be handled - #612, #616
- Client.create_flow_runnow returns a string instead of a- GraphQLResultobject to match the API of- deploy- #630
- flow.deployand- client.deployrequire a- project_nameinstead of an ID - #633
- Upstream state results now take precedence for task inputs over cached_inputs- #591
- Rename Matchtask (used inside control flow) toCompareValue- #638
- Client.graphql()now returns a response with up to two keys (- dataand- errors). Previously the- datakey was automatically selected - #642
- ContainerEnvironmentwas changed to- DockerEnvironment- #670
- The environment from_filewas moved toutilities.environments- #670
- Removed start_tasksargument fromFlowRunner.run()andcheck_upstreamargument fromTaskRunner.run()- #672
- Remove support for Python 3.4 - #671
- flow.runis now a blocking call which will run the Flow, on its schedule, and execute full state-based execution (including retries) - #690
- Remove make_return_failed_handlerasflow.runnow returns all task states - #693
- Refactor Airflow migration tools into a single AirflowTaskin the task library for running individual Airflow tasks - #735
- nameis now required on all Flow objects - #732
- Separate installation "extras" packages into multiple, smaller extras - #739
- Flow.parameters()always returns a set of parameters - #756
# 0.4.1 beta
Released January 31, 2019
# Features
- Add ability to run scheduled flows locally via on_schedulekwarg inflow.run()- #519
- Allow tasks to specify their own result handlers, ensure inputs and outputs are stored only when necessary, and ensure no raw data is sent to the database - #587
# Enhancements
- Allow for building ContainerEnvironments locally without pushing to registry - #514
- Make mapping more robust when running children tasks multiple times - #541
- Always prefer cached_inputsover upstream states, if available - #546
- Add hooks to FlowRunner.initialize_run()for manipulating task states and contexts - #548
- Improve state-loading strategy for Prefect Cloud - #555
- Introduce on_failurekwarg to Tasks and Flows for user-friendly failure callbacks - #551
- Include scheduled_start_timein context for Flow runs - #524
- Add GitHub PR template - #542
- Allow flows to be deployed to Prefect Cloud without a project id - #571
- Introduce serialization schemas for ResultHandlers - #572
- Add new metadataattribute to States for managing user-generated results - #573
- Add new 'JSONResultHandler' for serializing small bits of data without external storage - #576
- Use JSONResultHandlerfor all Parameter caching - #590
# Fixes
- Fixed flow.deploy()attempting to access a nonexistent string attribute - #503
- Ensure all logs make it to the logger service in deployment - #508, #552
- Fix a situation where Pausedtasks would be treated asPendingand run - #535
- Ensure errors raised in state handlers are trapped appropriately in Cloud Runners - #554
- Ensure unexpected errors raised in FlowRunners are robustly handled - #568
- Fixed non-deterministic errors in mapping caused by clients resolving futures of other clients - #569
- Older versions of Prefect will now ignore fields added by newer versions when deserializing objects - #583
- Result handler failures now result in clear task run failures - #575
- Fix issue deserializing old states with empty metadata - #590
- Fix issue serializing cached_inputs- #594
# Breaking Changes
- Move prefect.client.result_handlerstoprefect.engine.result_handlers- #512
- Removed inputskwarg fromTaskRunner.run()- #546
- Moves the start_task_idsargument fromFlowRunner.run()toEnvironment.run()- #544, #545
- Convert timeoutkwarg fromtimedeltatointeger- #540
- Remove timeoutkwarg fromexecutor.wait- #569
- Serialization of States will ignore any result data that hasn't been processed - #581
- Removes VersionedSchemain favor of implicit versioning: serializers will ignore unknown fields and thecreate_objectmethod is responsible for recreating missing ones - #583
- Convert and rename CachedStateto a successful state namedCached, and also remove the superfluouscached_resultattribute - #586
# 0.4.0 beta
Released January 8, 2019
# Features
- Add support for Prefect Cloud - #374, #406, #473, #491
- Add versioned serialization schemas for Flow,Task,Parameter,Edge,State,Schedule, andEnvironmentobjects - #310, #318, #319, #340
- Add ability to provide ResultHandlers for storing private result data - #391, #394, #430
- Support depth-first execution of mapped tasks and tracking of both the static "parent" and dynamic "children" via Mappedstates - #485
# Enhancements
- Add new TimedOutstate for task execution timeouts - #255
- Use timezone-aware dates throughout Prefect - #325
- Add descriptionandtagsarguments toParameters- #318
- Allow edge keychecks to be skipped in order to create "dummy" flows from metadata - #319
- Add new names_onlykeyword toflow.parameters- #337
- Add utility for building GraphQL queries and simple schemas from Python objects - #342
- Add links to downloadable Jupyter notebooks for all tutorials - #212
- Add to_dictconvenience method forDotDictclass - #341
- Refactor requirements to a custom inifile specification - #347
- Refactor API documentation specification to tomlfile - #361
- Add new SQLite tasks for basic SQL scripting and querying - #291
- Executors now pass map_indexinto theTaskRunners - #373
- All schedules support start_dateandend_dateparameters - #375
- Add DateTimemarshmallow field for timezone-aware serialization - #378
- Adds ability to put variables into context via the config - #381
- Adds new client.deploymethod for adding new flows to the Prefect Cloud - #388
- Add idattribute toTaskclass - #416
- Add new Resumestate for resuming fromPausedtasks - #435
- Add support for heartbeats - #436
- Add new Submittedstate for signaling thatScheduledtasks have been handled - #445
- Add ability to add custom environment variables and copy local files into ContainerEnvironments - #453
- Add set_secretmethod to Client for creating and setting the values of user secrets - #452
- Refactor runners into CloudTaskRunnerandCloudFlowRunnerclasses - #431
- Added functions for loading default engineclasses from config - #477
# Fixes
- Fixed issue with GraphQLResultreprs - #374
- CronScheduleproduces expected results across daylight savings time transitions - #375
- utilities.serialization.Nestedproperly respects- marshmallow.missingvalues - #398
- Fixed issue in capturing unexpected mapping errors during task runs - #409
- Fixed issue in flow.visualize()so that mapped flow states can be passed and colored - #387
- Fixed issue where IntervalSchedulewas serialized at "second" resolution, not lower - #427
- Fixed issue where SKIPsignals were preventing multiple layers of mapping - #455
- Fixed issue with multi-layer mapping in flow.visualize()- #454
- Fixed issue where Prefect Cloud cached_inputsweren't being used locally - #434
- Fixed issue where Config.set_nestedwould have an error if the provided key was nested deeper than an existing terminal key - #479
- Fixed issue where state_handlerswere not called for certain signals - #494
# Breaking Changes
- Remove NoScheduleandDateScheduleschedule classes - #324
- Change serialize()method to use schemas rather than custom dict - #318
- Remove timestampproperty fromStateclasses - #305
- Remove the custom JSON encoder library at prefect.utilities.json- #336
- flow.parametersnow returns a set of parameters instead of a dictionary - #337
- Renamed to_dotdict->as_nested_dict- #339
- Moved prefect.utilities.collections.GraphQLResulttoprefect.utilities.graphql.GraphQLResult- #371
- SynchronousExecutornow does not do depth first execution for mapped tasks - #373
- Renamed prefect.utilities.serialization.JSONField->JSONCompatible, removed itsmax_sizefeature, and no longer automatically serialize payloads as strings - #376
- Renamed prefect.utilities.serialization.NestedField->Nested- #376
- Renamed prefect.utilities.serialization.NestedField.dump_fn->NestedField.value_selection_fnfor clarity - #377
- Local secrets are now pulled from secretsin context instead of_secrets- #382
- Remove Task and Flow descriptions, Flow project & version attributes - #383
- Changed Scheduleparameter fromon_or_aftertoafter- #396
- Environments are immutable and return dictkeys instead ofstr; some arguments forContainerEnvironmentare removed - #398
- environment.run()and- environment.build(); removed the- flowsCLI and replaced it with a top-level CLI command,- prefect run- #400
- The set_temporary_configutility now accepts a single dict of multiple config values, instead of just a key/value pair, and is located inutilities.configuration- #401
- Bump clickrequirement to 7.0, which changes underscores to hyphens at CLI - #409
- IntervalSchedulerejects intervals of less than one minute - #427
- FlowRunnerreturns a- Runningstate, not a- Pendingstate, when flows do not finish - #433
- Remove the task_contextsargument fromFlowRunner.run()- #440
- Remove the leading underscore from Prefect-set context keys - #446
- Removed throttling tasks within the local cluster - #470
- Even start_taskswill not run before their state'sstart_time(if the state isScheduled) - #474
- DaskExecutor's "processes" keyword argument was renamed "local_processes" - #477
- Removed the mappedandmap_indexkwargs fromTaskRunner.run(). These values are now inferred automatically - #485
- The upstream_statesdictionary used by the Runners only includesStatevalues, not lists ofStates. The use case that required lists ofStatesis now covered by theMappedstate. - #485
# 0.3.3 alpha
Released October 30, 2018
# Features
- Refactor FlowRunnerandTaskRunnerinto a modularRunnerpipelines - #260, #267
- Add configurable state_handlersforFlowRunners,Flows,TaskRunners, andTasks- #264, #267
- Add gmail and slack notification state handlers w/ tutorial - #274, #294
# Enhancements
- Add a new method flow.get_tasks()for easily filtering flow tasks by attribute - #242
- Add new JinjaTemplatefor easily rendering jinja templates - #200
- Add new PAUSEsignal for halting task execution - #246
- Add new Pausedstate corresponding toPAUSEsignal, and newpause_taskutility - #251
- Add ability to timeout task execution for all executors except DaskExecutor(processes=True)- #240
- Add explicit unit test to check Black formatting (Python 3.6+) - #261
- Add ability to set local secrets in user config file - #231, #274
- Add is_skipped()andis_scheduled()methods forStateobjects - #266, #278
- Adds now()as a defaultstart_timeforScheduledstates - #278
- Signalclasses now pass arguments to underlying- Stateobjects - #279
- Run counts are tracked via Retryingstates - #281
# Fixes
- Flow consistently raises if passed a parameter that doesn't exist - #149
# Breaking Changes
- Renamed scheduled_time->start_timeinScheduledstate objects - #278
- TaskRunner.check_for_retryno longer checks for- Retrystates without- start_timeset - #278
- Swapped the position of resultandmessageattributes in State initializations, and started storing caught exceptions as results - #283
# 0.3.2 alpha
Released October 2, 2018
# Features
- Local parallelism with DaskExecutor- #151, #186
- Resource throttling based on tags- #158, #186
- Task.mapfor mapping tasks - #186
- Added AirFlowutility for importing Airflow DAGs as Prefect Flows - #232
# Enhancements
- Use Netlify to deploy docs - #156
- Add changelog - #153
- Add ShellTask- #150
- Base Taskclass can now be run as a dummy task - #191
- New return_failedkeyword toflow.run()for returning failed tasks - #205
- some minor changes to flow.visualize()for visualizing mapped tasks and coloring nodes by state - #202
- Added new flow.replace()method for swapping out tasks within flows - #230
- Add debugkwarg toDaskExecutorfor optionally silencing dask logs - #209
- Update BokehRunnerfor visualizing mapped tasks - #220
- Env var configuration settings are typed - #204
- Implement mapfunctionality for theLocalExecutor- #233
# Fixes
- Fix issue with Versioneer not picking up git tags - #146
- DotDictscan have non-string keys - #193
- Fix unexpected behavior in assigning tags using contextmanagers - #190
- Fix bug in initialization of Flows with only edges- #225
- Remove "bottleneck" when creating pipelines of mapped tasks - #224
# Breaking Changes
- Runner refactor - #221
- Cleaned up signatures of TaskRunnermethods - #171
- Locally, Python 3.4 users can not run the more advanced parallel executors (DaskExecutor) #186
# 0.3.1 alpha
Released September 6, 2018
# Features
- Support for user configuration files - #195
# Enhancements
- None
# Fixes
# Breaking Changes
- None
# 0.3.0 alpha
Released August 20, 2018
# Features
- BokehRunner - #104, #128
- Control flow: ifelse,switch, andmerge- #92
- Set state from reference_tasks- #95, #137
- Add flow Registry- #90
- Output caching with various cache_validators- #84, #107
- Dask executor - #82, #86
- Automatic input caching for retries, manual-only triggers - #78
- Functional API for Flowdefinition
- Stateclasses
- Signalsto transmit- State
# Enhancements
- Add custom syntax highlighting to docs - #141
- Add bind()method for tasks to call without copying - #132
- Cache expensive flow graph methods - #125
- Docker environments - #71
- Automatic versioning via Versioneer - #70
- TriggerFailstate - #67
- State classes - #59
# Fixes
- None
# Breaking Changes
- None
This documentation was auto-generated from commit bd9182e 
 on July 31, 2024 at 18:02 UTC
 
 