From 8517b0408ff0359f7b220cf67c90b08d7536bca0 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 10 Jul 2026 20:45:40 +0000 Subject: [PATCH 1/2] Python(chore): v0.19.0 release prep Bump version to 0.19.0 and update the changelog for the PRs merged since v0.18.0: ABAC attributes (#646), get_data cache improvements (#650), pytest docstring cleaning (#658), ULog data imports (#663), access control API grouping (#666), report templates (#672), download_file extra headers (#677), and the get_data pagination fix plus progress bars (#678). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Y5U49rrpvQm5bPbvEjR4xr --- python/CHANGELOG.md | 22 +++++++++++++++++++++- python/pyproject.toml | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/python/CHANGELOG.md b/python/CHANGELOG.md index 9f3e10c4b..7e2df1434 100644 --- a/python/CHANGELOG.md +++ b/python/CHANGELOG.md @@ -5,11 +5,13 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [v0.19.0] - July 10, 2026 + ### What's New #### Faster `get_data` pagination -Up to a ~80x speedup for some get_data calls. +Up to a ~80x speedup for some `get_data` calls. `get_data` now also displays a progress bar while paging through results. #### Shared on-disk cache (opt-out, on by default) @@ -126,6 +128,24 @@ users = client.users.list_(name_contains="@example.com") ids = client.users.resolve_ids(["alice@example.com", "bob@example.com"]) ``` +#### Extra headers on file downloads + +`download_file` now accepts an optional `extra_headers` argument that is merged onto the request. This supports presigned URLs whose signature covers a specific `Host` header that differs from the URL's netloc, such as an S3 endpoint reached through a container-internal alias. + +### Bugfixes +- Fix `get_data` pagination returning incorrect results in some windows. ([#678](https://github.com/sift-stack/sift/pull/678)) +- Strip docstrings captured by the pytest plugin so they no longer leak into report step names and descriptions. ([#658](https://github.com/sift-stack/sift/pull/658)) + +### Full Changelog +- [Add ABAC resource and principal attributes](https://github.com/sift-stack/sift/pull/646) +- [Get data cache improvements](https://github.com/sift-stack/sift/pull/650) +- [Clean docstrings captured in pytest](https://github.com/sift-stack/sift/pull/658) +- [ULog data imports](https://github.com/sift-stack/sift/pull/663) +- [Group access control APIs under client.access_control](https://github.com/sift-stack/sift/pull/666) +- [Report templates API resource](https://github.com/sift-stack/sift/pull/672) +- [Let download_file forward extra headers to rest_client.get](https://github.com/sift-stack/sift/pull/677) +- [Fix get_data pagination and add progress bars](https://github.com/sift-stack/sift/pull/678) + ## [v0.18.0] - June 19, 2026 This release is a major overhaul of the pytest plugin. One import enables it, with a hierarchical report tree, offline and disabled run modes, pass/fail and abort handling that rolls up correctly, a terminal report summary, project-level configuration, and an audit log for diagnosing field failures. diff --git a/python/pyproject.toml b/python/pyproject.toml index ed45037b0..eb88224bb 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "sift_stack_py" -version = "0.18.0" +version = "0.19.0" description = "Python client library for the Sift API" requires-python = ">=3.8" readme = { file = "README.md", content-type = "text/markdown" } From fc22634c66ab4b8bfd827b8507cd81262aa252ab Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 11 Jul 2026 00:32:34 +0000 Subject: [PATCH 2/2] Python(chore): sync uv.lock to 0.19.0 and drop internal changenote Update the project version pin in uv.lock to 0.19.0 so uv lock --check passes. Remove the download_file extra_headers note from the changelog since that change is internal (_internal/util/file.py). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Y5U49rrpvQm5bPbvEjR4xr --- python/CHANGELOG.md | 4 ---- python/uv.lock | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/python/CHANGELOG.md b/python/CHANGELOG.md index 7e2df1434..10c2ff71e 100644 --- a/python/CHANGELOG.md +++ b/python/CHANGELOG.md @@ -128,10 +128,6 @@ users = client.users.list_(name_contains="@example.com") ids = client.users.resolve_ids(["alice@example.com", "bob@example.com"]) ``` -#### Extra headers on file downloads - -`download_file` now accepts an optional `extra_headers` argument that is merged onto the request. This supports presigned URLs whose signature covers a specific `Host` header that differs from the URL's netloc, such as an S3 endpoint reached through a container-internal alias. - ### Bugfixes - Fix `get_data` pagination returning incorrect results in some windows. ([#678](https://github.com/sift-stack/sift/pull/678)) - Strip docstrings captured by the pytest plugin so they no longer leak into report step names and descriptions. ([#658](https://github.com/sift-stack/sift/pull/658)) diff --git a/python/uv.lock b/python/uv.lock index 0fafe266d..24d8ec59f 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -4353,7 +4353,7 @@ wheels = [ [[package]] name = "sift-stack-py" -version = "0.18.0" +version = "0.19.0" source = { editable = "." } dependencies = [ { name = "alive-progress", version = "3.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },