Skip to content

Commit

Permalink
Merge branch 'PrefectHQ:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
50Bytes-dev committed May 14, 2024
2 parents 41a72d8 + 8454a1c commit 5588eed
Show file tree
Hide file tree
Showing 131 changed files with 6,305 additions and 3,195 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/benchmarks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,11 @@ jobs:
uniquename="$HEAD_REF"
fi
# Allow alphanumeric, underscores, and dashes, and replace other
# characters with an underscore
sanitized_uniquename="${uniquename//[^a-zA-Z0-9_\-]/_}"
PREFECT_API_URL="http://127.0.0.1:4200/api"
python benches \
--benchmark-save="${uniquename//\//_}" \
--benchmark-save="${sanitized_uniquename}" \
${{ steps.bench-cache.outputs.cache-hit && '--benchmark-compare' || '' }}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Get previous tag
id: get-previous-tag
run: echo "tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
run: echo "tag=$(git tag --list '[0-9]*' --sort=-version:refname | grep -v '2.82' | head -n 2 | tail -n 1)" >> $GITHUB_OUTPUT

- name: Push tags for changed integrations
env:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/integration-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
- "2.16"
- "2.17"
- "2.18"
- "2.19"

# We can include the following to always test against the last release
# but the value is not particularly clear and we can just append the
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/validate_worker_metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
branches:
- main
paths:
- 'src/prefect/server/api/collections_data/views/*.json'
- "src/prefect/server/api/collections_data/views/*.json"
jobs:
submit-update-pr:
name: Run JSON schema validation against all views
Expand All @@ -21,8 +21,8 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install fastjsonschema
python -m pip install fastjsonschema==2.19.1
- name: Run JSON schema validation
run: |
python scripts/validate_collection_view_content.py
python scripts/validate_collection_view_content.py
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,5 @@ prefect.yaml
libcairo.2.dylib

# setuptools-scm generated files
src/integrations/*/**/_version.py
src/integrations/*/**/_version.py
*.log
116 changes: 116 additions & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,121 @@
# Prefect Release Notes

## Release 2.19.0

### Support for major infrastructure and distributed task integrations
As `prefect-dask` and other integrations have been added to the `prefect` codebase, this release adds these integrations as `extra` requirements of the `prefect` package, making it easier to install support for everything in your Prefect stack.

```bash
pip install prefect[dask]
```

We loved this community contribution so much, we did it for all our first-party integrations.

```bash
pip install prefect[aws,kubernetes,dask,dbt,sqlalchemy,slack]
```

You can see the full list of Prefect's `extra` requirements in [our `setup.py`](https://github.com/PrefectHQ/prefect/blob/main/setup.py#L43).

See the following pull requests for implementation details:
- https://github.com/PrefectHQ/prefect/pull/13289
- https://github.com/PrefectHQ/prefect/pull/13310
- https://github.com/PrefectHQ/prefect/pull/13320

### Support for timeout seconds in global concurrency context manager
You may want to fail immediately if a global concurrency slot is unavailable. Rather than block and wait, you can now specify a `timeout_seconds` argument in the global concurrency context manager and catch a `TimeoutError` if a slot is not available within the specified time.

```python
@flow
def fail_immediately_flow():
try:
with concurrency("there-can-be-only-one", occupy=1, timeout_seconds=0.1):
do_something_resource_intensive()
except TimeoutError:
return Cancelled(message="Another flow run is already running")
```

See the following pull request for implementation details:
- https://github.com/PrefectHQ/prefect/pull/13262

### Manage global concurrency limits via the CLI
Global concurrency limits let you control how many operations can run simultaneously-- now you can create, read, edit, and delete global concurrency limits via the Prefect CLI!

To create a new concurrency limit, use the `prefect gcl create` command. You must specify a `--limit` argument, and can optionally specify a `--slot-decay-per-second` and `--disable` argument.

```bash
prefect gcl create my-concurrency-limit --limit 5 --slot-decay-per-second 1.0
```

You can inspect the details of a concurrency limit using the `prefect gcl inspect` command:

```bash
prefect gcl inspect my-concurrency-limit
```

