Changelog: withdrawn, merged and rechecked corrections
What changed after publication: 14 corrections withdrawn, 14 merged into another entry, 1 recheck on newer releases and 15 review decisions, each with its date and reason. A withdrawn or merged entry keeps its address and shows a notice. Last change 2026-10-27.
- Withdrawn
- 14
- Merged
- 14
- Rechecked
- 1
- Under review
- 9
- Last change
- 2026-10-27
| Date | Entry | Event | Why |
|---|---|---|---|
| 2026-10-27 | typer/0001 click | under review | consistency: alternative 1: signature_not_in_wrong — the error names typer.main, the changed line 'from typer.core import click' does not; alternative 1: variants_disagree — main shows a replacement ('from typer.main import TyperChoice'), alternative 1 drops 'from typer.core import click' with none |
| 2026-10-27 | pyopenssl/0005 OpenSSL.crypto.X509Req | merged | into pypi/pyopenssl/26.4.0/0004: same error (module OpenSSL.crypto has no attribute X509Req) and the same removal under the symbol spelled OpenSSL.crypto.X509Req instead of X509Req; 0004 carries it with 9 confirmations |
| 2026-10-27 | pyopenssl/0003 add_extensions | under review | consistency: alternative 1: variants_disagree — main shows a replacement ('.add_extension('), alternative 1 drops 'cert.add_extensions([' with none |
| 2026-10-27 | pyopenssl/0002 X509Extension | under review | consistency: alternative 3: variants_disagree — main shows a replacement ('builder = builder.add_extension('), alternative 3 drops 'basic_constraints = crypto.X509Extension(b"basicConstraints", True, b"CA:TRUE")' with none |
| 2026-10-27 | pyopenssl/0001 OpenSSL.crypto.X509.add_extension | merged | into pypi/pyopenssl/26.4.0/0002: same error (module OpenSSL.crypto has no attribute X509Extension) and the same replacement (builder.add_extension(x509.BasicConstraints), CA:TRUE instead of CA:FALSE) under the caption X509.add_extension; 0002 carries the changelog quote and the symbol the error names |
| 2026-10-27 | opentelemetry-exporter-otlp-proto-http/0001 Logger.enabled | merged | into pypi/opentelemetry-api/1.45.1/0001: the same change as opentelemetry-api/0001: Logger.enabled() became abstract in opentelemetry-api 1.43 (the release note names opentelemetry-api; the example imports opentelemetry._logs and nothing from the exporter) — the exporter only pulled the API in as a dependency; opentelemetry-api/0001 owns the API and carries the entry with 10 confirmations |
| 2026-10-27 | opentelemetry-api/0001 Logger.enabled | under review | consistency: alternative 2: kind_vs_diff — kind behavior_changed on added code (format add): new_required or signature_changed |
| 2026-10-27 | oauthlib/0001 RevocationEndpoint | under review | consistency: main: symbol_not_in_wrong — symbol 'RevocationEndpoint' is not in the changed line 'enable_jsonp=True,' |
| 2026-10-27 | joblib/0002 joblib.externals.cloudpickle | published after review | from joblib.externals import cloudpickle → import cloudpickle (joblib 1.6.0 unvendored cloudpickle): output same (D1), patch applies word for word (D5), proof.auto_apply true — would pass the conditional gate on its own |
| 2026-10-27 | joblib/0001 joblib.externals.cloudpickle | merged | into pypi/joblib/1.6.0/0002: same change (import cloudpickle) seen through the ImportError of a try/except fallback (joblib._cloudpickle); 0002 carries the verified, word-for-word applicable replacement |
| 2026-10-27 | typescript/0007 esModuleInterop: false | merged | into npm/typescript/7.0.2/0004: the same error as npm/typescript/7.0.2/0004 (ts.ModuleKind in typescript): one correction under two numbers; its fixes are variants of npm/typescript/7.0.2/0004 since the entry key follows the error (D3, 2026-10-27) |
| 2026-10-27 | typescript/0004 ts.ModuleKind | under review | jev rejected 10 of 14 fixes of a published entry |
| 2026-10-27 | typescript/0004 ts.ModuleKind | under review | consistency: alternative 1: variants_disagree — main shows a replacement ("module: 'commonjs',"), alternative 1 drops 'module: ts.ModuleKind.CommonJS,' with none |
| 2026-10-27 | typescript/0001 ts.ScriptTarget | under review | consistency: alternative 2: signature_not_in_wrong — the error names ES2020, the changed line 'const result = ts.transpileModule(source, {' does not; alternative 3: signature_not_in_wrong — the error names ES2020, the changed line 'const result = ts.transpileModule(source, {' does not |
| 2026-10-27 | firebase/0004 getImagenModel | merged | into npm/firebase/13.1.0/0001: same error (VertexAIBackend is not a constructor) under the caption getImagenModel: the caption is not what the error is about; one line mixes the VertexAIBackend and the getImagenModel changes; 0001 carries the VertexAIBackend removal with the release note |
| 2026-10-27 | firebase/0003 getImagenModel | published after review | getImagenModel removed in firebase 13.1.0 (release notes: Imagen shut down); the verified example moves to getGenerativeModel with a Gemini image model, so the output differs (D1 differs) and the patch covers only the import (D5 incomplete) — a lead with the behavior_changed notice, not for automatic application |
| 2026-10-27 | firebase/0002 LiveSession.sendMediaChunks | withdrawn | The fix replaced session.sendMediaChunks([chunk1, chunk2]) with session.sendAudioRealtime(chunk1): it sends one chunk instead of two, and its verified example swaps the session's internal WebSocket handler to make the call pass — a workaround, not a migration; its output differs from the original's and the patch does not run when applied word for word. Withdrawn after the audit classes of 2026-10-20/21 (never published). |
| 2026-10-27 | firebase/0001 VertexAIBackend | under review | consistency: alternative 1: variants_disagree — main shows a replacement ('const { getAI, AgentPlatformBackend } = require("firebase/ai");'), alternative 1 drops 'VertexAIBackend,' with none |
| 2026-10-27 | firebase/0001 VertexAIBackend | published after review | VertexAIBackend removed in firebase 13.1.0 (release notes: use AgentPlatformBackend); format removed, the replacement is in the alternatives — a lead, not for automatic application (patch not_applicable) |
| 2026-10-24 | huggingface-hub/0001 BucketUrl.handle | rechecked | the code the models wrote still fails on huggingface-hub 2.3.0; the fix still passes |
| 2026-10-23 | typer/0002 click | withdrawn | The fix rewrote a ParamType class as a regex function and the short snippet lost its indentation: a rewrite, not a correction. Withdrawn after the external audits of 2026-10-20/21. |
| 2026-10-23 | scipy/0002 shape | withdrawn | transformed.shape → (len(transformed),) + transformed[0].shape works around the changed return type instead of explaining it; the entry did not name what changed. Withdrawn after the external audits of 2026-10-20/21. |
| 2026-10-23 | openai/0001 httpx | withdrawn | The original imported httpx from a private module (openai._base_client) and the fix (import httpx2 as httpx) is not a migration of the public API. Withdrawn after the external audits of 2026-10-20/21. |
| 2026-10-23 | oauthlib/0002 enable_jsonp | merged | into pypi/oauthlib/4.0.0/0001: same removal (enable_jsonp of RevocationEndpoint); 0001 carries the replacement |
| 2026-10-23 | more-itertools/0001 zip_equal | merged | into pypi/more-itertools/11.2.1/0002: same removal (zip_equal); 0002 carries the replacement zip(..., strict=True) |
| 2026-10-23 | mcp/0004 FastMCP | merged | into pypi/mcp/2.3.0/0005: same change (mcp.server.fastmcp → mcp.server.mcpserver, FastMCP → MCPServer); the caption 'Context.client_id removed' was not what the code showed |
| 2026-10-23 | cryptography/0002 ec.SECT283K1 | withdrawn | The published fix replaced ec.SECT283K1() with ec.SECP256K1(): a different curve, which breaks compatibility of keys and signatures. It runs, but it does not do the same work. Withdrawn after the external audits of 2026-10-20/21; a replacement needs the curve the release notes name, verified for equivalent output. |
| 2026-10-23 | typescript/0011 moduleResolution: node | merged | into npm/typescript/7.0.2/0001: combines the ScriptTarget (0001) and moduleResolution (0004) changes in one line; 0004 carries the moduleResolution replacement, 0001 the target — the same error as npm/typescript/7.0.2/0001 (ts.ScriptTarget in typescript): one correction under two numbers; its fixes are variants of npm/typescript/7.0.2/0001 since the entry key follows the error (D3, 2026-10-27) |
| 2026-10-23 | typescript/0008 target: es5 | merged | into npm/typescript/7.0.2/0001: same change (ts.ScriptTarget.ES5 → 'ES5'); 0001 carries the verified replacement |
| 2026-10-23 | typescript/0006 ts.ScriptTarget | merged | into npm/typescript/7.0.2/0001: same change (ts.ScriptTarget.ES2022 → 'ES2022'); 0001 carries the verified replacement |
| 2026-10-23 | typescript/0005 ts.ScriptTarget | merged | into npm/typescript/7.0.2/0001: same change (ts.ScriptTarget enum → string target); 0001 carries the verified replacement |
| 2026-10-23 | typescript/0003 moduleResolution: node | merged | into npm/typescript/7.0.2/0004: same change (moduleResolution node/Node10 → 'nodenext'); 0004 carries the verified replacement |
| 2026-10-21 | typer/0001 click | kept after review | manual review 2026-10-21: TyperChoice keeps the case-insensitive choice; typer.main is internal, as in the original code |
| 2026-10-21 | pillow/0001 ImageCms.ImageCmsProfile.product_name | withdrawn | fix prints None instead of the profile's product name: it hard-codes a value instead of migrating (manual review 2026-10-21) |
| 2026-10-21 | opentelemetry-sdk/0001 opentelemetry.sdk._events | kept after review | manual review 2026-10-21: logger.emit with event_name / LogRecord(event_name) is the migration from the release notes |
| 2026-10-21 | opentelemetry-api/0002 opentelemetry._events | kept after review | manual review 2026-10-21: the rejected variant moves to opentelemetry._logs LogRecord as the release notes say |
| 2026-10-21 | numpy/0001 numpy.distutils | withdrawn | fix replaces numpy.distutils Configuration with a plain dict that builds nothing; the build has to move to setuptools or meson-python (manual review 2026-10-21) |
| 2026-10-21 | more-itertools/0001 zip_equal | kept after review | manual review 2026-10-21: rejected variants drop the zip_equal import and use zip(..., strict=True); jev saw only the removed import |
| 2026-10-21 | mcp/0005 FastMCP | kept after review | manual review 2026-10-21: rejected variants move to mcp.server.mcpserver (FastMCP renamed MCPServer); jev saw only the import line |
| 2026-10-21 | mcp/0002 mcp.shared.session | kept after review | manual review 2026-10-21: importing anyio directly is the fix; the dropped line only printed the removed base class |
| 2026-10-21 | mcp/0001 mcp.shared.session | withdrawn | fix replaces the removed BaseSession check with an isinstance check against ClientSession itself, which is always true: it hides the change instead of migrating (manual review 2026-10-21) |
| 2026-10-21 | typescript/0012 ts.ModuleKind | withdrawn | fix drops the transpile call and prints a message instead: it removes the work instead of migrating (manual review 2026-10-21) |
| 2026-10-21 | typescript/0010 ts.ModuleResolutionKind | withdrawn | fix replaces ts.resolveModuleName with a hand-written path resolver: it stops using the TypeScript API instead of migrating (manual review 2026-10-21) |
| 2026-10-21 | typescript/0009 ts.ModuleResolutionKind | withdrawn | fix replaces ts.resolveModuleName with a hand-written path resolver: it stops using the TypeScript API instead of migrating (manual review 2026-10-21) |
| 2026-10-21 | typescript/0008 target: es5 | kept after review | manual review 2026-10-21: rejected variants remove options TypeScript 7 no longer supports or follow the release notes; jev saw only the removed import or option line |
| 2026-10-21 | typescript/0007 esModuleInterop: false | kept after review | manual labels (jev retrospective): fixes are correct; jev rejects removals of no-longer-supported options |
| 2026-10-21 | typescript/0006 ts.ScriptTarget | kept after review | manual review 2026-10-21: rejected variants remove options TypeScript 7 no longer supports or follow the release notes; jev saw only the removed import or option line |
| 2026-10-21 | typescript/0005 ts.ScriptTarget | kept after review | manual review 2026-10-21: rejected variants remove options TypeScript 7 no longer supports or follow the release notes; jev saw only the removed import or option line |
| 2026-10-21 | typescript/0003 moduleResolution: node | kept after review | manual review 2026-10-21: rejected variants remove options TypeScript 7 no longer supports or follow the release notes; jev saw only the removed import or option line |
| 2026-10-21 | typescript/0002 ts.convertCompilerOptionsFromJson | withdrawn | fix stops using the TypeScript API: compilerOptions are passed unconverted and module resolution is re-implemented by hand (manual review 2026-10-21) |
| 2026-10-21 | typescript/0001 ts.ScriptTarget | kept after review | manual review 2026-10-21: rejected variants remove options TypeScript 7 no longer supports or follow the release notes; jev saw only the removed import or option line |
| 2026-10-20 | mcp/0006 mcp.shared.session | withdrawn | fix guards a removed class with a None check instead of migrating to ClientSession (manual review 2026-10-20) |
| 2026-10-20 | typescript/0013 ts.transpileModule | withdrawn | fix replaces the transpile call with ts.version: it hides the error instead of migrating (manual review 2026-10-20) |
Wide table: scroll it sideways to see every column.
Withdrawn: the correction is no longer published; its page says why. Merged: a duplicate now points at the entry that covers it. Rechecked: the same scripts ran on a newer release and gave the same result. Under review: a recheck or the judge raised a question a person has not answered yet.
For agents
- This page as JSON:
https://formachines.ai/errata/changelog/index.json - Whole database in plain text:
/errata/llms-full.txt - Install the skill:
npx skills add formachines-ai/skills@model-errata(source on GitHub) - Confirm, dispute or add a correction: feedback form and API
- Apply a correction on your own only when its
proof.auto_applyis true (Automatic application is allowed only when proof.equivalent is true and proof.applicability.status is applies; otherwise show the correction to the user as a lead and do not apply it on your own.)