Released on July 1, 2021.
Features
- Add objects for inspecting flows, flow runs, and task runs without writing queries - [4426](https://github.com/PrefectHQ/prefect/pull/4426)
- Rehaul `prefect run` CLI for executing flows locally and with agents - [4463](https://github.com/PrefectHQ/prefect/pull/4463)
- Add flow run tasks to simplify flow run result passing - [4563](https://github.com/PrefectHQ/prefect/pull/4563)
- Add agentless execution for flow runs - [4589](https://github.com/PrefectHQ/prefect/pull/4589)
- Add `prefect auth create-key` to create API keys - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- Add `prefect auth list-keys` to list API key metadata - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- Add `prefect auth revoke-key` to revoke an API key - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- Add `prefect auth status` command to see the state of your authentication - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
Enhancements
- Improve flow run documentation with new dedicated section - [4492](https://github.com/PrefectHQ/prefect/pull/4492)
- Update `Client` to support API keys - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- Add API key support to `prefect auth login/logout/switch-tenants` - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- API keys can be configured in the Prefect config - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- Change SendGrid `SendEmail` task to use secret value - [4669](https://github.com/PrefectHQ/prefect/pull/4669)
- Add `TenantView` for retrieval of tenant information - [4676](https://github.com/PrefectHQ/prefect/pull/4676)
- Add custom rbac documentation - [4696](https://github.com/PrefectHQ/prefect/pull/4696)
- Exit with non-zero status on flow run failure when watched - [4709](https://github.com/PrefectHQ/prefect/pull/4709)
- Display return code on local agent flow process failure - [4715](https://github.com/PrefectHQ/prefect/pull/4715)
Task Library
- Add `KafkaBatchConsume` and `KafkaBatchProduce` tasks - [4533](https://github.com/PrefectHQ/prefect/pull/4533)
Fixes
- Fix cleanup issue with `Git` storage on Windows - [4665](https://github.com/PrefectHQ/prefect/pull/4665)
- Pass API keys as tokens for compatibility when creating flow run environments - [4683](https://github.com/PrefectHQ/prefect/pull/4683)
- Fix missing event timestamp attribute errors in K8s agent - [4693](https://github.com/PrefectHQ/prefect/pull/4693)
- Fix backwards compatibility for flows without a `terminal_state_handler` - [4695](https://github.com/PrefectHQ/prefect/pull/4695)
- Raise a better exception when a task run result type is not set in `TaskRunView.get_result()` - [4708](https://github.com/PrefectHQ/prefect/pull/4708)
Deprecations
- Deprecate `prefect auth create-token` - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- Deprecate `prefect auth list-tokens` - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- Deprecate `prefect auth revoke-token` - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- Deprecate setting auth tokens in the Prefect config - [4643](https://github.com/PrefectHQ/prefect/pull/4643)
- `prefect.utilities.exceptions` has been deprecated in favor of `prefect.exceptions` - [4664](https://github.com/PrefectHQ/prefect/pull/4664)
Breaking Changes
- Remove deprecated `prefect.environment.storage` module
- Remove deprecated `DockerAgent` kwarg `network`
- Remove deprecated `kubernetes.ResourceManager` class
- Remove deprecated `prefect agent start/install <agent-type>` commands
- Remove deprecated `prefect agent local start` flag `--storage-labels`
- Remove deprecated `DroboxDownload` task kwarg `access_token_secret`
- Remove deprecated `GCS...` tasks kwarg `encryption_key_secret`
- Remove deprecated `prefect.tasks.google` module
- Remove deprecated `prefect.tasks.secret.Secret` class
- Remove deprecated `Scheduler` serializers for Prefect <0.6.0
- Remove deprecated `RunGreatExpectionsCheckpoint` task
- Remove deprecated `OneTimeSchedule` and `UnionSchedule` classes
- 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 `BaseException` to prevent accidental capture - [4664](https://github.com/PrefectHQ/prefect/pull/4664)
- `TaskTimeoutError` has been replaced with `TaskTimeoutSignal` - [4664](https://github.com/PrefectHQ/prefect/pull/4664)
- `VersionLockError` has been replaced with `VersionLockMismatchSignal` - [4664](https://github.com/PrefectHQ/prefect/pull/4664)
Contributors
- [Stéphan Taljaard](https://github.com/taljaards)
- [Tenzin Choedak](https://github.com/tchoedak)