Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions python/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,24 @@ This project adheres to [Semantic Versioning](http://semver.org/).

<!-- towncrier release notes start -->

## [v0.25.0] - October 26, 2026

### Features

- `detect_config` and `import_from_path` detect flat dataset Parquet configs on the client, so wide Parquet files no longer fail detection with `RESOURCE_EXHAUSTED` when their footer exceeds the server's 20 MiB request limit. ([#819](https://github.com/sift-stack/sift/pull/819))

Flat dataset Parquet detection now requires pyarrow. Install it with `pip install sift-stack-py[parquet]`. The `file-imports` extra includes it.

`detect_config` and `import_from_path` also accept `relative_start_time`, so files with a relative time format can be detected and imported without editing the config.
- Added `metrics_streaming_interval` and `rate_limit_policy` to `create_ingestion_config_streaming_client` and `create_auto_register_streaming_client`.

`metrics_streaming_interval` takes a `timedelta` and defaults to 500 ms. Pass `None` to disable metrics streaming. `rate_limit_policy` takes a `RateLimitPolicyPy` from `sift_stream_bindings` and controls how rate-limited control-plane calls, such as stream setup, `attach_run`, and flow registration, are handled. By default, the stream waits the delay Sift requests before retrying. When a rate limit is not retried, or the retries run out, these calls raise `RateLimitedErrorPy`, and `retry_delay.to_timedelta()` returns the delay Sift requested. This release requires `sift-stream-bindings` 0.6.1.

### Fixes

- Removed the `pyOpenSSL` dependency. `cert_via_openssl` now converts certificates with the standard library `ssl` module, so the `openssl` extra is no longer needed and is removed. The extra capped `cryptography` below 42, which kept installs on a release with known vulnerabilities. ([#855](https://github.com/sift-stack/sift/pull/855))
- Raised the `filelock` upper bound to `<5`, so Python 3.11+ installs resolve `filelock` 4.2.1 or later, which fixes GHSA-v4x8-3wr5-3wq8, GHSA-9vhv-jxww-xfm5, and GHSA-567q-5qvw-pf92. ([#855](https://github.com/sift-stack/sift/pull/855))

## [v0.24.0] - October 20, 2026

### Features
Expand Down
3 changes: 0 additions & 3 deletions python/changelog.d/+stream-metrics-rate-limit-options.feat.md

This file was deleted.

5 changes: 0 additions & 5 deletions python/changelog.d/819.feat.md

This file was deleted.

1 change: 0 additions & 1 deletion python/changelog.d/855.fix.1.md

This file was deleted.

1 change: 0 additions & 1 deletion python/changelog.d/855.fix.md

This file was deleted.

2 changes: 1 addition & 1 deletion python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "sift_stack_py"
version = "0.24.0"
version = "0.25.0"
description = "Python client library for the Sift API"
requires-python = ">=3.8"
readme = { file = "README.md", content-type = "text/markdown" }
Expand Down
2 changes: 1 addition & 1 deletion python/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading