mirror of
https://github.com/Comfy-Org/comfy-python-sdk.git
synced 2026-11-04 23:37:47 +00:00
[PR #144] [MERGED] docs(changelog): cut 0.2.0 #144
Labels
No labels
audit:ai-readiness
audit:community
audit:github
audit:health-scoring
audit:policy
audit:release
audit:supply-chain
effort:medium
effort:small
effort:small
effort:trivial
priority:nice-to-have
priority:nice-to-have
priority:recommended
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/comfy-python-sdk#144
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/comfy-python-sdk/pull/144
Author: @mattmillerai
Created: 9/10/2026
Status: ✅ Merged
Merged: 9/10/2026
Merged by: @mattmillerai
Base:
main← Head:matt/release-0.2.0📝 Commits (1)
9bd1c8edocs(changelog): cut 0.2.0📊 Changes
1 file changed (+3 additions, -0 deletions)
View changed files
📝
CHANGELOG.md(+3 -0)📄 Description
ELI-5
This moves everything under
## [Unreleased]in the changelog under a## [0.2.0] - 2026-09-10heading, so the next GitHub Release (tagv0.2.0) has a matching changelog section. Nothing else changes: the version is injected from the tag at publish time, sopyproject.tomlstays a placeholder per CONTRIBUTING.md.#141 has merged, so this is the one-commit cut on top of
main.What ships in 0.2.0
Asset.get_download_url()/AsyncAsset.get_download_url()(#142)ApiError.body_excerpt, shown bystr()at both layers (#141)http_<status>instead of"error"(#141)Why 0.2.0 rather than 0.1.10
The
.codestring for an unrecognised error changes, and it keeps the two SDKs in lockstep with the TypeScript 0.2.0 cut. Edit the heading in this PR if 0.1.10 is preferred.Draft release notes for
v0.2.0Release notes (paste into the GitHub Release)
Uploaded assets get a directly-fetchable URL, and an error answered by something in front of the service now says so — and keeps the one line that explains it.
Highlights
Asset.get_download_url()/AsyncAsset.get_download_url(). A directly-fetchable URL for an uploaded asset's bytes, mirroringOutput.get_download_url()(sameDownloadUrl, commits the asset first if needed). On Comfy Cloud it is a short-lived signed URL any fetcher can read untilexpires_at, which is what lets a local image be passed to a URL-taking image-to-image model viaclient.models.run(): upload the file as an asset, resolve its URL, put the URL in the model's input. The README's "Image to image — upload an asset first" section walks through the flow.An error nothing in the stack recognised names its status. Such a response now carries
.code == "http_<status>"(http_503,http_500) instead of"error". It is reached only after the envelope's owncode, Router's error bucket and the status table have all declined, so a bare401still maps toUnauthorizedand every documented code is untouched. Read it as answered by something in front of Router rather than by the service itself, so no service verdict was reached; retry per your own policy — nothing about what the SDK retries changed.The body that explains a bare
503is kept. A load balancer'sno healthy upstreamorupstream connect error or disconnect/reset before headersarrives as plain text with no JSON and no request id, and used to be discarded with the response. It is now oncomfy_low.errors.ApiError.body_excerpt, andstr()of the exception you catch — at both the protocol and the SDK layer — readsHTTP 503: no healthy upstream. The excerpt is one line, capped at 256 characters, with control, bidi and zero-width characters replaced, and it isNonewhenever the response stated a message of its own.Upgrading
Additive except for one string: code that matched the literal
"error"on an unrecognisedComfyErrorshould matchcode.startswith("http_")instead.Full detail in CHANGELOG.md.
Not in this release
do-not-mergeuntil the router queue routes are deployed to cloud.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.