Compare commits

...
Author SHA1 Message Date
Sarah Fortune c0f0f75ed9 Update build scripts to include extension files in the standalone zip.
Update the standalone vscontext with the extension directory.
2025-06-09 19:15:54 -07:00
Saoud Rizwan c42f6aed2d Remove ‘-beta’ from grok model id (#4124)
* Remove ‘-beta’ from grok model id

* Create purple-islands-move.md
2025-06-09 18:31:01 -07:00
e8fb3c7199 v3.17.12 Release Notes
* changeset version bump

* Updating CHANGELOG.md format

* Update CHANGELOG.md for version 3.17.12

* changelog language

* changelog language

* attribution

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Cline Evaluation <cline@example.com>
2025-06-09 16:31:39 -07:00
23 changed files with 66 additions and 69 deletions
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": patch
---
Migrated updateSettings to protos, removed didUpdateSettings, altered Plan/Act toggling in settings menu
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": patch
---
Fixed issue where telemetry warning popup was created for every new Cline window
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": minor
---
Prioritize active files in file context menu
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": patch
---
toggleWorkflow protobus migration
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": patch
---
Added promise to task init to prevent race condition with checkpoints
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": patch
---
Spring cleaning
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": patch
---
Add free grok model
+5
View File
@@ -0,0 +1,5 @@
---
"claude-dev": patch
---
Remove -beta from grok model id
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": patch
---
Fix bug where replace_in_file would not be able to handle for out-of-order SEARCH/REPLACE blocks
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": minor
---
Context menu is default to File option on start up
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": minor
---
Migrate fetchLatestServersFromHub to protobus
-5
View File
@@ -1,5 +0,0 @@
---
"claude-dev": minor
---
the response of the mcps is displayed with a collapsible which allows to focus on the model responses.
+9
View File
@@ -1,5 +1,14 @@
# Changelog
## [3.17.12]
- **Free Grok Model Available!** Access Grok 3 completely free through the Cline provider
- Add collapsible MCP response panels to keep conversations focused on the main AI responses while still allowing access to detailed MCP output (Thanks @valinha!)
- Prioritize active files (open tabs) at the top of the file context menu when using @ mentions (Thanks @abeatrix!)
- Fix context menu to properly default to "File" option instead of incorrectly selecting "Git Commits"
- Fix diff editing to handle out-of-order SEARCH/REPLACE blocks, improving reliability with models that don't follow strict ordering
- Fix telemetry warning popup appearing repeatedly for users who have telemetry disabled
## [3.17.11]
- Add support for Gemini 2.5 Pro Preview 06-05 model to Vertex AI and Google Gemini providers
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "claude-dev",
"version": "3.17.11",
"version": "3.17.12",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "claude-dev",
"version": "3.17.11",
"version": "3.17.12",
"license": "Apache-2.0",
"dependencies": {
"@anthropic-ai/bedrock-sdk": "^0.12.4",
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "claude-dev",
"displayName": "Cline",
"description": "Autonomous coding agent right in your IDE, capable of creating/editing files, running commands, using the browser, and more with your permission every step of the way.",
"version": "3.17.11",
"version": "3.17.12",
"icon": "assets/icons/icon.png",
"engines": {
"vscode": "^1.84.0"
+20 -2
View File
@@ -36,12 +36,14 @@ if (nativeModules.length > 0) {
// Zip the build directory (excluding any pre-existing output zip).
const zipPath = path.join(BUILD_DIR, "standalone.zip")
const output = fs.createWriteStream(zipPath)
const archive = archiver("zip", { zlib: { level: 9 } })
const archive = archiver("zip", { zlib: { level: 3 } })
output.on("close", () => {
console.log(`Created ${zipPath} (${(archive.pointer() / 1024 / 1024).toFixed(1)} MB)`)
})
archive.on("warning", (err) => {
console.warn(`Warning: ${err}`)
})
archive.on("error", (err) => {
throw err
})
@@ -51,4 +53,20 @@ archive.glob("**/*", {
cwd: BUILD_DIR,
ignore: ["standalone.zip"],
})
// Add the whole cline directory under "extension"
archive.directory(process.cwd(), "extension", (entry) => {
// Skip certain directories
if (
entry.name.startsWith(BUILD_DIR + "/") ||
entry.name.startsWith("node_modules/") || // node_modules nearly 1GB.
entry.name.startsWith("webview-ui/node_modules/") || // node_modules nearly 1GB.
entry.name.match(/(^|\/)\./) // exclude dot directories
) {
return false
}
return entry
})
console.log("Zipping package...")
await archive.finalize()
+4 -1
View File
@@ -134,7 +134,10 @@ export class ClineHandler implements ApiHandler {
}
getModel(): { id: string; info: ModelInfo } {
const modelId = this.options.openRouterModelId
let modelId = this.options.openRouterModelId
if (modelId === "x-ai/grok-3") {
modelId = "x-ai/grok-3-beta"
}
const modelInfo = this.options.openRouterModelInfo
if (modelId && modelInfo) {
return { id: modelId, info: modelInfo }
+4 -1
View File
@@ -139,7 +139,10 @@ export class OpenRouterHandler implements ApiHandler {
}
getModel(): { id: string; info: ModelInfo } {
const modelId = this.options.openRouterModelId
let modelId = this.options.openRouterModelId
if (modelId === "x-ai/grok-3") {
modelId = "x-ai/grok-3-beta"
}
const modelInfo = this.options.openRouterModelInfo
if (modelId && modelInfo) {
return { id: modelId, info: modelInfo }
@@ -117,6 +117,11 @@ export async function refreshOpenRouterModels(
break
}
// add new model id
if (rawModel.id === "x-ai/grok-3-beta") {
models["x-ai/grok-3"] = modelInfo
}
models[rawModel.id] = modelInfo
}
} else {
+13 -4
View File
@@ -1,22 +1,26 @@
import { URI } from "vscode-uri"
import path from "path"
import { mkdirSync } from "fs"
import { mkdirSync, readFileSync } from "fs"
import path, { join } from "path"
import type { Extension, ExtensionContext } from "vscode"
import { ExtensionKind, ExtensionMode } from "vscode"
import { log } from "./utils"
import { outputChannel, postMessage } from "./vscode-context-stubs"
import { EnvironmentVariableCollection, MementoStore, readJson, SecretStore } from "./vscode-context-utils"
import { log } from "./utils"
if (!process.env.CLINE_DIR) {
console.warn("Environment variable CLINE_DIR was not set.")
process.exit(1)
}
const VERSION = getPackageVersion()
log("Running standalone cline ", VERSION)
const DATA_DIR = path.join(process.env.CLINE_DIR, "data")
mkdirSync(DATA_DIR, { recursive: true })
log("Using settings dir:", DATA_DIR)
const EXTENSION_DIR = path.join(process.env.CLINE_DIR, "core")
const EXTENSION_DIR = path.join(process.env.CLINE_DIR, "core", VERSION, "extension")
const EXTENSION_MODE = process.env.IS_DEV === "true" ? ExtensionMode.Development : ExtensionMode.Production
const extension: Extension<void> = {
@@ -59,6 +63,11 @@ const extensionContext: ExtensionContext = {
workspaceState: new MementoStore(path.join(DATA_DIR, "workspaceState.json")),
}
function getPackageVersion(): string {
const packageJson = JSON.parse(readFileSync(join(__dirname, "package.json"), "utf8"))
return packageJson.version
}
console.log("Finished loading vscode context...")
export { extensionContext, outputChannel, postMessage }
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "cline-standalone",
"version": "1.0.0",
"version": "0.0.1",
"main": "standalone.js",
"dependencies": {
"@grpc/grpc-js": "^1.13.3",
@@ -2577,7 +2577,7 @@ export function normalizeApiConfiguration(apiConfiguration?: ApiConfiguration):
// TODO: remove this once we have a better way to handle free models on Cline
// Free grok 3 promotion
selectedModelInfo:
openRouterModelId === "x-ai/grok-3-beta"
openRouterModelId === "x-ai/grok-3"
? { ...openRouterModelInfo, inputPrice: 0, outputPrice: 0 }
: openRouterModelInfo,
}
@@ -52,7 +52,7 @@ const featuredModels = [
label: "Trending",
},
{
id: "x-ai/grok-3-beta",
id: "x-ai/grok-3",
description: "Latest flagship model from xAI, free for now!",
label: "Free",
},