Skip to content

Releases: PrefectHQ/prefect

Bug fixes and performance improvements

06 Nov 00:08
045dd3d
Compare
Choose a tag to compare

0.7.1

Released on Nov 5, 2019

Features

  • None

Enhancements

  • Add a save/load interface to Flows - #1685, #1695
  • Add option to specify aws_session_token for the FargateTaskEnvironment - #1688
  • Add EnvVarSecrets for 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/prefect image tagging convention - #1707

Deprecations

  • None

Breaking Changes

  • None

Contributors

  • None

To Affinity and Beyond

29 Oct 19:20
784b9d1
Compare
Choose a tag to compare

0.7.0

Released on October 29th, 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/prefect Docker 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
  • kubernetes is 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

Oh Six Seven

16 Oct 15:37
fbae334
Compare
Choose a tag to compare

Changelog

0.6.7

Released on Oct 16, 2019

Features

  • Environments now allow for optional on_start and on_exit callbacks - #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 Container and Docker Image tasks - #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 name for 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

Task Library

  • Add return_all kwarg to ShellTask for optionally returning all lines of stdout - #1598
  • Add CosmosDBCreateItem, CosmosDBReadItems, CosmosDBQueryItems and 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_id in 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

Wait for it...

03 Oct 21:58
25a52c5
Compare
Choose a tag to compare

0.6.6

Released on 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 Client to more gracefully handle failed login attempts on initialization - #1535
  • Replace DotDict with box.Box - #1518
  • Store cached_inputs on Failed states and call their result handlers if they were provided - #1557
  • raise_on_exception no longer raises for Prefect Signals, as these are typically intentional / for control flow - #1562
  • run cloud CLI command takes in optional --parameters as a file path pointing to a JSON file - #1582
  • Always consider Constant tasks successful and unpack them immediately instead of submitting them for execution - #1527

Task Library

  • Add BlobStorageDownload and BlobStorageUpload for 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

Agents of Environmental Change

20 Sep 01:06
b7107a2
Compare
Choose a tag to compare

Changelog

Released on September 19th, 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 RemoteEnvironment to utilize the get_flow storage 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_url attribute - #1525
  • Agents now log platform errors to flow runs which cannot deploy - #1528
  • Updating ShellTask to 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
  • DaskKubernetesEnvironment now allows for custom scheduler and worker specs - #1543, #1537

Task Library

  • None

Fixes

  • Fix map error by removing imagePullSecrets from Kubernetes Agent install if not provided - #1524
  • Fix issue with two INFO logs not being associated with the Task Run in Cloud - #1526
  • execute CLI command can now load custom environments off of the flow object - #1534

Deprecations

  • None

Breaking Changes

  • Update ShellTask to return only the last line of stdout, as a string - #1451

Contributors

I installed Docker on a Windows machine and all I got was this release

11 Sep 03:22
2ebf197
Compare
Choose a tag to compare

Changelog

Released on 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-url argument for Docker daemons to agent start CLI command - #1441
  • Add environment labels for organizing / tagging different Flow execution environments - #1438
  • Use -U option when installing prefect in Docker containers to override base image version - #1461
  • Remove restriction that prevented DotDict classes 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 DaskKubernetesEnvironment job template - #1458
  • Raise error on Agents started without an appropriate API token - #1459
  • Fix bug when calling as_nested_dict on DotDicts with an items key - #1462
  • Fix --resource-manager flag on agent install invalidating imagePullSecrets - #1469
  • Fix issue with user-written result handlers in Prefect Cloud preventing some states from being set - #1480

Deprecations

  • None

Breaking Changes

  • None

Contributors

Retry Release

31 Aug 00:41
158038a
Compare
Choose a tag to compare

0.6.3

Released August 30, 2019

Fixes

  • Fix issue with reduced mapped tasks not respecting retries - #1436

Onboards and Upwards

30 Aug 22:41
8f8432c
Compare
Choose a tag to compare

Changelog

0.6.2

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
  • Paused states subclass Scheduled and 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, and flow_run_id to context - #1405
  • Support persistent scheduled_start_time for scheduled flow runs when run locally with flow.run() - #1418, #1429
  • Add task_args to Task.map - #1390
  • Add auth flows for USER-scoped Cloud API tokens - #1423
  • Add AzureResultHandler for 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 SnowflakeQuery task 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 SynchronousExecutor as LocalDaskExecutor - #1434

Breaking Changes

  • Rename CloudEnvironment to DaskKubernetesEnvironment - #1250
  • Remove unused queue method from all executors - #1434

Contributors

Prefect Timing

08 Aug 15:21
d49dff1
Compare
Choose a tag to compare

Changelog

0.6.1

Released August 8, 2019

Features

  • Introduce new flows.checkpointing configuration setting for checkpointing Tasks in local execution - #1283
  • Introduce new, flexible Schedule objects - #1320

Enhancements

  • Allow passing of custom headers in Client calls - #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 BigQueryLoadGoogleCloudStorage task 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 BuildImage docker task not actually running to completion - #1243
  • Fix run --logs CLI command not exiting on flow run finished state - #1319

Deprecations

  • OneTimeSchedule and UnionSchedule are 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 add CLI command replaced with auth login - #1319

Cloud Ready

16 Jul 16:57
470a8f0
Compare
Choose a tag to compare

Changelog

0.6.0

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-flow CLI immediately set the flow run state to Failed if environment fails - #1122
  • Validate configuration objects on initial load - #1136
  • Add auto_generated property 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 cloud command - #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.update not 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-flow and prefect execute-cloud-flow no longer exist - #1059
  • The slack_notifier state handler now uses a webhook_secret kwarg to pull the URL from a Secret - #1075
  • Use GraphQL for Cloud logging - #1193
  • Remove the CloudResultHandler default result handler - #1198
  • Rename LocalStorage to Local - #1236

Contributors