To update a concurrency limit, use the `prefect gcl update` command. You can update the `--limit`, `--slot-decay-per-second`, `--enable`, and `--disable` arguments:

```bash
prefect gcl update my-concurrency-limit --limit 10
```

See all available commands and options by running `prefect gcl --help` or read our [docs](/docs/guides/global-concurrency-limits.md#managing-global-concurrency-limits-and-rate-limits).

For implementation details, see the following pull requests:
- https://github.com/PrefectHQ/prefect/pull/13194
- https://github.com/PrefectHQ/prefect/pull/13196
- https://github.com/PrefectHQ/prefect/pull/13214
- https://github.com/PrefectHQ/prefect/pull/13218
- https://github.com/PrefectHQ/prefect/pull/13233
- https://github.com/PrefectHQ/prefect/pull/13238

### Enhancements
- Remove registry conflict warning — https://github.com/PrefectHQ/prefect/pull/13155
- Remove top-level Artifacts tab from Prefect UI:
- https://github.com/PrefectHQ/prefect/pull/13226
- https://github.com/PrefectHQ/prefect/pull/13261

### Fixes
- Fix work pool base job template generation for `ECSTask` block — https://github.com/PrefectHQ/prefect/pull/13256
- Fix selecting correct files when using ignore file in `GcsBucket`'s `put_directory`https://github.com/PrefectHQ/prefect/pull/13290
- Add `Resuming` flow runs to `BypassCancellingFlowRunsWithNoInfra` orchestration policy — https://github.com/PrefectHQ/prefect/pull/13299
- Fix `apprise 1.8.0` imports — https://github.com/PrefectHQ/prefect/pull/13311
- Remove `dataclass` from custom constrained types - https://github.com/PrefectHQ/prefect/pull/13257

### Experimental
#### Engine
- Add crash detection for flow runs — https://github.com/PrefectHQ/prefect/pull/13266
- Consolidate run creation logic on Task — https://github.com/PrefectHQ/prefect/pull/13271
- Skip timeout context if not needed — https://github.com/PrefectHQ/prefect/pull/13306
- Add parent task tracking — https://github.com/PrefectHQ/prefect/pull/12915
- Syncify task engine — https://github.com/PrefectHQ/prefect/pull/13234
- Syncify flow engine — https://github.com/PrefectHQ/prefect/pull/13246
- Use Prefect-specific `TestClient` for sync calls — https://github.com/PrefectHQ/prefect/pull/13265
- Add new sync compatibility setting — https://github.com/PrefectHQ/prefect/pull/13224

#### Deployment Schedule Behavior
- Add new fields to `DeploymentSchedule` schemas — https://github.com/PrefectHQ/prefect/pull/13204
- Allow both `active` and `schedule` parameters in `update_deployment_schedule` method — https://github.com/PrefectHQ/prefect/pull/13259
- Update JSON schema validation for job varariables — https://github.com/PrefectHQ/prefect/pull/13182

### Documentation
- Update block concept page to reflect product updates — https://github.com/PrefectHQ/prefect/pull/13193
- Update example repo links to `prefecthq` repos — https://github.com/PrefectHQ/prefect/pull/13258
- Update storage guide — https://github.com/PrefectHQ/prefect/pull/13294
- Update integration libraries — https://github.com/PrefectHQ/prefect/pull/13277
- Update `Hosting a Prefect server instance` page — https://github.com/PrefectHQ/prefect/pull/13225
- Simplify `prefect-aws` and `prefect-dbt` docs index pages — https://github.com/PrefectHQ/prefect/pull/13232
- Expand discussion of resolution order for cloud-provider service auth — https://github.com/PrefectHQ/prefect/pull/13239
- Fix repo url typo in storage guide — https://github.com/PrefectHQ/prefect/pull/13304

### Integrations
- Add pre-built Prefect DBT tasks — https://github.com/PrefectHQ/prefect/pull/12964

### Contributors
- @Andrew-S-Rosen

**All changes**: https://github.com/PrefectHQ/prefect/compare/2.18.3...2.19.0

## Release 2.18.3

### Experimental
Expand Down

0 comments on commit 5588eed

Please sign in to comment.