Skip to content

Codeep

v1.2.17 Security

This release includes 2 security fixes for security teams reviewing exposed deployments.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 2 known CVEs

Topics

ai ai-agent ai-agents ai-tools cli-app

Affected surfaces

rce_ssrf

Summary

AI summary

Updates New Features, Performance, and Bug Fixes across a mixed release.

Full changelog

What's New in v1.2.17

This release brings major provider expansion, MCP-powered agent tools, performance improvements, security hardening, and comprehensive test coverage.


New Providers

| Provider | Models |
|----------|--------|
| DeepSeek | DeepSeek V3 (general), DeepSeek R1 (reasoning with chain-of-thought) |
| Anthropic | Claude Sonnet 4.6, Claude Opus 4.6, Claude Haiku 4.5 |
| Z.AI China | GLM-5, GLM-4.7, GLM-4.7 Flash (via open.bigmodel.cn) |
| MiniMax China | MiniMax M2.5 (via api.minimaxi.com) |

All providers support both OpenAI-compatible and Anthropic API protocols where applicable. Switch with /provider.


New Features

MCP-Powered Agent Tools

When using Z.AI or Z.AI China, the agent now has access to:

  • web_search — Search the web for current information
  • web_reader — Fetch and parse any URL
  • understand_image — Analyze images via MiniMax vision API

/apply Command

Apply file changes from an AI response without re-running the agent:

> /apply
# Finds and applies code blocks from the last AI message

Word Navigation (macOS/Linux)

New keyboard shortcuts for faster input editing:

  • Alt+F / Opt+F — Move cursor forward one word
  • Alt+B / Opt+B — Move cursor backward one word
  • Alt+D / Opt+D — Delete word forward

Rate Limiter

Configurable per-minute rate limits for both API calls and agent commands — prevents runaway usage and API bans. Adjust in /settings.

Session History as Agent Context

The agent now receives recent chat session history as context, enabling better continuity across agent invocations within the same session.


Improvements

Performance

  • Import resolution cachesmartContext.ts caches resolved import paths in memory, avoiding repeated disk I/O on every agent iteration
  • Render optimization — Agent progress stats computed in a single reduce() pass instead of 7 separate .filter() calls
  • Async I/O — All file system operations in the renderer now use async APIs

Security

  • Shell injection preventionsanitizeForShell now strips $(), ${}, $var, ;, |, &&, || patterns from user input
  • Symlink traversalvalidatePath resolves symlinks via realpathSync to prevent path traversal attacks
  • Circular symlink detectionlistDirectory tracks visited inodes to prevent infinite loops on circular symlinks
  • Keychain fallback warning — Explicit warning logged when API keys fall back to plaintext config storage

Type Safety

  • Replaced all as any casts in api/index.ts with typed ApiError and TimeoutError classes
  • shouldRetry now uses proper instanceof checks

Bug Fixes

  • Fixed race condition in agent start — isAgentRunning flag set synchronously before any async work
  • JSON.parse calls in project.ts and learning.ts now wrapped in try-catch for corrupt file resilience
  • Fixed bracketed paste (Cmd+V) handling in terminal

Code Architecture

Large files split for better maintainability:

| Before | After |
|--------|-------|
| main.ts (2100 lines) | main.ts + commands.ts + agentExecution.ts |
| tools.ts (1600 lines) | tools.ts + toolParsing.ts + toolExecution.ts + mcpIntegration.ts |
| agent.ts (1400 lines) | agent.ts + agentChat.ts + agentStream.ts |


Tests

Test suite expanded from 577 → 721 tests across 23 test files:

| New Test File | Coverage |
|---|---|
| shell.test.ts | validateCommand, executeCommand, execSimple |
| keychain.test.ts | SmartStorage keychain/fallback/migration |
| agentChat.test.ts | loadProjectRules, formatChatHistoryForAgent |
| agentStream.test.ts | SSE stream parsing (OpenAI & Anthropic) |
| context.test.ts | Session context save/load/merge/summarize |
| learning.test.ts | Preference learning, custom rules |
| verify.test.ts | Build/test/typecheck detection |
| history.test.ts | Undo/redo action history |
| projectIntelligence.test.ts | Project scan & intelligence caching |
| api/index.test.ts | chat() retry logic, token tracking |


Installation

# npm
npm install -g codeep

# curl
curl -fsSL https://raw.githubusercontent.com/VladoIvankovic/Codeep/main/install.sh | bash

# Homebrew
brew upgrade codeep

Full changelog: https://github.com/VladoIvankovic/Codeep/compare/v1.2.0...v1.2.17

Security Fixes

  • Sanitize shell input by stripping `$()`, `${}`, `$var`, `;`, `|`, `&&`, `||` patterns
  • Resolve symlinks with realpathSync and detect circular symlink loops in listDirectory

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Codeep

Get notified when new releases ship.

Sign up free

About Codeep

All releases →

Related context

Earlier breaking changes

  • v2.4.1 MiniMax M3 replaces MiniMax-M2.7 as default model across all providers.
  • v2.0.0 McpServer protocol now optional fields `command`, `args`, plus new `url` and `headers`; version bumped to 2.0.0.

Beta — feedback welcome: [email protected]