Skip to content

Commit fca177b

Browse files
authored
Release v5.4.0 (#50)
* edit tool + context search improvements * better diff view for edit tool * open plan in editor * minor UI update to task header * bump patch version * cleaner chat interface * minor fix to file context fuzzy match * better fuzzy search * update changelog * fix: address PR review comments - Remove commented-out code in Task.ts - Replace Math.random() with crypto.randomBytes() for CSP nonce * fix: handle empty strings in diff generation - Fix GitHubDiffView.tsx: handle empty diff strings - Fix streamDiff.test.ts: handle empty oldText/newText - Ensures correct diff stats for new/deleted files
1 parent 459f880 commit fca177b

File tree

22 files changed

+1208
-167
lines changed

22 files changed

+1208
-167
lines changed

CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Changelog
22

3+
## [v5.4.0] - 2026-02-12
4+
5+
### Added
6+
7+
- Open plan in editor functionality for better plan management
8+
- Better fuzzy search for improved file context matching
9+
10+
### Changed
11+
12+
- Cleaner chat interface with improved UI
13+
- Better diff view for edit tool
14+
- Edit tool improvements with context search enhancements
15+
- Minor UI update to task header
16+
17+
---
18+
319
## [v5.3.4] - 2026-02-03
420

521
### Fixed
@@ -66,6 +82,38 @@
6682

6783
---
6884

85+
## [v5.2.9] - 2026-01-27
86+
87+
### Changed
88+
89+
- Minor update to system prompt for long running command tool
90+
91+
---
92+
93+
## [v5.2.8] - 2026-01-27
94+
95+
### Fixed
96+
97+
- Minor patch in line diff counter logic
98+
99+
---
100+
101+
## [v5.2.7] - 2026-01-27
102+
103+
### Changed
104+
105+
- Minor update to system prompt for long running command tool
106+
107+
---
108+
109+
## [v5.2.6] - 2026-01-21
110+
111+
### Changed
112+
113+
- Minor update to system prompt for long running command tool
114+
115+
---
116+
69117
## [v5.2.5] - 2026-01-21
70118

71119
### Added

packages/types/src/mode.ts

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

src/core/task/Task.ts

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1969,29 +1969,6 @@ export class Task extends EventEmitter<TaskEvents> implements TaskLike {
19691969
)
19701970
}
19711971

1972-
if (this.consecutiveMistakeLimit > 0 && this.consecutiveMistakeCount >= this.consecutiveMistakeLimit) {
1973-
const { response, text, images } = await this.ask(
1974-
"mistake_limit_reached",
1975-
t("common:errors.mistake_limit_guidance"),
1976-
)
1977-
1978-
if (response === "messageResponse") {
1979-
currentUserContent.push(
1980-
...[
1981-
{ type: "text" as const, text: formatResponse.tooManyMistakes(text) },
1982-
...formatResponse.imageBlocks(images),
1983-
],
1984-
)
1985-
1986-
await this.say("user_feedback", text, images)
1987-
1988-
// Track consecutive mistake errors in telemetry.
1989-
TelemetryService.instance.captureConsecutiveMistakeError(this.taskId)
1990-
}
1991-
1992-
this.consecutiveMistakeCount = 0
1993-
}
1994-
19951972
// In this Cline request loop, we need to check if this task instance
19961973
// has been asked to wait for a subtask to finish before continuing.
19971974
const provider = this.providerRef.deref()

src/core/tools/fileEditTool.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export async function fileEditTool(
9494
await cline.diffViewProvider.saveDirectly(
9595
relPath,
9696
newString ?? "",
97-
!isPreventFocusDisruptionEnabled,
97+
false,
9898
diagnosticsEnabled,
9999
writeDelayMs,
100100
)
@@ -167,13 +167,7 @@ export async function fileEditTool(
167167
cline.diffViewProvider.editType = fileExists ? "modify" : "create"
168168
cline.diffViewProvider.originalContent = originalContent
169169

170-
await cline.diffViewProvider.saveDirectly(
171-
relPath,
172-
newContent,
173-
!isPreventFocusDisruptionEnabled,
174-
diagnosticsEnabled,
175-
writeDelayMs,
176-
)
170+
await cline.diffViewProvider.saveDirectly(relPath, newContent, false, diagnosticsEnabled, writeDelayMs)
177171

178172
const sayMessageProps: ClineSayTool = {
179173
tool: "fileEdit",

src/core/webview/webviewMessageHandler.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4761,6 +4761,25 @@ ${comment.suggestion}
47614761
}
47624762
break
47634763
}
4764+
case "openPlanFile": {
4765+
if (message.payload) {
4766+
const { planFile } = message.payload as { planFile: string }
4767+
const currentTask = provider.getCurrentTask()
4768+
if (currentTask) {
4769+
const { getPlanMemoryDirectoryPath } = await import("../../utils/storage")
4770+
const globalStoragePath = provider.contextProxy.globalStorageUri.fsPath
4771+
const planMemoryDir = await getPlanMemoryDirectoryPath(globalStoragePath, currentTask.taskId)
4772+
const planFilePath = path.join(planMemoryDir, planFile)
4773+
try {
4774+
const document = await vscode.workspace.openTextDocument(vscode.Uri.file(planFilePath))
4775+
await vscode.window.showTextDocument(document, { preview: false })
4776+
} catch (error) {
4777+
console.error("Failed to open plan file:", error)
4778+
}
4779+
}
4780+
}
4781+
break
4782+
}
47644783
// kilocode_change end
47654784
}
47664785
}

0 commit comments

Comments
 (0)