release: 0.39.0#94
Conversation
|
🧪 Testing To try out this version of the SDK: Expires at: Sun, 07 Jun 2026 18:32:34 GMT |
🐤 Canary SummaryThis is an automated release PR with no UI/UX changes:
|
🐤 Canary Proposed TestsNo testable user journeys found for this PR. |
Confidence Score: 5/5 - Safe to MergeSafe to merge — this appears to be a standard release bump to version 0.38.1 with no identified logic, security, or correctness issues surfaced during review. The automated analysis found zero critical, significant, or medium-severity issues across the reviewed files. While only 4 of 13 changed files received coverage, the absence of any flagged concerns and the nature of a patch release (typically containing minor fixes or version metadata updates) supports a clean merge. Key Findings:
|
dcbda64 to
7fde307
Compare
7fde307 to
983f201
Compare
EntelligenceAI PR SummaryRelease v0.39.0 adds three new integration providers (Granola, Fathom, Linear), refactors tooling (npm auth, linting/formatting pipeline), and delivers several API schema enhancements.
Confidence Score: 3/5 - Review RecommendedLikely safe but review recommended — This PR successfully adds three new integration providers (Granola, Fathom, Linear) across the schema type files and refactors the Key Findings:
Files requiring special attention
|
983f201 to
8dead0f
Compare
8dead0f to
c890ae3
Compare
c890ae3 to
63c35fd
Compare
63c35fd to
479c910
Compare
479c910 to
f6c43d6
Compare
f6c43d6 to
6f3fbdd
Compare
6f3fbdd to
7e1e1c1
Compare
7e1e1c1 to
705d4a6
Compare
d8c94c6 to
4995c0a
Compare
4995c0a to
375e8a5
Compare
375e8a5 to
8d58fcd
Compare
8d58fcd to
e18bc55
Compare
e18bc55 to
f0498f8
Compare
f0498f8 to
9c89038
Compare
9c89038 to
c9af6e9
Compare
c9af6e9 to
46188f1
Compare
46188f1 to
b9777ce
Compare
b9777ce to
5e41d76
Compare
5e41d76 to
bd4ac3c
Compare
bd4ac3c to
3de92dd
Compare
| if (colon >= 0) { | ||
| parsed[line.substring(0, colon).trim()] = line.substring(colon + 1).trim(); |
There was a problem hiding this comment.
colon === 0 (e.g. a line like : value), line.substring(0, 0).trim() is "", so an empty-string key is written into parsed and forwarded as a header. The guard should be colon > 0 to skip lines with no header name.
🤖 AI Agent Prompt for Cursor/Windsurf
📋 Copy this prompt to your AI coding assistant (Cursor, Windsurf, etc.) to get help fixing this issue
In src/client.ts at line 236, change `if (colon >= 0)` to `if (colon > 0)`. The current condition allows `colon === 0`, which means a line starting with `:` produces an empty-string header name (`line.substring(0, 0).trim() === ""`). This is an invalid HTTP header name. Changing to `colon > 0` skips such lines.
3de92dd to
f8182ef
Compare
f8182ef to
9ea9d7d
Compare
| echo "$PRETTIER_FILES" | xargs ./node_modules/.bin/prettier \ | ||
| --write --cache --cache-strategy metadata --no-error-on-unmatched-pattern \ | ||
| '!**/dist' '!**/*.ts' '!**/*.mts' '!**/*.cts' '!**/*.js' '!**/*.mjs' '!**/*.cjs' | ||
| if ! [ -z "$FILE_LIST" ]; then |
There was a problem hiding this comment.
$FILE_LIST holds a file path (e.g. /tmp/changed.txt), which is always a non-empty string after the validation at line 22, so this guard is always true. When FILE_LIST contains zero lines, cat "$FILE_LIST" | xargs prettier invokes prettier with no file arguments; GNU xargs runs the command once on empty stdin (without -r), causing prettier to block waiting on stdin. The eslint section correctly guards on the filtered content ($ESLINT_FILES), not the path variable.
🤖 AI Agent Prompt for Cursor/Windsurf
📋 Copy this prompt to your AI coding assistant (Cursor, Windsurf, etc.) to get help fixing this issue
In `scripts/fast-format`, line 34, the guard `if ! [ -z "$FILE_LIST" ]` incorrectly checks whether the variable holding the file path is non-empty (always true) instead of whether the file has any content. Change line 34 from:
if ! [ -z "$FILE_LIST" ]; then
to:
if [ -s "$FILE_LIST" ]; then
This mirrors how the eslint section avoids running the tool when there are no files to process, and prevents prettier from being invoked with no file arguments (which causes it to hang reading from stdin).
Automated Release PR
0.39.0 (2026-05-08)
Full Changelog: v0.38.0...v0.39.0
Features
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