mirror of
https://github.com/anthropics/claude-code.git
synced 2026-06-21 23:33:30 +00:00
Compare commits
4 Commits
fix-lock-c
...
v2.1.185
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4073894cd | ||
|
|
c487902a53 | ||
|
|
baf38ddaaa | ||
|
|
4fa369b5b3 |
63
.github/workflows/lock-closed-issues.yml
vendored
63
.github/workflows/lock-closed-issues.yml
vendored
@@ -22,71 +22,56 @@ jobs:
|
||||
script: |
|
||||
const sevenDaysAgo = new Date();
|
||||
sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7);
|
||||
const cutoff = sevenDaysAgo.toISOString().split('T')[0];
|
||||
|
||||
const lockComment = `This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.`;
|
||||
|
||||
let page = 1;
|
||||
let hasMore = true;
|
||||
const query = `repo:${context.repo.owner}/${context.repo.repo} is:issue is:closed is:unlocked updated:<${cutoff}`;
|
||||
console.log(`Search query: ${query}`);
|
||||
|
||||
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
||||
const MAX_PER_RUN = 250;
|
||||
const processed = new Set();
|
||||
let totalLocked = 0;
|
||||
|
||||
while (hasMore) {
|
||||
// Get closed issues (pagination)
|
||||
const { data: issues } = await github.rest.issues.listForRepo({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
state: 'closed',
|
||||
while (totalLocked < MAX_PER_RUN) {
|
||||
const { data } = await github.rest.search.issuesAndPullRequests({
|
||||
q: query,
|
||||
sort: 'updated',
|
||||
direction: 'asc',
|
||||
order: 'asc',
|
||||
per_page: 100,
|
||||
page: page
|
||||
});
|
||||
|
||||
if (issues.length === 0) {
|
||||
hasMore = false;
|
||||
break;
|
||||
|
||||
if (totalLocked === 0) {
|
||||
console.log(`Total candidates: ${data.total_count}`);
|
||||
}
|
||||
|
||||
for (const issue of issues) {
|
||||
// Skip if already locked
|
||||
if (issue.locked) continue;
|
||||
|
||||
// Skip pull requests
|
||||
if (issue.pull_request) continue;
|
||||
|
||||
// Check if updated more than 7 days ago
|
||||
const updatedAt = new Date(issue.updated_at);
|
||||
if (updatedAt > sevenDaysAgo) {
|
||||
// Since issues are sorted by updated_at ascending,
|
||||
// once we hit a recent issue, all remaining will be recent too
|
||||
hasMore = false;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
const fresh = data.items.filter((i) => !processed.has(i.number));
|
||||
if (fresh.length === 0) break;
|
||||
|
||||
for (const issue of fresh) {
|
||||
if (totalLocked >= MAX_PER_RUN) break;
|
||||
processed.add(issue.number);
|
||||
try {
|
||||
// Add comment before locking
|
||||
await github.rest.issues.createComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
body: lockComment
|
||||
body: lockComment,
|
||||
});
|
||||
|
||||
// Lock the issue
|
||||
await github.rest.issues.lock({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: issue.number,
|
||||
lock_reason: 'resolved'
|
||||
lock_reason: 'resolved',
|
||||
});
|
||||
|
||||
totalLocked++;
|
||||
console.log(`Locked issue #${issue.number}: ${issue.title}`);
|
||||
await sleep(1000);
|
||||
} catch (error) {
|
||||
console.error(`Failed to lock issue #${issue.number}: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
page++;
|
||||
}
|
||||
|
||||
console.log(`Total issues locked: ${totalLocked}`);
|
||||
|
||||
25
CHANGELOG.md
25
CHANGELOG.md
@@ -1,5 +1,29 @@
|
||||
# Changelog
|
||||
|
||||
## 2.1.185
|
||||
|
||||
- The stream-stall hint now reads "Waiting for API response · will retry in …" instead of "No response from API · Retrying in …", and triggers after 20s of silence instead of 10s
|
||||
|
||||
## 2.1.183
|
||||
|
||||
- Improved auto mode safety: destructive git commands (`git reset --hard`, `git checkout -- .`, `git clean -fd`, `git stash drop`) are now blocked when you didn't ask to discard local work, `git commit --amend` is blocked when the commit wasn't made by the agent this session, and `terraform destroy`/`pulumi destroy`/`cdk destroy` are blocked unless you asked for the specific stack
|
||||
- Added a warning when the requested model is deprecated or automatically updated to a newer model, shown on stderr in print mode (`-p`) and now also covering models set in agent frontmatter
|
||||
- Added `attribution.sessionUrl` setting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions
|
||||
- Added `/config --help` to list all available shorthand keys for `/config key=value`
|
||||
- Changed `/config` toggle behavior: Enter and Space both change the selected setting, and Esc now saves and closes instead of reverting
|
||||
- Removed the startup "setup issues" line under the logo — run `/doctor` to see configuration issues or use `--debug`
|
||||
- Fixed `thinking.disabled.display: Extra inputs are not permitted` 400 errors on subagent spawns and session-title generation for affected configurations
|
||||
- Fixed WebSearch returning empty results in subagents
|
||||
- Fixed the terminal cursor being stranded above the prompt after navigating history in vim mode with the native cursor enabled
|
||||
- Fixed fullscreen TUI corruption (statusline mid-screen, duplicated spinner rows, merged text) in Windows Terminal under heavy nested-subagent load
|
||||
- Fixed turns silently completing with no visible output when the model returned only a thinking block; Claude now re-prompts once
|
||||
- Fixed user-level skills appearing multiple times in slash-command autocomplete when multiple plugins are enabled
|
||||
- Fixed MCP servers requiring authentication exposing auth-stub tools to the model in headless/SDK mode
|
||||
- Fixed tmux teammate panes failing to launch when the shell has slow rc-file initialization, and keystrokes typed during agent spawn leaking into the new tmux pane instead of the leader prompt
|
||||
- Fixed background tasks started by a teammate being killed when the teammate finishes a turn
|
||||
- Fixed scheduled task and webhook trigger deliveries being treated as keyboard input; they now classify as task notifications and can no longer approve a pending action or set the session title in auto mode
|
||||
- Fixed focus mode showing "Ran N PostToolUse hooks" timing lines under each response
|
||||
|
||||
## 2.1.181
|
||||
|
||||
- Added `/config key=value` syntax to set any setting from the prompt (e.g. `/config thinking=false`) — works in interactive, `-p`, and Remote Control
|
||||
@@ -56,6 +80,7 @@
|
||||
|
||||
## 2.1.178
|
||||
|
||||
- Agent teams: removed the `TeamCreate` and `TeamDelete` tools. With `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` set, every session now has one implicit team — spawn teammates directly with the Agent tool's `name` parameter, no setup step needed. The `team_name` parameter on the Agent tool is still accepted but ignored.
|
||||
- Added `Tool(param:value)` syntax for permission rules to match a tool's input parameters (with `*` wildcard), e.g. `Agent(model:opus)` to block Opus subagents
|
||||
- Skills in nested `.claude/skills` directories now load when working on files there; on a name clash, the nested skill appears as `<dir>:<name>` so both stay available
|
||||
- Nested `.claude/` directories: the agent, workflow, and output-style closest to the working directory now wins when names collide; project-scope workflow saves now target the closest existing `.claude/workflows/`
|
||||
|
||||
49
feed.xml
49
feed.xml
@@ -6,7 +6,37 @@
|
||||
<author><name>Anthropic</name></author>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md"/>
|
||||
<link rel="self" type="application/atom+xml" href="https://raw.githubusercontent.com/anthropics/claude-code/main/feed.xml"/>
|
||||
<updated>2026-06-17T22:07:34Z</updated>
|
||||
<updated>2026-06-20T20:59:12Z</updated>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.185</id>
|
||||
<title>Claude Code v2.1.185</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.185"/>
|
||||
<updated>2026-06-20T20:59:12Z</updated>
|
||||
<content type="html"><p>• The stream-stall hint now reads "Waiting for API response · will retry in …" instead of "No response from API · Retrying in …", and triggers after 20s of silence instead of 10s</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.183</id>
|
||||
<title>Claude Code v2.1.183</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.183"/>
|
||||
<updated>2026-06-19T01:20:44Z</updated>
|
||||
<content type="html"><p>• Improved auto mode safety: destructive git commands (git reset --hard, git checkout -- ., git clean -fd, git stash drop) are now blocked when you didn't ask to discard local work, git commit --amend is blocked when the commit wasn't made by the agent this session, and terraform destroy/pulumi destroy/cdk destroy are blocked unless you asked for the specific stack</p>
|
||||
<p>• Added a warning when the requested model is deprecated or automatically updated to a newer model, shown on stderr in print mode (-p) and now also covering models set in agent frontmatter</p>
|
||||
<p>• Added attribution.sessionUrl setting to omit the claude.ai session link from commits and PRs in web and Remote Control sessions</p>
|
||||
<p>• Added /config --help to list all available shorthand keys for /config key=value</p>
|
||||
<p>• Changed /config toggle behavior: Enter and Space both change the selected setting, and Esc now saves and closes instead of reverting</p>
|
||||
<p>• Removed the startup "setup issues" line under the logo — run /doctor to see configuration issues or use --debug</p>
|
||||
<p>• Fixed thinking.disabled.display: Extra inputs are not permitted 400 errors on subagent spawns and session-title generation for affected configurations</p>
|
||||
<p>• Fixed WebSearch returning empty results in subagents</p>
|
||||
<p>• Fixed the terminal cursor being stranded above the prompt after navigating history in vim mode with the native cursor enabled</p>
|
||||
<p>• Fixed fullscreen TUI corruption (statusline mid-screen, duplicated spinner rows, merged text) in Windows Terminal under heavy nested-subagent load</p>
|
||||
<p>• Fixed turns silently completing with no visible output when the model returned only a thinking block; Claude now re-prompts once</p>
|
||||
<p>• Fixed user-level skills appearing multiple times in slash-command autocomplete when multiple plugins are enabled</p>
|
||||
<p>• Fixed MCP servers requiring authentication exposing auth-stub tools to the model in headless/SDK mode</p>
|
||||
<p>• Fixed tmux teammate panes failing to launch when the shell has slow rc-file initialization, and keystrokes typed during agent spawn leaking into the new tmux pane instead of the leader prompt</p>
|
||||
<p>• Fixed background tasks started by a teammate being killed when the teammate finishes a turn</p>
|
||||
<p>• Fixed scheduled task and webhook trigger deliveries being treated as keyboard input; they now classify as task notifications and can no longer approve a pending action or set the session title in auto mode</p>
|
||||
<p>• Fixed focus mode showing "Ran N PostToolUse hooks" timing lines under each response</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.181</id>
|
||||
<title>Claude Code v2.1.181</title>
|
||||
@@ -72,7 +102,8 @@
|
||||
<title>Claude Code v2.1.178</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.178"/>
|
||||
<updated>2026-06-15T21:35:48Z</updated>
|
||||
<content type="html"><p>• Added Tool(param:value) syntax for permission rules to match a tool's input parameters (with * wildcard), e.g. Agent(model:opus) to block Opus subagents</p>
|
||||
<content type="html"><p>• Agent teams: removed the TeamCreate and TeamDelete tools. With CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 set, every session now has one implicit team — spawn teammates directly with the Agent tool's name parameter, no setup step needed. The team_name parameter on the Agent tool is still accepted but ignored.</p>
|
||||
<p>• Added Tool(param:value) syntax for permission rules to match a tool's input parameters (with * wildcard), e.g. Agent(model:opus) to block Opus subagents</p>
|
||||
<p>• Skills in nested .claude/skills directories now load when working on files there; on a name clash, the nested skill appears as &lt;dir&gt;:&lt;name&gt; so both stay available</p>
|
||||
<p>• Nested .claude/ directories: the agent, workflow, and output-style closest to the working directory now wins when names collide; project-scope workflow saves now target the closest existing .claude/workflows/</p>
|
||||
<p>• Improved auto mode: subagent spawns are now evaluated by the classifier before launch, closing a gap where a subagent could request a blocked action without review</p>
|
||||
@@ -410,18 +441,4 @@
|
||||
<p>• Removed the JetBrains plugin install suggestion from startup</p>
|
||||
<p>• Renamed the dynamic-workflow trigger keyword from workflow to ultracode. The word "workflow" no longer triggers a run; asking for one in your own words still works. The trigger keyword is highlighted in violet in the prompt input</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.159</id>
|
||||
<title>Claude Code v2.1.159</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.159"/>
|
||||
<updated>2026-05-31T19:42:41Z</updated>
|
||||
<content type="html"><p>• Internal infrastructure improvements (no user-facing changes)</p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.158</id>
|
||||
<title>Claude Code v2.1.158</title>
|
||||
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.158"/>
|
||||
<updated>2026-05-30T02:42:09Z</updated>
|
||||
<content type="html"><p>• Auto mode is now available on Bedrock, Vertex, and Foundry for Opus 4.7 and Opus 4.8. Opt in by setting CLAUDE_CODE_ENABLE_AUTO_MODE=1</p></content>
|
||||
</entry>
|
||||
</feed>
|
||||
|
||||
Reference in New Issue
Block a user