-
Notifications
You must be signed in to change notification settings - Fork 0
release: 0.3.0 #62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release: 0.3.0 #62
Conversation
d3f5c78
to
a422668
Compare
fix(client): mark some request bodies as optional
ff627d5
to
a62be8a
Compare
6985159
to
f29b9ba
Compare
39d2ed1
to
ce1db49
Compare
58dd175
to
cfce519
Compare
de9d0a6
to
65a92c5
Compare
50d705f
to
69a6bde
Compare
b801518
to
317e72c
Compare
3fbc0c4
to
5166c0c
Compare
9c48f65
to
a8f27cc
Compare
80bd9c4
to
64be852
Compare
7a46a41
to
e2efe2b
Compare
7116bc9
to
2a3ae1d
Compare
d7fd4f7
to
fc6ffe9
Compare
1dbb303
to
72320f5
Compare
🧪 Testing To try out this version of the SDK, run:
Last updated: Fri, 06 Jun 2025 08:20:00 GMT |
dbe3666
to
72320f5
Compare
9cc6637
to
640479a
Compare
Note: this release PR has been open for more than 60 days. Until this PR is merged, we will temporarily stop pushing codegen updates due to changes to Stainless' codegen. |
🤖 Release is at https://github.com/gitpod-io/gitpod-sdk-python/releases/tag/v0.3.0 🌻 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Automated release to version 0.3.0 with support for redirect control, retry loop refactoring, new resources, and CI/docs updates
- Bump package to 0.3.0 and update project metadata, changelogs, and CI workflows
- Add
follow_redirects
option in request types and wire it through HTTP client - Refactor retry logic into an iterative loop and add new
gateways
andusage
resources
Reviewed Changes
Copilot reviewed 205 out of 205 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
src/gitpod/_utils/_proxy.py | Wraps __get_proxied__ in broad try/except to fall back when proxy is unavailable |
src/gitpod/_types.py | Introduces follow_redirects in RequestOptions and HttpxSendArgs |
src/gitpod/_response.py | Changes JSON check to endswith("json") for broader content‐type matching |
src/gitpod/_base_client.py | Removes deprecated args, adds follow_redirects , refactors recursive retry to loop |
scripts/utils/upload-artifact.sh | New script for uploading build artifacts |
CI & configs (pyproject.toml, workflows, docs, etc.) | Version bumps, URL updates, CI timeouts, Dockerfile tweaks, README examples |
Comments suppressed due to low confidence (2)
src/gitpod/_types.py:103
- The new
follow_redirects
option is added but there are no tests verifying its behavior. Consider adding unit tests to cover both enabling and disabling redirects.
follow_redirects: bool
src/gitpod/_base_client.py:963
- The
follow_redirects
feature is wired into the client but not documented in public docstrings or the README. Please update documentation to explain this new option.
if options.follow_redirects is not None:
proxied = self.__get_proxied__() | ||
try: | ||
proxied = self.__get_proxied__() | ||
except Exception: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Catching all Exception
may hide unexpected errors in __get_proxied__
. Consider narrowing this to specific exceptions (e.g. AttributeError
) to avoid masking real bugs.
except Exception: | |
except AttributeError: |
Copilot uses AI. Check for mistakes.
@@ -255,7 +255,7 @@ def _parse(self, *, to: type[_T] | None = None) -> R | _T: | |||
# split is required to handle cases where additional information is included | |||
# in the response, e.g. application/json; charset=utf-8 | |||
content_type, *_ = response.headers.get("content-type", "*").split(";") | |||
if content_type != "application/json": | |||
if not content_type.endswith("json"): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The endswith("json")
check is case-sensitive and could miss headers in uppercase or mixed case (e.g., "application/JSON"). Normalize with content_type.lower().endswith("json")
.
if not content_type.endswith("json"): | |
if not content_type.lower().endswith("json"): |
Copilot uses AI. Check for mistakes.
exit 1 | ||
fi | ||
|
||
UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] This command compresses the entire repository, including .git
. Consider restricting tar
to only the build artifact directory to reduce upload size and time.
UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \ | |
BUILD_DIR="build" | |
UPLOAD_RESPONSE=$(tar -cz "$BUILD_DIR" | curl -v -X PUT \ |
Copilot uses AI. Check for mistakes.
Automated Release PR
0.3.0 (2025-06-06)
Full Changelog: v0.2.1...v0.3.0
Features
NotGiven
for body (#63) (a62be8a)Bug Fixes
Chores
Documentation
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