{
  "occtCommit": "b8f597c677811d1f9f4d8a97f5ae2825c0353a42",
  "patchSourceCommit": "ebd263f15337b440b391492af073662707e86482",
  "patchSourceCommitDate": "2026-08-02T23:32:11Z",
  "reviewDate": "2026-09-23",
  "note": "Date is the source snapshot commit date, not a claim that every patch originated on that day. Patches applied to scratch for ledger only; no distributed binary was rebuilt.",
  "files": [
    {
      "file": "src/ModelingAlgorithms/TKBO/BRepAlgoAPI/BRepAlgoAPI_Algo.hxx",
      "patch": "patch_using_statements.py",
      "original_sha256": "0a69659cd78ef1f36f7d27f16bd8f9cea49280c9269173218d3e8aad9c642a94",
      "patched_sha256": "449503ae7320360579ceeace59ee97e8972c397e5c685e297e6493c35e79557b",
      "patchHistory": {
        "path": "src/patches/patch_using_statements.py",
        "lastSourceChangeCommit": "fa32a6d29ddf6fd4d56d9592f39140e29aef38ed",
        "authorDate": "2026-07-29T05:18:02Z",
        "committerDate": "2026-07-29T05:18:02Z",
        "url": "https://github.com/taucad/opencascade.js/commit/fa32a6d29ddf6fd4d56d9592f39140e29aef38ed"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKFillet/BlendFunc/BlendFunc_ChamfInv.hxx",
      "patch": "patch_using_statements.py",
      "original_sha256": "8b2657a2ab7c16f562494e9905ade60aaeb5c3c67681e2a8b191782d1686a323",
      "patched_sha256": "9b65b8539389c6469b1cb49390c0e678253042bc3a25e69c5591bf5e01f755a0",
      "patchHistory": {
        "path": "src/patches/patch_using_statements.py",
        "lastSourceChangeCommit": "fa32a6d29ddf6fd4d56d9592f39140e29aef38ed",
        "authorDate": "2026-07-29T05:18:02Z",
        "committerDate": "2026-07-29T05:18:02Z",
        "url": "https://github.com/taucad/opencascade.js/commit/fa32a6d29ddf6fd4d56d9592f39140e29aef38ed"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKFillet/BlendFunc/BlendFunc_ConstThroatInv.hxx",
      "patch": "patch_using_statements.py",
      "original_sha256": "d06874ca95e6a5ad3c9e640daa196a682d987ec6db862275dfa8a05458ef90f3",
      "patched_sha256": "3dcda52f1978f1682d3f2886de87dc980de1e18d0b8fdf901a04a9986be8af75",
      "patchHistory": {
        "path": "src/patches/patch_using_statements.py",
        "lastSourceChangeCommit": "fa32a6d29ddf6fd4d56d9592f39140e29aef38ed",
        "authorDate": "2026-07-29T05:18:02Z",
        "committerDate": "2026-07-29T05:18:02Z",
        "url": "https://github.com/taucad/opencascade.js/commit/fa32a6d29ddf6fd4d56d9592f39140e29aef38ed"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKGeomAlgo/IntCurve/IntCurve_IntConicConic.lxx",
      "patch": "patch_using_statements.py",
      "original_sha256": "9c1ee369af880a43f403b636550cd88e4e93048eee6da21d5f6d844291b3394f",
      "patched_sha256": "b7d983809a46368b7c010d331ea3c3eda0d8f0ba8452b78f19083ffe32f123aa",
      "patchHistory": {
        "path": "src/patches/patch_using_statements.py",
        "lastSourceChangeCommit": "fa32a6d29ddf6fd4d56d9592f39140e29aef38ed",
        "authorDate": "2026-07-29T05:18:02Z",
        "committerDate": "2026-07-29T05:18:02Z",
        "url": "https://github.com/taucad/opencascade.js/commit/fa32a6d29ddf6fd4d56d9592f39140e29aef38ed"
      }
    },
    {
      "file": "src/FoundationClasses/TKernel/Standard/Standard_Dump.hxx",
      "patch": "patch_standard_dump.py",
      "original_sha256": "52991ae560d15c4f4f35d17aa61d208e370ba7133aff8d707690ba5668d8718c",
      "patched_sha256": "fc42d11b99fd14bcf3e3f605529b777ac4c9bb3d9b7eba8031eade0b1b69a4c7",
      "patchHistory": {
        "path": "src/patches/patch_standard_dump.py",
        "lastSourceChangeCommit": "a4af3c299ec3d5634a7a8e6c5d5999dbfd0fbdc6",
        "authorDate": "2026-03-06T02:54:09Z",
        "committerDate": "2026-03-06T04:57:21Z",
        "url": "https://github.com/taucad/opencascade.js/commit/a4af3c299ec3d5634a7a8e6c5d5999dbfd0fbdc6"
      }
    },
    {
      "file": "src/DataExchange/TKDESTEP/STEPCAFControl/STEPCAFControl_ActorWrite.cxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "e684433212fe5e20d5a2bd579a747aa57ccde5f7280d9e36be846f33e1129e4a",
      "patched_sha256": "662c68f890a8888c8b17abfadff88664ce4d9a8e907ff122b2682d166fb386a9",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/DataExchange/TKDESTEP/STEPCAFControl/STEPCAFControl_ActorWrite.hxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "c9ff9a24684e70f41ccc2ad502e09001edacb21bbf2c5578b617f3c4103dd5e5",
      "patched_sha256": "8eec47926660c7d9a3a36a5723e815fb9cca8555dc44d849f4e0202a3500f238",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/FoundationClasses/TKernel/Resource/Resource_Manager.cxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "cb66f7580dbf369be5f665f2ca9405449e14436e88d9ad65c3208abc844cec0f",
      "patched_sha256": "d76859a52b1b390ed0a6700bdfd2d339a178c12b3f82990583d2d12c1e3bd429",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/FoundationClasses/TKernel/Resource/Resource_Manager.hxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "5c2f07842d393ef069bea81f8249a2d33683380c07c8545e485d1998a150e1c7",
      "patched_sha256": "2a5a2c0ab15eba525de4231999d6b2bfdeed8104ddcfd3c2f016029bd454e562",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKBO/BOPAlgo/BOPAlgo_CheckerSI_1.cxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "3d689b96093d48fcdfbf2a69f763e306662bd0fd67cbce3c3de005867b3e3c6b",
      "patched_sha256": "02d4a00893b2ed2647dc944614652395e040698cb768eef1087befa5bf998c83",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKBool/BRepFill/BRepFill_NSections.cxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "197add9a3dca5d72d00b7fefc14311299541feabc39096185c90c9c9724c9e31",
      "patched_sha256": "f16ff4d163c3f91d8086220dba3108e43dd466c1918bfe8bedcded6adf578fda",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKBool/BRepFill/BRepFill_NSections.hxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "b556c963a70887fb53846562d7d3c2d5346855f3c0f1f665780b630176bb18cb",
      "patched_sha256": "fd8943563909517276eb1d21e75032ad508f1b4a161e3e153c336249fc056024",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKFillet/BRepBlend/BRepBlend_Line.cxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "b6cda53f888d2d19a5a2f4caad8f802424a5d874dcc61b90cb3246014bd911ae",
      "patched_sha256": "879d27a8d1f486892d2f1a8c0f1182e7210c106477f34428c4dd5e788fb081e5",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKFillet/BRepBlend/BRepBlend_Line.hxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "e7ae5886b01e971bcc7971ebfbf5e2b6a89cf3b5ba250067265541ebec168f1a",
      "patched_sha256": "b08e69484030b8d9bf2b2f53af9ad935fb9b71c3c666fe7c683168c0f5395317",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKMesh/BRepMeshData/BRepMeshData_Edge.cxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "2892684b6edc7247311837bd98077677c194e0be1ae9ae388ab94654b9ed122d",
      "patched_sha256": "ebb8b298ec451685a0e5ed036e91cac42b3a6ae9ac84308dae760e0c91fe7a6f",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKMesh/BRepMeshData/BRepMeshData_Edge.hxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "623ffd787d7b46ddd0df5e8f975d62792043ff089e29c129847ced64ee133fa6",
      "patched_sha256": "f246b24047451efa24ca77428e1b1d5c735e95b0608f9d65f3d95e1f43b4614d",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKOffset/BRepOffsetAPI/BRepOffsetAPI_ThruSections.cxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "f8eca21bec9ab72683cce6760296a32ca3a3a2b880b4bb7de54f969e85dd42d0",
      "patched_sha256": "8fb12acfa5dc8d7e76c4e6074e5ef91d9e3074001487aaeb620d46795da62e0a",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/ModelingAlgorithms/TKOffset/BRepOffsetAPI/BRepOffsetAPI_ThruSections.hxx",
      "patch": "patch_noexcept_destructors.py",
      "original_sha256": "1700276a8eaa33b9ca7fda7eff4178401406aeb44c2f36f8d75638fa405534fb",
      "patched_sha256": "0e6d5c710d57b307b230ca752bd72f0783d3486134b17f9b511c1d8953398dfe",
      "patchHistory": {
        "path": "src/patches/patch_noexcept_destructors.py",
        "lastSourceChangeCommit": "cf7d0b3710c14b4ba4171ac488ad7d7fd7102538",
        "authorDate": "2026-05-21T22:38:00Z",
        "committerDate": "2026-05-21T22:38:00Z",
        "url": "https://github.com/taucad/opencascade.js/commit/cf7d0b3710c14b4ba4171ac488ad7d7fd7102538"
      }
    },
    {
      "file": "src/DataExchange/TKDESTEP/STEPCAFControl/STEPCAFControl_Controller.cxx",
      "patch": "patch_stepcaf_dyntype.py",
      "original_sha256": "94c9ff139dfb6c85a1a8f8aa14a2b6167d0d864505d7bf70e27d4db0f01e957a",
      "patched_sha256": "84153c244ea04f1635719b6636c5cc87358ac3148a343a3cc0a8a3f2738fcd55",
      "patchHistory": {
        "path": "src/patches/patch_stepcaf_dyntype.py",
        "lastSourceChangeCommit": "ebd263f15337b440b391492af073662707e86482",
        "authorDate": "2026-08-02T23:32:11Z",
        "committerDate": "2026-08-02T23:32:11Z",
        "url": "https://github.com/taucad/opencascade.js/commit/ebd263f15337b440b391492af073662707e86482"
      }
    }
  ],
  "emscriptenFiles": [
    {
      "file": "src/lib/libembind.js",
      "patch": "libembind-overloading.patch",
      "original_sha256": "d2bfc58b48b011d3051a4eb69867c0a1fb9d0cc82f5e6970be98d98bbd8b2766",
      "patched_sha256": "ff9e49e2fbf66621342a010797890a47c779b2c01e79a385b37ca2c23762f646",
      "patchHistory": {
        "path": "src/patches/libembind-overloading.patch",
        "lastSourceChangeCommit": "fa32a6d29ddf6fd4d56d9592f39140e29aef38ed",
        "authorDate": "2026-07-29T05:18:02Z",
        "committerDate": "2026-07-29T05:18:02Z",
        "url": "https://github.com/taucad/opencascade.js/commit/fa32a6d29ddf6fd4d56d9592f39140e29aef38ed"
      }
    }
  ],
  "modifiedFileNoticeReview": "OCCT patches preserve existing copyright/license headers. The noexcept destructor and STEPCAF patches insert OCJS change markers/explanations; using-statement and Standard_Dump patches do not consistently insert a prominent modification notice. None of the four OCCT patches adds a change date. libembind patch adds explanatory OCJS comments but no general dated change notice. This ledger records source-history dates, not proof of the date an upstream binary was built."
}
