Skip to content

Commit 65ec69c

Browse files
Merge pull request #1577 from eyaltoledano/next
2 parents c2a6806 + 68aac14 commit 65ec69c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+3865
-856
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
"task-master-ai": patch
3+
---
4+
5+
Improve concurrency safety by adopting modifyJson pattern in file-storage
6+
7+
- Refactor saveTasks, createTag, deleteTag, renameTag to use modifyJson for atomic read-modify-write operations
8+
- This prevents lost updates when multiple processes concurrently modify tasks.json
9+
- Complements the cross-process file locking added in PR #1566

.changeset/fix-file-locking.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
"task-master-ai": patch
3+
---
4+
5+
Fix race condition when multiple Claude Code windows write to tasks.json simultaneously
6+
7+
- Add cross-process file locking to prevent concurrent write collisions
8+
- Implement atomic writes using temp file + rename pattern to prevent partial writes
9+
- Re-read file inside lock to get current state, preventing lost updates from stale snapshots
10+
- Add stale lock detection and automatic cleanup (10-second timeout)
11+
- Export `withFileLock` and `withFileLockSync` utilities for use by other modules
12+
13+
This fix prevents data loss that could occur when multiple Task Master instances (e.g., multiple Claude Code windows) access the same tasks.json file concurrently.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
"task-master-ai": minor
3+
---
4+
5+
Add --ready and --blocking filters to list command for identifying parallelizable tasks
6+
7+
- Add `--ready` filter to show only tasks with satisfied dependencies (ready to work on)
8+
- Add `--blocking` filter to show only tasks that block other tasks
9+
- Combine `--ready --blocking` to find high-impact tasks (ready AND blocking others)
10+
- Add "Blocks" column to task table showing which tasks depend on each task
11+
- Blocks field included in JSON output for programmatic access
12+
- Add "Ready" column to `tags` command showing count of ready tasks per tag
13+
- Add `--ready` filter to `tags` command to show only tags with available work
14+
- Excludes deferred/blocked tasks from ready count (only actionable statuses)
15+
- Add `--all-tags` option to list ready tasks across all tags (use with `--ready`)
16+
- Tag column shown as first column when using `--all-tags` for easy scanning

.changeset/loop-error-handling.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
"task-master-ai": "patch"
3+
---
4+
5+
Improve loop command error handling and use dangerously-skip-permissions
6+
7+
- Add proper spawn error handling (ENOENT, EACCES) with actionable messages
8+
- Return error info from checkSandboxAuth and runInteractiveAuth instead of silent failures
9+
- Use --dangerously-skip-permissions for unattended loop execution
10+
- Fix null exit code masking issue
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
"task-master-ai": patch
3+
---
4+
5+
Make Docker sandbox mode opt-in for loop command
6+
7+
- Add `--sandbox` flag to `task-master loop` (default: use plain `claude -p`)
8+
- Preserve progress.txt between runs (append instead of overwrite)
9+
- Display execution mode in loop startup output
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
"task-master-ai": patch
3+
---
4+
5+
Update Codex CLI supported models to match current available models
6+
7+
- Remove deprecated models: gpt-5, gpt-5-codex, gpt-5.1
8+
- Add gpt-5.2-codex as the current default model
9+
- Add gpt-5.1-codex-mini for faster, cheaper option
10+
- Keep gpt-5.1-codex-max and gpt-5.2

apps/cli/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"test": "vitest run",
1717
"test:watch": "vitest",
1818
"test:coverage": "vitest run --coverage",
19-
"test:unit": "vitest run -t unit",
20-
"test:integration": "vitest run -t integration",
19+
"test:unit": "vitest run '**/*.spec.ts'",
20+
"test:integration": "vitest run '**/*.test.ts'",
2121
"test:e2e": "vitest run --dir tests/e2e",
2222
"test:ci": "vitest run --coverage --reporter=dot"
2323
},

0 commit comments

Comments
 (0)