Skip to content

release: 0.4.0#53

Open
stainless-app[bot] wants to merge 24 commits intomainfrom
release-please--branches--main--changes--next
Open

release: 0.4.0#53
stainless-app[bot] wants to merge 24 commits intomainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app Bot commented Mar 6, 2026

Automated Release PR

0.4.0 (2026-04-30)

Full Changelog: v0.3.0...v0.4.0

Features

  • internal: implement indices array format for query and form serialization (04ba964)
  • support setting headers via env (e773bb2)

Bug Fixes

  • client: preserve hardcoded query params when merging with user params (80f3981)
  • deps: bump minimum typing-extensions version (23ea212)
  • ensure file data are only sent as 1 parameter (721e574)
  • pydantic: do not pass by_alias unless set (b098b05)
  • sanitize endpoint path params (e385e21)
  • use correct field name format for multipart file arrays (a6664c3)

Performance Improvements

  • client: optimize file structure copying in multipart requests (43970d6)

Chores

  • ci: remove release-doctor workflow (5903593)
  • ci: skip lint on metadata-only changes (e11e58f)
  • ci: skip uploading artifacts on stainless-internal branches (e3ed836)
  • internal: more robust bootstrap script (a84687b)
  • internal: reformat pyproject.toml (84db3a8)
  • internal: tweak CI branches (1fc1ee4)
  • internal: update gitignore (97672af)
  • update placeholder string (3a623d4)

Documentation

Refactors

  • types: use extra_items from PEP 728 (de6e4e4)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions

@cursor
Copy link
Copy Markdown

cursor Bot commented Mar 6, 2026

PR Summary

Medium Risk
Medium risk because it changes core request construction/serialization (URL path interpolation, querystring array formats, multipart file extraction) which can alter how requests are encoded and sent to the API.

Overview
Bumps the SDK to v0.4.0 (manifest/pyproject/version/changelog), updates examples/tests, and raises the minimum typing-extensions requirement.

Improves request building and serialization: preserves hardcoded query params already present in options.url when merging with user params, adds DEDALUS_CUSTOM_HEADERS env support for default headers, and implements indices array formatting in querystring serialization.

Hardens and optimizes parameter handling for uploads and paths: replaces deepcopy_minimal with a new deepcopy_with_paths to copy only containers along file-extraction paths, extends extract_files to control multipart field names via array_format (including indices/repeat), and adds path_template() to safely interpolate/percent-encode path params while rejecting dot-segment traversal.

CI is adjusted to skip lint/build on metadata-only commits, avoid artifact upload on internal stl/* branches, tweak branch filters, and removes the release-doctor workflow.

Reviewed by Cursor Bugbot for commit 8bf218c. Bugbot is set up for automated code reviews on this repo. Configure here.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: Minimum typing-extensions version too low for extra_items
    • Updated the package dependency constraint to typing-extensions>=4.13 so TypedDict(extra_items=...) is supported at import time.

Create PR

Or push these changes by commenting:

@cursor push 4d33f509c1
Preview (4d33f509c1)
diff --git a/pyproject.toml b/pyproject.toml
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -11,7 +11,7 @@
 dependencies = [
   "httpx>=0.23.0, <1",
   "pydantic>=1.9.0, <3",
-  "typing-extensions>=4.10, <5",
+  "typing-extensions>=4.13, <5",
   "anyio>=3.5.0, <5",
   "distro>=1.7.0, <2",
   "sniffio",

Comment thread src/dedalus_labs/types/shared_params/reasoning.py
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from b40181c to db00e7a Compare March 7, 2026 12:56
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app Bot commented Mar 7, 2026

🧪 Testing

To try out this version of the SDK:

pip install 'https://pkg.stainless.com/s/dedalus-sdk-python/84db3a8481a68a4e26b7694578e5c77f76d21972/dedalus_labs-0.3.0-py3-none-any.whl'

Expires at: Sat, 30 May 2026 21:00:58 GMT
Updated at: Thu, 30 Apr 2026 21:00:58 GMT

@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from db00e7a to e3f484a Compare March 7, 2026 13:17
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from e3f484a to 14149b0 Compare March 16, 2026 17:35
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 14149b0 to fa5441e Compare March 16, 2026 19:04
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from fa5441e to 73aba21 Compare March 16, 2026 20:49
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 73aba21 to ffeed0c Compare March 19, 2026 15:39
stainless-app Bot added 2 commits March 23, 2026 12:40
Note that we still want to run tests, as these depend on the metadata.
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from ffeed0c to 6ebd591 Compare March 24, 2026 15:19
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 6ebd591 to 8e8f7a0 Compare March 26, 2026 19:26
@stainless-app stainless-app Bot changed the title release: 0.3.1 release: 0.4.0 Mar 26, 2026
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 8e8f7a0 to cb3d817 Compare March 26, 2026 19:26
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from cb3d817 to d9a10c4 Compare April 7, 2026 16:12
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from d9a10c4 to 9100b7b Compare April 10, 2026 14:57
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 9100b7b to 3d3d908 Compare April 10, 2026 21:47
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 3d3d908 to d079b85 Compare April 14, 2026 19:28
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from d079b85 to d4d80f1 Compare April 17, 2026 17:37
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from d4d80f1 to 2cddac3 Compare April 22, 2026 13:55
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 2cddac3 to 08885a4 Compare April 22, 2026 17:49
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 08885a4 to 5f90f06 Compare April 27, 2026 15:03
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 5f90f06 to 2455764 Compare April 27, 2026 22:32
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 2455764 to 5645e84 Compare April 29, 2026 18:19
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 5645e84 to 6ed44c1 Compare April 30, 2026 16:28
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 6ed44c1 to 8bf218c Compare April 30, 2026 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants