Skip to content

Stable 3.0#206

Merged
DavyJohnes merged 159 commits intomasterfrom
beta
Apr 16, 2026
Merged

Stable 3.0#206
DavyJohnes merged 159 commits intomasterfrom
beta

Conversation

@DavyJohnes
Copy link
Copy Markdown
Contributor

No description provided.

GermanVor and others added 30 commits October 10, 2024 14:18
BREAKING CHANGE: new services paths
Generate-code and big models update
# [3.0.0-alpha.1](v2.7.7...v3.0.0-alpha.1) (2024-10-14)

### Features

* generate-code and big models update ([4cc0985](4cc0985))

### BREAKING CHANGES

* new services paths
feat: fake change to produce new release
# [3.0.0-alpha.2](v3.0.0-alpha.1...v3.0.0-alpha.2) (2024-10-14)

### Features

* fake change to produce new release ([b847ce2](b847ce2))
# [3.0.0-alpha.3](v3.0.0-alpha.2...v3.0.0-alpha.3) (2024-11-12)

### Features

* services ([14dd9c9](14dd9c9))
# [3.0.0-alpha.4](v3.0.0-alpha.3...v3.0.0-alpha.4) (2024-11-21)

### Features

* release 3.0.0-alpha.4 ([e82bf87](e82bf87))
nikolaymatrosov and others added 3 commits October 15, 2025 18:40
fix: update TTS service endpoint in service-endpoints-map.json
# [3.0.0-beta.2](v3.0.0-beta.1...v3.0.0-beta.2) (2026-04-15)

### Bug Fixes

* update TTS service endpoint in service-endpoints-map.json ([575a947](575a947))
Comment thread scripts/detect_services/index.ts Fixed

const command = commandArgs.join(' ');

return exec(command);
Comment thread scripts/generate_services/index.ts Fixed
DavyJohnes and others added 23 commits April 15, 2026 16:07
# Conflicts:
#	README.md
#	examples/ai-translate.ts
#	examples/compute-instance-create.ts
#	examples/functions.ts
#	examples/iot-data.ts
#	examples/kms.ts
#	examples/resourcemanager-cloud-list.ts
#	examples/storage.ts
#	examples/stream-stt/index.ts
#	package-lock.json
#	package.json
#	src/service-endpoints.ts
# [3.0.0-beta.3](v3.0.0-beta.2...v3.0.0-beta.3) (2026-04-15)

### Bug Fixes

* add missing endpoints ([24c1c48](24c1c48))
* **deps:** bump axios from 1.13.5 to 1.15.0 ([b348d60](b348d60))
* **deps:** bump axios from 1.8.2 to 1.13.5 ([441b73d](441b73d))
* **deps:** bump follow-redirects from 1.15.11 to 1.16.0 ([0e2329e](0e2329e))
* **deps:** bump form-data from 3.0.1 to 3.0.4 ([e1f85a8](e1f85a8))
* **deps:** bump handlebars from 4.7.7 to 4.7.9 ([15f286c](15f286c))
* **deps:** bump js-yaml ([c1ae396](c1ae396))
* **deps:** bump jws from 3.2.2 to 3.2.3 ([9f392e3](9f392e3))
* **deps:** bump lodash from 4.17.21 to 4.17.23 ([20d84bb](20d84bb))
* **deps:** bump lodash from 4.17.23 to 4.18.1 ([632db15](632db15))
* **deps:** bump lodash-es from 4.17.21 to 4.17.23 ([b20c21e](b20c21e))
* **deps:** bump lodash-es from 4.17.23 to 4.18.1 ([81c61ee](81c61ee))
* **deps:** bump picomatch from 2.3.0 to 2.3.2 ([e87fe4a](e87fe4a))
* regenerate package-lock.json ([c61cd60](c61cd60))
The condition `if (Message_MessageStatus.MESSAGE_STATUS_UNSPECIFIED)` was
checking the enum constant's truthy value instead of comparing it to
`message.status`. This caused the check to always pass, making the code
below unreachable (assistant run creation and listening).

Fixed by adding `=== message.status` comparison.

Also replaced all `throw 'string'` with `throw new Error('string')` to
preserve stack traces and enable proper `instanceof Error` checks in
catch blocks.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Typo in public API method name: "Short" should be "Shot" (as in
few-shot classification). Since this is a public method that will become
part of the v3 API surface, fixing it now avoids a breaking change later.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PollOperationWasCanceled and PollOperationEmptyResponseForDecoder were
plain classes without Error inheritance. This means they had no stack
trace, failed `instanceof Error` checks, and behaved unexpectedly in
catch blocks.

Now both extend Error with proper name and message properties.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The polling function inside pollOperation() called this.get() without a
.catch() handler. If the gRPC call failed (network error, timeout, auth
failure), the promise rejection went unhandled and the polling silently
hung forever without resolving or rejecting the outer promise.

Added .catch(reject) to propagate errors to the caller.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
"is no defined" → "is not defined"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CodeQL flagged shell command injection: file paths from the filesystem
were interpolated into shell command strings passed to cp.execSync().
Although these are dev-only scripts and the risk is low, using
cp.execFileSync() with an argument array avoids shell interpretation
entirely and is the safer pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previously, refreshData() set up a detached .then(updateData) chain
alongside a .finally() that nulled threadP. This created two issues:

1. The .then(updateData) was a separate promise chain from the one
   returned to callers, so errors in updateData went unhandled.
2. The .finally() nulling threadP could race with the detached .then(),
   leaving stale data if a new refresh was triggered immediately after.

Now updateData is chained inline before .finally(), ensuring a single
promise chain with predictable ordering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove webpack, webpack-cli, ts-loader, @types/webpack,
@types/webpack-dev-server, @webpack-cli/generators, and
tsconfig-paths-webpack-plugin from devDependencies. No webpack config
file exists in the repository and nothing in the build/test pipeline
uses webpack.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Both .eslintrc.json and eslint.config.mjs existed, which causes
confusion — different ESLint versions pick up different config files.
The project uses ESLint 8.x with the traditional .eslintrc.json config,
so remove the flat config file (eslint.config.mjs) and its related
dependencies (@eslint/js, globals, typescript-eslint) that are only
needed for ESLint v9 flat config.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reflect dependency removals (webpack, ESLint flat config packages)
in the lockfile.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove the src/sdk directory containing higher-level wrappers on top of
raw gRPC clients (AI assistants, AI files, AI foundation models, and
operation polling). The wrappers used fragile patterns (Promise mutation
via Object.assign for fluent APIs) and duplicated functionality that
consumers can build directly from the generated clients.

Also removes:
- The 4 example files that depended on this SDK layer:
  - examples/assistant-with-search-index.ts
  - examples/chat-with-assistant-sdk.ts
  - examples/generate-image-sdk.ts
  - examples/save-file-for-ai.ts
- The 4 corresponding package.json subpath exports:
  - ./sdk/ai-assistants-v1
  - ./sdk/ai-files-v1
  - ./sdk/ai-foundation_models-v1
  - ./sdk/operation
- The "SDK layer" section in CLAUDE.md.

BREAKING CHANGE: Consumers must use the generated gRPC clients
directly instead of initFileSdk/initAssistantSdk/etc. helpers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
# [3.0.0-beta.4](v3.0.0-beta.3...v3.0.0-beta.4) (2026-04-16)

### Bug Fixes

* add CLAUDE.md ([6799ffa](6799ffa))
* **deps:** update eslint package ([d28521b](d28521b))
* fix typo in error message in service-endpoints ([3b668ee](3b668ee))
* **scripts:** use execFileSync instead of execSync with string commands ([fc45713](fc45713))
* **sdk:** fix always-true condition and throw Error objects in threadSdk ([715e192](715e192))
* **sdk:** fix race condition in ThreadWithSdk.refreshData ([e330e4e](e330e4e))
* **sdk:** make error classes extend Error in operationSdk ([86d97d9](86d97d9))
* **sdk:** propagate errors from polling loop in operationSdk ([12c23e4](12c23e4))
* **sdk:** rename classifyTextFewShort to classifyTextFewShot ([84f0d16](84f0d16))

* feat(sdk)!: remove src/sdk high-level wrapper layer ([e91d780](e91d780))

### BREAKING CHANGES

* Consumers must use the generated gRPC clients
directly instead of initFileSdk/initAssistantSdk/etc. helpers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Do not annoy with warnings about OAuth deprecation
# [3.0.0-beta.5](v3.0.0-beta.4...v3.0.0-beta.5) (2026-04-16)

### Bug Fixes

* do not annoy with warnings about OAuth deprecation ([e1bd07d](e1bd07d))
@DavyJohnes DavyJohnes merged commit 71f928e into master Apr 16, 2026
5 checks passed
@yandex-cloud-bot
Copy link
Copy Markdown
Collaborator

🎉 This PR is included in version 3.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants