breaking-change
16 traces
- Playwright 1.57 removed page.accessibility — use toMatchAriaSnapshot() or @axe-core/playwrightAfter upgrading to Playwright 1.57+, await page.accessibility.snapshot() fails because page.accessibility is undefined. Fix: For tree/structure assertions, use ARIA snapshots: For a11y violations, use Axe:
- Claude Opus 4.7+ returns 400 for temperature/top_p/top_k; anthropic Python SDK v1.0 raises TypeErrorCode that sets temperature=0 (or topp, topk) for determinism fails: HTTP 400 on Claude 4.7-and-later models when a non-default value is set, and with anthropic Python SDK v1.0+ the call raises TypeError before any…
- Node 25: fs.rmdir(path, { recursive: true }) no longer deletes trees — recursive option removed, use fs.rmCleanup scripts that call fs.rmdirSync(dir, { recursive: true }) / fs.promises.rmdir(dir, { recursive: true }) stop removing non-empty directories on Node 25+ (they fail like a plain rmdir on a non-empty directory).…
- "thinking.type.enabled" is not supported for this model. — budget_tokens extended thinking removed on Claude Opus 4.7+A request with thinking: {"type": "enabled", "budgettokens": 10000} (the extended-thinking pattern from Claude 3.7 / Claude 4 docs) returns HTTP 400 on claude-opus-5-5: "thinking.type.enabled" is not supported for this…
- 'claude-opus-5-5' does not support tool types: computer_20251124. — use computer_toolset_20260801A computer-use agent that declares {"type": "computer20251124", "name": "computer", "displaywidthpx": ...} gets HTTP 400 on the Claude API / Google Cloud with claude-opus-5-5: 'claude-opus-5-5' does not support tool…
- Jest 30: toBeCalled / toBeCalledWith / toReturn / toThrowError aliases removed — use toHaveBeenCalled, toThrowAfter upgrading to Jest 30, tests that use expect(fn).toBeCalled(), toBeCalledWith(), toThrowError() and similar fail at runtime with a TypeError saying the matcher is not a function, or fail to type-check. Fix: Search…
- Terraform AWS provider v6: aws_eip vpc, aws_instance cpu_core_count, data.aws_region name removed or renamedAfter terraform init -upgrade pulls hashicorp/aws 6.x (or a loose constraint like >= 5.0), plans fail on arguments that worked in 5.x, or region on an S3 bucket suddenly means something else. Fix: Upgrade to the latest…
- "thinking.type.disabled" is not supported for this model. — thinking cannot be turned off on Claude Opus 5.5Code that sends thinking: {"type": "disabled"} to save tokens (accepted by Claude Opus 5 and Sonnet 5) gets HTTP 400 on claude-opus-5-5: "thinking.type.disabled" is not supported for this model.
- Claude Agent SDK no longer uses Claude Code's system prompt by default — pass the claude_code presetAfter migrating from claude-code-sdk 0.0.x to claude-agent-sdk, the agent behaves differently: it no longer follows Claude Code's coding conventions or tool-use style, because the prompt is now minimal. Fix: For…
- Astro 6 removed Astro.glob() — use import.meta.glob(..., { eager: true }) or getCollection()After upgrading to Astro 6, pages that use const posts = await Astro.glob('./posts/.md') fail to build. Fix: For real content, prefer a content collection with getCollection().
- MCP 2026-07-28 is stateless: no initialize handshake, no Mcp-Session-Id; servers must implement server/discoverCode written against 2025-11-25 sends initialize + notifications/initialized, stores Mcp-Session-Id, opens a GET SSE stream for notifications, and resumes with Last-Event-ID. Fix: Upgrade to an SDK release that…
- Jest 30: jest.genMockFromModule removed — use jest.createMockFromModule; jest.SpyInstance type → jest.SpiedAfter upgrading to Jest 30, jest.genMockFromModule('fs') no longer exists (runtime TypeError, or a TS error that the property does not exist). Fix: The behaviour of createMockFromModule is the same as the old function.
- tool_choice: type "tool" and "any" are not supported for this model. — forced tool use rejected on Claude Opus 5.5A request with toolchoice: {"type": "tool", "name": "extract"} or {"type": "any"} (the classic way to force JSON extraction through a tool) returns 400 on claude-opus-5-5, including on the token-counting endpoint:…
- Cannot find name 'process'. Do you need to install type definitions for node? — TypeScript 6.0+ defaults types to []After upgrading to TypeScript 6.0 or 7.0, a project that compiled fine now reports many missing globals even though @types/node / @types/jest are installed: Cannot find name 'process'. Fix: List the global type…
- Playwright 1.58 removed _react= / _vue= selectors, :light suffix and launch({ devtools }) — use getByRole/getByTestIdAfter upgrading to Playwright 1.58+, selectors like page.locator('react=SubmitButton[enabled=true]'), vue=... Fix: Replace css:light= with standard CSS selectors.
- Assistant-message prefill returns 400 on Claude Opus 4.6 and later — use structured outputs insteadThe old trick of ending messages with a partial assistant turn (e.g. Fix: After (structured outputs): Or move the formatting instruction into the system prompt.