{"ref":"refs/heads/main","before":"6899625b65defdb1c402149b71a97b5a3584a0ac","after":"c407ff1e3910d2723720cb0fbc67758df82d6f2a","repository":{"id":758965894,"node_id":"R_kgDOLTzmhg","name":"FreeCAD","full_name":"ilf-S/FreeCAD","private":false,"owner":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","login":"ilf-S","id":1728511,"node_id":"MDQ6VXNlcjE3Mjg1MTE=","avatar_url":"https://avatars.githubusercontent.com/u/1728511?v=4","gravatar_id":"","url":"https://api.github.com/users/ilf-S","html_url":"https://github.com/ilf-S","followers_url":"https://api.github.com/users/ilf-S/followers","following_url":"https://api.github.com/users/ilf-S/following{/other_user}","gists_url":"https://api.github.com/users/ilf-S/gists{/gist_id}","starred_url":"https://api.github.com/users/ilf-S/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ilf-S/subscriptions","organizations_url":"https://api.github.com/users/ilf-S/orgs","repos_url":"https://api.github.com/users/ilf-S/repos","events_url":"https://api.github.com/users/ilf-S/events{/privacy}","received_events_url":"https://api.github.com/users/ilf-S/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/ilf-S/FreeCAD","description":"This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.","fork":true,"url":"https://api.github.com/repos/ilf-S/FreeCAD","forks_url":"https://api.github.com/repos/ilf-S/FreeCAD/forks","keys_url":"https://api.github.com/repos/ilf-S/FreeCAD/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ilf-S/FreeCAD/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ilf-S/FreeCAD/teams","hooks_url":"https://api.github.com/repos/ilf-S/FreeCAD/hooks","issue_events_url":"https://api.github.com/repos/ilf-S/FreeCAD/issues/events{/number}","events_url":"https://api.github.com/repos/ilf-S/FreeCAD/events","assignees_url":"https://api.github.com/repos/ilf-S/FreeCAD/assignees{/user}","branches_url":"https://api.github.com/repos/ilf-S/FreeCAD/branches{/branch}","tags_url":"https://api.github.com/repos/ilf-S/FreeCAD/tags","blobs_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/refs{/sha}","trees_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ilf-S/FreeCAD/statuses/{sha}","languages_url":"https://api.github.com/repos/ilf-S/FreeCAD/languages","stargazers_url":"https://api.github.com/repos/ilf-S/FreeCAD/stargazers","contributors_url":"https://api.github.com/repos/ilf-S/FreeCAD/contributors","subscribers_url":"https://api.github.com/repos/ilf-S/FreeCAD/subscribers","subscription_url":"https://api.github.com/repos/ilf-S/FreeCAD/subscription","commits_url":"https://api.github.com/repos/ilf-S/FreeCAD/commits{/sha}","git_commits_url":"https://api.github.com/repos/ilf-S/FreeCAD/git/commits{/sha}","comments_url":"https://api.github.com/repos/ilf-S/FreeCAD/comments{/number}","issue_comment_url":"https://api.github.com/repos/ilf-S/FreeCAD/issues/comments{/number}","contents_url":"https://api.github.com/repos/ilf-S/FreeCAD/contents/{+path}","compare_url":"https://api.github.com/repos/ilf-S/FreeCAD/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ilf-S/FreeCAD/merges","archive_url":"https://api.github.com/repos/ilf-S/FreeCAD/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ilf-S/FreeCAD/downloads","issues_url":"https://api.github.com/repos/ilf-S/FreeCAD/issues{/number}","pulls_url":"https://api.github.com/repos/ilf-S/FreeCAD/pulls{/number}","milestones_url":"https://api.github.com/repos/ilf-S/FreeCAD/milestones{/number}","notifications_url":"https://api.github.com/repos/ilf-S/FreeCAD/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ilf-S/FreeCAD/labels{/name}","releases_url":"https://api.github.com/repos/ilf-S/FreeCAD/releases{/id}","deployments_url":"https://api.github.com/repos/ilf-S/FreeCAD/deployments","created_at":1708184682,"updated_at":"2026-02-02T02:04:04Z","pushed_at":1770084160,"git_url":"git://github.com/ilf-S/FreeCAD.git","ssh_url":"git@github.com:ilf-S/FreeCAD.git","clone_url":"https://github.com/ilf-S/FreeCAD.git","svn_url":"https://github.com/ilf-S/FreeCAD","homepage":"https://www.freecad.org","size":2369103,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1","node_id":"MDc6TGljZW5zZTEx"},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","stargazers":0,"master_branch":"main"},"pusher":{"name":"github-actions[bot]","email":null},"forced":false,"sender":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"created":false,"deleted":false,"base_ref":null,"compare":"https://github.com/ilf-S/FreeCAD/compare/6899625b65de...c407ff1e3910","commits":[{"id":"2799aa27005abb370b5ff8a893fd96f396778b2f","tree_id":"0ed1c678114bac345516f1187e64e2c7494918c7","distinct":true,"message":"App: Simplify and fix code for ifcopenshell version check","timestamp":"2026-01-30T10:56:05+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/2799aa27005abb370b5ff8a893fd96f396778b2f","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-02-27T10:20:39+01:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:56:05+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/Application.cpp"]},{"id":"3fba5870446fd7f0d84688507b065b38e5de2ec0","tree_id":"43dbdfe09c938cb8dd628d9a55eba5bfde37e83f","distinct":true,"message":"App: In ExpressionParser::parse add the failing expression text to the error message","timestamp":"2026-01-30T10:56:05+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/3fba5870446fd7f0d84688507b065b38e5de2ec0","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-03-01T08:31:39+01:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:56:05+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/Expression.cpp"]},{"id":"56e687d9cc8a62cf0c66b109cc89a13348e514ac","tree_id":"f2ed45482f8123b773539614697b3023ac7d3f82","distinct":true,"message":"App: Refactor PropertyExpressionEngine::afterRestore()\n\nPut the reading of each expression of an object into a try/catch block. This is to avoid that all expressions of an object may be lost.\n\nThis mitigates the issue 19866","timestamp":"2026-01-30T10:56:05+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/56e687d9cc8a62cf0c66b109cc89a13348e514ac","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-03-01T08:36:05+01:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:56:05+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/PropertyExpressionEngine.cpp","src/App/PropertyExpressionEngine.h"]},{"id":"dace71205f10090996c38400cba82103b976b3aa","tree_id":"1e983290cac83a6da83df4ab905467c3a74daca1","distinct":true,"message":"App: In ProjectFile::loadDocument() check for parse errors\n\nIn case a parse error occurred then return with false and do not set the DOMDocument","timestamp":"2026-01-30T10:56:05+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/dace71205f10090996c38400cba82103b976b3aa","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-03-10T18:02:07+01:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:56:05+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/ProjectFile.cpp"]},{"id":"93ee3a34759c88c96760be74fccfb1f9cebba15c","tree_id":"e6bd5705b65b0542d1e60fe698a469c8df627930","distinct":true,"message":"App: Remove assert() from PropertyXLink::Restore\n\nIf the property is added to a view provider then in debug mode this will\ncause a crash while in release mode this will cause undefined behaviour\nbecause of a static_cast.\n\nTo fix crashes remove the assert() and replace the static_cast with\nfreecad_cast.","timestamp":"2026-01-30T10:58:09+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/93ee3a34759c88c96760be74fccfb1f9cebba15c","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-03-12T11:43:47+01:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:58:09+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/PropertyLinks.cpp"]},{"id":"8062fadbd4a2b7b5f67a201423add40b86ddff0c","tree_id":"41bfceb35f7b87c379445cbc453431d1883db51b","distinct":true,"message":"App: Replace C macros with lambda expression","timestamp":"2026-01-30T10:58:09+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/8062fadbd4a2b7b5f67a201423add40b86ddff0c","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-04-27T19:45:50+02:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:58:09+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/PreCompiled.h","src/App/Property.cpp"]},{"id":"60b022140227d8ab373041f569910a0d36a7203f","tree_id":"1947f567e3a541b7626d7b3666c80a57f0924a9a","distinct":true,"message":"App: Optimize PropertyMaterialList::getDiffuseColors()/getTransparencies()","timestamp":"2026-01-30T10:58:09+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/60b022140227d8ab373041f569910a0d36a7203f","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-04-29T18:47:10+02:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:58:09+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/PropertyStandard.cpp"]},{"id":"1886bcda00a4ac46aa4206cf45fe7f1c631bc8ad","tree_id":"659950e7c60cf59bd0e6d7df6ae6c95c427c40b0","distinct":true,"message":"App: Fix crash in Transaction::addObjectChange\n\nIt can happen that TransactionFactory::createTransaction() fails to create a transaction object because an unsuitable type is passed\n(like BadType) and returns a null pointer.\n\nThe calling instances (Transaction::addObjectChange, Transaction::addObjectDel, Transaction::addObjectNew, Transaction::addOrRemoveProperty)\ndo not check for a null pointer and thus cause a segmentation fault by dereferencing it.\n\nTo fix the issue change the above methods to explicitly handle a null pointer.\n\nThis fixes issue 21095.\n\nNote: In this case it's caused by the class ViewProviderFace which on purpose isn't added to the type system so that its type will be BadType.","timestamp":"2026-01-30T10:58:09+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/1886bcda00a4ac46aa4206cf45fe7f1c631bc8ad","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-05-02T10:56:43+02:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:58:09+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/Transactions.cpp"]},{"id":"0831f7e39213d27494292c7e65e1627153e53c1a","tree_id":"2e3844cc3180800d37c295a233adc23d0ef94b97","distinct":true,"message":"App: Avoid C string compare\n\nSince we are linking to boost anyway, use boost function for case\ninsensitive string compare. While there, make affected methods accept\nstd::string arguments, which simplifies code a bit.","timestamp":"2026-01-30T10:58:09+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/0831f7e39213d27494292c7e65e1627153e53c1a","author":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-26T18:31:04+01:00","username":"3x380V"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-01-30T10:58:09+01:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/App/Application.cpp","src/App/Application.h","src/App/ApplicationPy.cpp","src/Gui/FileDialog.cpp","src/Gui/MainWindow.cpp"]},{"id":"0b7da8243353314d93d73d19e9e37babfcaf6346","tree_id":"cf6319b7319c4b6f73b38e7e45b27ad75a801664","distinct":true,"message":"Update translations from Crowdin","timestamp":"2026-02-02T11:49:57+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/0b7da8243353314d93d73d19e9e37babfcaf6346","author":{"name":"freecad-gh-actions-translation-bot","email":"freecad-gh-actions-translation-bot@github.com","date":"2026-02-02T00:26:58Z"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-02-02T11:49:57+01:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/App/Resources/translations/App_ca.ts","src/Base/Resources/translations/Base_ca.ts","src/Gui/Language/FreeCAD_be.ts","src/Gui/Language/FreeCAD_ca.ts","src/Gui/Language/FreeCAD_cs.ts","src/Gui/Language/FreeCAD_da.ts","src/Gui/Language/FreeCAD_de.ts","src/Gui/Language/FreeCAD_el.ts","src/Gui/Language/FreeCAD_es-AR.ts","src/Gui/Language/FreeCAD_es-ES.ts","src/Gui/Language/FreeCAD_eu.ts","src/Gui/Language/FreeCAD_fi.ts","src/Gui/Language/FreeCAD_fr.ts","src/Gui/Language/FreeCAD_hr.ts","src/Gui/Language/FreeCAD_hu.ts","src/Gui/Language/FreeCAD_it.ts","src/Gui/Language/FreeCAD_ja.ts","src/Gui/Language/FreeCAD_ka.ts","src/Gui/Language/FreeCAD_ko.ts","src/Gui/Language/FreeCAD_nl.ts","src/Gui/Language/FreeCAD_pl.ts","src/Gui/Language/FreeCAD_pt-BR.ts","src/Gui/Language/FreeCAD_ro.ts","src/Gui/Language/FreeCAD_ru.ts","src/Gui/Language/FreeCAD_sl.ts","src/Gui/Language/FreeCAD_sr-CS.ts","src/Gui/Language/FreeCAD_sr.ts","src/Gui/Language/FreeCAD_sv-SE.ts","src/Gui/Language/FreeCAD_tr.ts","src/Gui/Language/FreeCAD_uk.ts","src/Gui/Language/FreeCAD_zh-CN.ts","src/Gui/Language/FreeCAD_zh-TW.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_be.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ca.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_cs.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_da.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_de.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_el.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_es-AR.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_es-ES.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_eu.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_fi.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_fr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_hr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_hu.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_it.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ja.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ka.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ko.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_nl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_pl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_pt-BR.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ro.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ru.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sr-CS.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sv-SE.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_tr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_uk.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_zh-CN.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_zh-TW.ts","src/Mod/BIM/Resources/translations/Arch_be.ts","src/Mod/BIM/Resources/translations/Arch_ca.ts","src/Mod/BIM/Resources/translations/Arch_cs.ts","src/Mod/BIM/Resources/translations/Arch_da.qm","src/Mod/BIM/Resources/translations/Arch_da.ts","src/Mod/BIM/Resources/translations/Arch_de.ts","src/Mod/BIM/Resources/translations/Arch_el.ts","src/Mod/BIM/Resources/translations/Arch_es-AR.ts","src/Mod/BIM/Resources/translations/Arch_es-ES.ts","src/Mod/BIM/Resources/translations/Arch_eu.ts","src/Mod/BIM/Resources/translations/Arch_fi.ts","src/Mod/BIM/Resources/translations/Arch_fr.ts","src/Mod/BIM/Resources/translations/Arch_hr.ts","src/Mod/BIM/Resources/translations/Arch_hu.ts","src/Mod/BIM/Resources/translations/Arch_it.qm","src/Mod/BIM/Resources/translations/Arch_it.ts","src/Mod/BIM/Resources/translations/Arch_ja.ts","src/Mod/BIM/Resources/translations/Arch_ka.ts","src/Mod/BIM/Resources/translations/Arch_ko.ts","src/Mod/BIM/Resources/translations/Arch_nl.qm","src/Mod/BIM/Resources/translations/Arch_nl.ts","src/Mod/BIM/Resources/translations/Arch_pl.ts","src/Mod/BIM/Resources/translations/Arch_pt-BR.ts","src/Mod/BIM/Resources/translations/Arch_ro.ts","src/Mod/BIM/Resources/translations/Arch_ru.ts","src/Mod/BIM/Resources/translations/Arch_sl.qm","src/Mod/BIM/Resources/translations/Arch_sl.ts","src/Mod/BIM/Resources/translations/Arch_sr-CS.ts","src/Mod/BIM/Resources/translations/Arch_sr.ts","src/Mod/BIM/Resources/translations/Arch_sv-SE.ts","src/Mod/BIM/Resources/translations/Arch_tr.ts","src/Mod/BIM/Resources/translations/Arch_uk.ts","src/Mod/BIM/Resources/translations/Arch_zh-CN.ts","src/Mod/BIM/Resources/translations/Arch_zh-TW.ts","src/Mod/CAM/Gui/Resources/translations/CAM_be.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ca.ts","src/Mod/CAM/Gui/Resources/translations/CAM_cs.ts","src/Mod/CAM/Gui/Resources/translations/CAM_da.ts","src/Mod/CAM/Gui/Resources/translations/CAM_de.ts","src/Mod/CAM/Gui/Resources/translations/CAM_el.ts","src/Mod/CAM/Gui/Resources/translations/CAM_es-AR.ts","src/Mod/CAM/Gui/Resources/translations/CAM_es-ES.ts","src/Mod/CAM/Gui/Resources/translations/CAM_eu.ts","src/Mod/CAM/Gui/Resources/translations/CAM_fi.ts","src/Mod/CAM/Gui/Resources/translations/CAM_fr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_hr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_hu.ts","src/Mod/CAM/Gui/Resources/translations/CAM_it.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ja.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ka.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ko.ts","src/Mod/CAM/Gui/Resources/translations/CAM_nl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_pl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_pt-BR.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ro.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ru.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sr-CS.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sv-SE.ts","src/Mod/CAM/Gui/Resources/translations/CAM_tr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_uk.ts","src/Mod/CAM/Gui/Resources/translations/CAM_zh-CN.ts","src/Mod/CAM/Gui/Resources/translations/CAM_zh-TW.ts","src/Mod/Draft/Resources/translations/Draft_be.ts","src/Mod/Draft/Resources/translations/Draft_ca.ts","src/Mod/Draft/Resources/translations/Draft_cs.ts","src/Mod/Draft/Resources/translations/Draft_da.ts","src/Mod/Draft/Resources/translations/Draft_de.qm","src/Mod/Draft/Resources/translations/Draft_de.ts","src/Mod/Draft/Resources/translations/Draft_el.ts","src/Mod/Draft/Resources/translations/Draft_es-AR.ts","src/Mod/Draft/Resources/translations/Draft_es-ES.ts","src/Mod/Draft/Resources/translations/Draft_eu.ts","src/Mod/Draft/Resources/translations/Draft_fi.ts","src/Mod/Draft/Resources/translations/Draft_fr.ts","src/Mod/Draft/Resources/translations/Draft_hr.ts","src/Mod/Draft/Resources/translations/Draft_hu.ts","src/Mod/Draft/Resources/translations/Draft_it.qm","src/Mod/Draft/Resources/translations/Draft_it.ts","src/Mod/Draft/Resources/translations/Draft_ja.ts","src/Mod/Draft/Resources/translations/Draft_ka.ts","src/Mod/Draft/Resources/translations/Draft_ko.ts","src/Mod/Draft/Resources/translations/Draft_nl.qm","src/Mod/Draft/Resources/translations/Draft_nl.ts","src/Mod/Draft/Resources/translations/Draft_pl.ts","src/Mod/Draft/Resources/translations/Draft_pt-BR.qm","src/Mod/Draft/Resources/translations/Draft_pt-BR.ts","src/Mod/Draft/Resources/translations/Draft_ro.ts","src/Mod/Draft/Resources/translations/Draft_ru.ts","src/Mod/Draft/Resources/translations/Draft_sl.qm","src/Mod/Draft/Resources/translations/Draft_sl.ts","src/Mod/Draft/Resources/translations/Draft_sr-CS.ts","src/Mod/Draft/Resources/translations/Draft_sr.ts","src/Mod/Draft/Resources/translations/Draft_sv-SE.ts","src/Mod/Draft/Resources/translations/Draft_tr.ts","src/Mod/Draft/Resources/translations/Draft_uk.ts","src/Mod/Draft/Resources/translations/Draft_zh-CN.ts","src/Mod/Draft/Resources/translations/Draft_zh-TW.ts","src/Mod/Fem/Gui/Resources/translations/Fem_da.ts","src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts","src/Mod/Material/Gui/Resources/translations/Material_el.ts","src/Mod/Measure/Gui/Resources/translations/Measure_sl.ts","src/Mod/Mesh/Gui/Resources/translations/Mesh_el.ts","src/Mod/Part/Gui/Resources/translations/Part_da.ts","src/Mod/Part/Gui/Resources/translations/Part_el.ts","src/Mod/Part/Gui/Resources/translations/Part_it.ts","src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_be.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ca.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_da.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_el.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-AR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-ES.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_eu.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fi.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ja.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ka.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ko.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-BR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ro.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ru.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr-CS.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-TW.ts","src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_el.ts","src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_it.ts","src/Mod/Robot/Gui/Resources/translations/Robot_el.ts","src/Mod/Robot/Gui/Resources/translations/Robot_es-AR.ts","src/Mod/Robot/Gui/Resources/translations/Robot_es-ES.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_be.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ca.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_cs.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_da.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_de.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_el.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-AR.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-ES.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_eu.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fi.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_it.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ja.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ka.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ko.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_nl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-BR.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ro.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ru.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr-CS.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sv-SE.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_tr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_uk.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-TW.ts","src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_el.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_da.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-AR.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-ES.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fr.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-BR.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ru.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sl.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sv-SE.ts"]},{"id":"36c0eaf44b472ee8b6b6b02764cb3c1ac44a7bb5","tree_id":"bfb4707c75ac12f91ba6e300e2460430629b6c8e","distinct":true,"message":"BIM: Prevent incorrect assembly icon for baseless parametric walls (#27277)\n\nThe icon logic in _ViewProviderWall.getIcon previously switched to the\nassembly icon for any wall without a Base that contained Additions. This\ncaused an unexpected icon change when a wall was debased, as it still\nretains a parametric body defined by its Length property.\n\nUpdate the logic to only show the assembly icon if the wall has no Base,\nhas Additions, and its Length is zero. This ensures that baseless walls\ndriven by their own dimensions maintain the standard wall icon.","timestamp":"2026-02-02T15:56:08+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/36c0eaf44b472ee8b6b6b02764cb3c1ac44a7bb5","author":{"name":"Furgo","email":"148809153+furgo16@users.noreply.github.com","date":"2026-02-02T15:56:08+01:00","username":"furgo16"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T15:56:08+01:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/BIM/ArchWall.py"]},{"id":"7ad0b16d022884d18024183a0ee6e9abd339bbca","tree_id":"83fc94a31f34e31d1c8bd4700057589850e6a257","distinct":true,"message":"BIM: add test for horizontal area of tilted cylinders (#27108)\n\n* BIM: add test for horizontal area of tilted cylinders\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* Fix typos and use makeComponent instead of makeStructure\n\n* Change makeComponent back to makeStructure\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>","timestamp":"2026-02-02T16:03:50+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/7ad0b16d022884d18024183a0ee6e9abd339bbca","author":{"name":"Roy-043","email":"70520633+Roy-043@users.noreply.github.com","date":"2026-02-02T16:03:50+01:00","username":"Roy-043"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T16:03:50+01:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/BIM/bimtests/TestArchComponent.py"]},{"id":"ca923d089f64cba5854e586d0fb81274b94fbe76","tree_id":"3943dac6d39945dfc149369282c2768b5d77b267","distinct":true,"message":"BIM: some improvements for ArchProfile.py (#27118)","timestamp":"2026-02-02T16:04:13+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/ca923d089f64cba5854e586d0fb81274b94fbe76","author":{"name":"Roy-043","email":"70520633+Roy-043@users.noreply.github.com","date":"2026-02-02T16:04:13+01:00","username":"Roy-043"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T16:04:13+01:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/BIM/ArchProfile.py"]},{"id":"125ff0dceaa0c0e73c2517c682dfba75191ba8c1","tree_id":"ee1ebb5a0c1a230f942261f151f9a4debc95dded","distinct":true,"message":"BIM: add task panel box for wall options (#26758)\n\n* BIM: add Wall options task box to ArchWall's edit task panel\n\n* BIM: update Align property live on the task box\n\n* BIM: make wall options cancellable\n\n* BIM: make the Component task box actions reversible, in particular debasing a wall\n\n* BIM: implement baseless walls creation (#24595)\n\n* BIM: Implement smart base removal for Walls\n\nPreviously, removing the Base object from an Arch Wall would cause the\nwall to reset its position to the document origin and could lead to\nunintended geometric changes for complex walls.\n\nThis commit introduces a \"smart debasing\" mechanism integrated into the\nComponent Task Panel's \"Remove\" button:\n\n- For walls based on a single straight line, the operation now preserves\n the wall's global position and parametric `Length`, making it an\n independent object.\n- For walls with complex bases (multi-segment, curved), a warning dialog\n is now presented to the user, explaining the consequences (shape\n alteration and position reset) before allowing the operation to\n proceed.\n\nThis is supported by new API functions `Arch.is_debasable()` and\n`Arch.debaseWall()`, which contain the core logic for the feature.\n\nFixes: https://github.com/FreeCAD/FreeCAD/issues/24453\n\n* BIM: Move wall debasing logic into ArchWall proxy\n\nThe logic for handling the removal of a wall's base object was previously\nimplemented directly within the generic `ComponentTaskPanel` in\n`ArchComponent.py`. This created a tight coupling, forcing the generic\ncomponent UI to have specific knowledge about the `ArchWall` type.\n\nThis commit refactors the implementation to follow a more object-oriented\nand polymorphic design:\n\n1. A new overridable method, `handleComponentRemoval(subobject)`, has been\n added to the base `ArchComponent` proxy class. Its default implementation\n maintains the standard removal behavior.\n\n2. The `_Wall` proxy class in `ArchWall.py` now overrides this method. All\n wall-specific debasing logic, including the eligibility check and the\n user-facing warning dialog, now resides entirely within this override.\n\n3. The `ComponentTaskPanel.removeElement` method has been simplified. It is\n now a generic dispatcher that calls `handleComponentRemoval` on the\n proxy of the object being edited, with no specific knowledge of object types.\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* BIM: Add interactive creation of baseless walls\n\nIntroduce a new workflow for creating Arch Walls without a dependency on\na baseline object (e.g., a Draft Line).\n\n- The `Arch_Wall` command is enhanced with a \"No baseline\" mode, controlled\n by a new \"Walls baseline\" preference, allowing users to create\n placement-driven walls directly in the 3D view.\n- The existing `debaseWall` function has been refactored for correctness\n and consistency with the new baseless wall geometry.\n\nCo-authored-by: Yorik van Havre \n\n* BIM: Refactor structure of the Arch Wall command\n\nRefactor the `Arch_Wall` GUI command (`BimWall.py`) for improved\nreadability, maintainability, and architectural clarity.\n\n- A `WallBaselineMode` Enum is introduced to replace the original\n integer values, making the code self-documenting.\n- The monolithic `create_wall` method is broken down into smaller,\n single-responsibility helper functions for each creation mode.\n- The `addDefault` method has been removed, with its logic\n integrated into the new structure.\n\n* BIM: Add Draft Stretch support for baseless walls\n\nThis commit makes the new baseless Arch Walls graphically editable using\nthe `Draft_Stretch` tool.\n\n- An API for stretching (`calc_endpoints` and `set_from_endpoints`)\n has been added to the `ArchWall` proxy.\n- The `Draft_Stretch` tool is now aware of baseless walls and calls this\n new proxy API to perform the stretch operation, enabling users to\n stretch them.\n\nCo-authored-by: Yorik van Havre \n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* BIM: address CodeQL warnings\n\n* BIM: Fix wall alignment for GUI creation of baseless walls\n\nFixes an issue whereby creating a baseless wall from the GUI would\nignore the selected `Align` property, always resulting in a\ncenter-aligned wall.\n\n- The underlying geometry generation for baseless walls now correctly\n honors the `Align` property passed by the GUI and API.\n- To ensure predictable behavior, the implementation uses the same\n geometric convention as walls built from a base object, making the\n `Align` property work uniformly for all wall types.\n- This also corrects the behavior of the `Arch.makeWall` function for\n baseless walls.\n- Update unit tests to test wall alignment.\n\n* BIM: Refactor wall geometry generation for improved clarity and maintainability\n\nImproves the internal logic for wall geometry creation, addressing CodeQL warnings and enhancing overall maintainability without changing external behavior.\n\n- The `build_base_from_scratch` method is refactored to unify the separate logic paths for single- and multi-layer walls, reducing code duplication.\n- A local helper function is introduced to create face geometry, for better modularity and readability.\n- In the `_Wall.execute` method, the control flow that relied on implicit type checking is replaced with an explicit strategy pattern for fusing solids, making the logic more robust.\n- Variable names are made more descriptive.\n- A NumPy-style docstring is added to better document the function.\n\n* Draft: fix stretching of rotated baseless walls\n\n* BIM: add unit test for stretching baseless walls\n\n* BIM: add regression tests for working-plane-relative coordinates and reuse of base sketches\n\n* BIM: Fix baseless wall creation to respect the working plane\n\nCorrects an issue where baseless walls were created using global\ncoordinates instead of being relative to the active Draft working plane.\n\nThe calculated local placement of the wall is now correctly transformed\ninto the global coordinate system by multiplying it with the working\nplane's placement.\n\n* BIM: Ensure unique baselines for subsequent wall creation\n\nFixes a bug where creating multiple walls with baselines would\nincorrectly reuse the same underlying Sketch or Draft Line object.\n\nThe object retrieval logic after the `doCommand` call now correctly uses\n`ActiveObject` to get a reliable reference to the new object instead of\nrelying on a hardcoded name.\n\n* BIM: Make the wall's base object label translatable\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* BIM: use singular for consistency with other labels\n\nCo-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>\n\n* Fix typo\n\n* BIM: address reviewer's comments about improving object reference passing between Python and FreeCAD contexts, and functions\n\n* BIM: remove defensive programming: the callback is only executed as a result of a user's GUI action\n\n* BIM: use the params API to define WallBaseline parameter\n\n* BIM: add Arch Wall tests for joining wall logic\n\n* BIM: add joining logic\n\n* BIM: re-add ArchSketch support\n\n* BIM: re-add multimaterial support on wall creation\n\n* BIM: address CodeQL warning, remove module duplication\n\n* BIM: fix check for SketchArch module when creating sketch-based walls\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Yorik van Havre \nCo-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>\n\n* CI: upgrade Ubuntu native build to 24.04\n\n* CI: reenable Ubuntu native build\n\n* CI: abandon PySide6 pip approach, try KDE Neon repos\n\n* BIM: fix mistake in casting return value\n\n* BIM: add wall label to better identify transaction in the Undo stack\n\n* BIM: remove superfluous statement\n\n* BIM: add explanatory comment about additional transaction pending flag\n\n* BIM: Refactor Wall transaction logic to use explicit argument passing\n\nThis replaces the `Proxy.InTransaction` flag mechanism with a cleaner\ntransaction architecture based on explicit argument passing.\n\nThe motivation for managing the transaction mechanism is that\npreviously, removing a Wall's base object via the Task Panel triggered\n`debaseWall`, which opened and committed its own transaction\nimmediately. This nested commit finalized the document state\nprematurely, rendering the Task Panel's \"Cancel\" button ineffective.\n\nThe Task Panel now owns the transaction lifecycle for the editing\nsession. It propagates a `manage_transaction=False` flag down to the\nlogic layer, preventing nested transactions from committing prematurely.\n\nKey changes:\n- Arch.py: `debaseWall` now accepts `manage_transaction` (default True).\n Setting it to False allows the Task Panel to disable the nested\n transaction and include the debasing operation into its own\n transaction context instead.\n- ArchComponent.py:\n - `ComponentTaskPanel` now manages the transaction lifecycle (Open in\n init, Commit in accept, Abort in reject).\n - `ComponentTaskPanel.removeElement` now passes\n `manage_transaction=False` when calling the object's\n `handleComponentRemoval` proxy method.\n - Updated `Component.handleComponentRemoval` signature to accept the\n `manage_transaction` argument.\n- ArchWall.py:\n - Updated `_Wall.handleComponentRemoval` to pass the\n `manage_transaction` flag to `debaseWall`.\n - Cleaned up `WallTaskPanel` by removing the deprecated\n `InTransaction` logic and redundant overrides.\n\n* BIM: provide immediate visual feedback on additions and subtractions\n\n* BIM: remove low-level API transaction management\n\n* BIM: Refactor transaction management in ComponentTaskPanel\n\nThe C++ GUI layer implicitly manages the transaction lifecycle when\nentering and exiting edit mode.\n\nExplicitly opening a transaction in init and committing in accept() is\nredundant, as the backend establishes the transaction name and performs\nthe final commit during the resetEdit() cleanup phase.\n\nThe reject() method retains an explicit abortTransaction() call to\nsignal a rollback, which prevents the backend from committing session\nchanges by default.\n\nDocstrings are added to clarify this implicit interaction between the\nPython UI and the C++ document management logic.\n\n* Wall Options in title case\n\n* QtGui.QApplication.translate -> translate\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Yorik van Havre \nCo-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>","timestamp":"2026-02-02T15:39:20Z","url":"https://github.com/ilf-S/FreeCAD/commit/125ff0dceaa0c0e73c2517c682dfba75191ba8c1","author":{"name":"Furgo","email":"148809153+furgo16@users.noreply.github.com","date":"2026-02-02T16:39:20+01:00","username":"furgo16"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T15:39:20Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/BIM/Arch.py","src/Mod/BIM/ArchComponent.py","src/Mod/BIM/ArchWall.py"]},{"id":"92dbaad9db09eabd96d16809406c4b8d0fc7bb7f","tree_id":"0f4c89cd4597247e96eb8b90472496a52f7bc94b","distinct":true,"message":"Merge pull request #27243 from 3x380V/app\n\nApp: Random fixes 1","timestamp":"2026-02-02T17:40:40+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/92dbaad9db09eabd96d16809406c4b8d0fc7bb7f","author":{"name":"Kacper Donat","email":"kadet1090@gmail.com","date":"2026-02-02T17:40:40+01:00","username":"kadet1090"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T17:40:40+01:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/App/Application.cpp","src/App/Application.h","src/App/ApplicationPy.cpp","src/App/Expression.cpp","src/App/PreCompiled.h","src/App/ProjectFile.cpp","src/App/Property.cpp","src/App/PropertyExpressionEngine.cpp","src/App/PropertyExpressionEngine.h","src/App/PropertyLinks.cpp","src/App/PropertyStandard.cpp","src/App/Transactions.cpp","src/Gui/FileDialog.cpp","src/Gui/MainWindow.cpp"]},{"id":"212e4f07afdbc4b7c593b009ba3df08cbc3e77e1","tree_id":"a07ed1243bafc7986bee35d6f783ab34bf575269","distinct":true,"message":"Assembly: Fix isolate not working on sub assembly components","timestamp":"2026-02-02T17:41:41+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/212e4f07afdbc4b7c593b009ba3df08cbc3e77e1","author":{"name":"PaddleStroke","email":"pierrelouis.boyer@gmail.com","date":"2026-01-26T12:28:47+01:00","username":"PaddleStroke"},"committer":{"name":"Kacper Donat","email":"kadet1090@gmail.com","date":"2026-02-02T17:41:41+01:00","username":"kadet1090"},"added":[],"removed":[],"modified":["src/Mod/Assembly/Gui/ViewProviderAssembly.cpp"]},{"id":"a3486b4dd25f9c07ff8a1b88fda5b634743198a7","tree_id":"be48c5ae107b921b130aded5a768981c2ee40a94","distinct":true,"message":"Assembly: Insert flexible assembly grounds the correct part (#27206)\n\n* Assembly: Insert flexible assembly grounds the correct part\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* Assembly: Migrate ObjectToGround to PropertyLinkGlobal to support assembly links\n\n* Update JointObject.py\n\n* Assembly: ViewProviderAssembly fix assembly link deletion issue\n\n* Assembly: ViewProviderAssembly: make sure no duplicates in canDelete\n\n* Assembly CommandInsertLink fix typo\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>","timestamp":"2026-02-02T17:43:45+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/a3486b4dd25f9c07ff8a1b88fda5b634743198a7","author":{"name":"PaddleStroke","email":"pierrelouis.boyer@gmail.com","date":"2026-02-02T17:43:45+01:00","username":"PaddleStroke"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T17:43:45+01:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/Assembly/CommandInsertLink.py","src/Mod/Assembly/Gui/ViewProviderAssembly.cpp","src/Mod/Assembly/JointObject.py"]},{"id":"ed104dd2c109093bd728dc3bf1f744087c8db81a","tree_id":"ec42cd4c61381146475d8c0914859e2f104bf096","distinct":true,"message":"BIM: remove LibraryWebSearch option from BIM_Library as it required the Web WB (#27048)\n\n* BIM: remove LibraryWebSearch option from BIM_Library as it required the Web WB\n\nRemoved the 'checkWebSearch' checkbox and updated tooltip text formatting.\n\n* BIM: remove LibraryWebSearch option from BIM_Library as it required the Web WB\n\n* Restore tooltip","timestamp":"2026-02-02T17:59:40+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/ed104dd2c109093bd728dc3bf1f744087c8db81a","author":{"name":"Roy-043","email":"70520633+Roy-043@users.noreply.github.com","date":"2026-02-02T17:59:40+01:00","username":"Roy-043"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T17:59:40+01:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/BIM/Resources/ui/dialogLibrary.ui","src/Mod/BIM/bimcommands/BimLibrary.py"]},{"id":"30ea676367801e8f92d25c8abb83edadd1610f69","tree_id":"893229db147494ec292b242cd4dd5f2119028db8","distinct":true,"message":"BIM: add processSubShapes to ArchSpace.py\n\nFixes #24579.","timestamp":"2026-02-02T18:03:08+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/30ea676367801e8f92d25c8abb83edadd1610f69","author":{"name":"Roy-043","email":"70520633+Roy-043@users.noreply.github.com","date":"2026-01-29T16:50:33+01:00","username":"Roy-043"},"committer":{"name":"Kacper Donat","email":"kadet1090@gmail.com","date":"2026-02-02T18:03:08+01:00","username":"kadet1090"},"added":[],"removed":[],"modified":["src/Mod/BIM/ArchSpace.py"]},{"id":"1c90c1ec443cf3181020fe1fb97608df58ef7b87","tree_id":"a1d5107ae793bfa8e59a7829035f35e0142a4d61","distinct":true,"message":"CAM: Fix case when CAM operation `Safe height`, `Start depth`, and `Final depth` are the same value. (#27258)\n\nCo-authored-by: Daniel Khodabakhsh ","timestamp":"2026-02-02T18:03:59+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/1c90c1ec443cf3181020fe1fb97608df58ef7b87","author":{"name":"Daniel-Khodabakhsh","email":"Daniel-Khodabakhsh@users.noreply.github.com","date":"2026-02-02T09:03:59-08:00","username":"Daniel-Khodabakhsh"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T18:03:59+01:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/PathScripts/PathUtils.py"]},{"id":"21a597a85e1e22e17706efe2966a735995329a0d","tree_id":"938a844b4aea437fcc52c1c04bad0af10ef197c8","distinct":true,"message":"CAM: Post Processor Dyna_4060_Post - various bug fixes and updates (#27202)\n\n* various bug fixes and updates\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>","timestamp":"2026-02-02T18:07:31+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/21a597a85e1e22e17706efe2966a735995329a0d","author":{"name":"Dan Henderson","email":"luvtofish@gmail.com","date":"2026-02-02T11:07:31-06:00","username":"luvtofish"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T18:07:31+01:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Post/scripts/dynapath_4060_post.py"]},{"id":"8f2a3a4d7d51e37e8e1c2986cca934dfe5918bbb","tree_id":"f113c10059da94e534baa7c978aaf237938e4a9a","distinct":true,"message":"Draft : Added knots support for snapping (#26571)\n\n* Draft : Added knots support for snapping\n\nSigned-off-by: Yash Suthar \n\n* Use Special snap for knots and rename snapToBSpline to snapToBSplineKnots\n\n---------\n\nSigned-off-by: Yash Suthar \nCo-authored-by: Roy-043 <70520633+Roy-043@users.noreply.github.com>","timestamp":"2026-02-02T17:11:20Z","url":"https://github.com/ilf-S/FreeCAD/commit/8f2a3a4d7d51e37e8e1c2986cca934dfe5918bbb","author":{"name":"Yash Suthar","email":"yashsuthar983@gmail.com","date":"2026-02-02T22:41:20+05:30","username":"YashSuthar983"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-02-02T17:11:20Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/Draft/draftguitools/gui_snapper.py"]},{"id":"a4a1ef72946d7370e4b65b842b9a61554fd2bf18","tree_id":"f361a68edee6895f9b9583d85347dca9d38daafd","distinct":true,"message":"App: Get Addon name from Metadata","timestamp":"2026-02-02T19:50:16+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/a4a1ef72946d7370e4b65b842b9a61554fd2bf18","author":{"name":"Chris Hennes","email":"chennes@gmail.com","date":"2026-01-20T14:14:54-06:00","username":"chennes"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-02-02T19:50:16+01:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/App/Application.cpp"]},{"id":"79632dd3c68bcc12900262234e00603deba58f3b","tree_id":"19e95dd4a6e9d359e486ce41f0db459b84a6fff2","distinct":true,"message":"App: handle symlinks in Application::processFiles & DocInfo::getDocPath","timestamp":"2026-02-02T19:50:36+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/79632dd3c68bcc12900262234e00603deba58f3b","author":{"name":"captain0xff","email":"sayantandebin@gmail.com","date":"2026-01-26T18:15:28+05:30","username":"captain0xff"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-02-02T19:50:36+01:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/App/Application.cpp","src/App/PropertyLinks.cpp","src/Base/FileInfo.cpp","src/Base/FileInfo.h"]},{"id":"c407ff1e3910d2723720cb0fbc67758df82d6f2a","tree_id":"c48d8afad1034fae077aad20081219de0a5f7e71","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-02-03T02:02:40Z","url":"https://github.com/ilf-S/FreeCAD/commit/c407ff1e3910d2723720cb0fbc67758df82d6f2a","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-02-03T02:02:40Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-02-03T02:02:40Z","username":"ilf-S"},"added":[],"removed":[],"modified":["src/App/Application.cpp","src/App/Application.h","src/App/ApplicationPy.cpp","src/App/Expression.cpp","src/App/PreCompiled.h","src/App/ProjectFile.cpp","src/App/Property.cpp","src/App/PropertyExpressionEngine.cpp","src/App/PropertyExpressionEngine.h","src/App/PropertyLinks.cpp","src/App/PropertyStandard.cpp","src/App/Resources/translations/App_ca.ts","src/App/Transactions.cpp","src/Base/FileInfo.cpp","src/Base/FileInfo.h","src/Base/Resources/translations/Base_ca.ts","src/Gui/FileDialog.cpp","src/Gui/Language/FreeCAD_be.ts","src/Gui/Language/FreeCAD_ca.ts","src/Gui/Language/FreeCAD_cs.ts","src/Gui/Language/FreeCAD_da.ts","src/Gui/Language/FreeCAD_de.ts","src/Gui/Language/FreeCAD_el.ts","src/Gui/Language/FreeCAD_es-AR.ts","src/Gui/Language/FreeCAD_es-ES.ts","src/Gui/Language/FreeCAD_eu.ts","src/Gui/Language/FreeCAD_fi.ts","src/Gui/Language/FreeCAD_fr.ts","src/Gui/Language/FreeCAD_hr.ts","src/Gui/Language/FreeCAD_hu.ts","src/Gui/Language/FreeCAD_it.ts","src/Gui/Language/FreeCAD_ja.ts","src/Gui/Language/FreeCAD_ka.ts","src/Gui/Language/FreeCAD_ko.ts","src/Gui/Language/FreeCAD_nl.ts","src/Gui/Language/FreeCAD_pl.ts","src/Gui/Language/FreeCAD_pt-BR.ts","src/Gui/Language/FreeCAD_ro.ts","src/Gui/Language/FreeCAD_ru.ts","src/Gui/Language/FreeCAD_sl.ts","src/Gui/Language/FreeCAD_sr-CS.ts","src/Gui/Language/FreeCAD_sr.ts","src/Gui/Language/FreeCAD_sv-SE.ts","src/Gui/Language/FreeCAD_tr.ts","src/Gui/Language/FreeCAD_uk.ts","src/Gui/Language/FreeCAD_zh-CN.ts","src/Gui/Language/FreeCAD_zh-TW.ts","src/Gui/MainWindow.cpp","src/Mod/Assembly/CommandInsertLink.py","src/Mod/Assembly/Gui/Resources/translations/Assembly_be.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ca.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_cs.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_da.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_de.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_el.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_es-AR.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_es-ES.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_eu.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_fi.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_fr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_hr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_hu.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_it.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ja.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ka.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ko.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_nl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_pl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_pt-BR.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ro.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ru.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sr-CS.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sv-SE.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_tr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_uk.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_zh-CN.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_zh-TW.ts","src/Mod/Assembly/Gui/ViewProviderAssembly.cpp","src/Mod/Assembly/JointObject.py","src/Mod/BIM/Arch.py","src/Mod/BIM/ArchComponent.py","src/Mod/BIM/ArchProfile.py","src/Mod/BIM/ArchSpace.py","src/Mod/BIM/ArchWall.py","src/Mod/BIM/Resources/translations/Arch_be.ts","src/Mod/BIM/Resources/translations/Arch_ca.ts","src/Mod/BIM/Resources/translations/Arch_cs.ts","src/Mod/BIM/Resources/translations/Arch_da.qm","src/Mod/BIM/Resources/translations/Arch_da.ts","src/Mod/BIM/Resources/translations/Arch_de.ts","src/Mod/BIM/Resources/translations/Arch_el.ts","src/Mod/BIM/Resources/translations/Arch_es-AR.ts","src/Mod/BIM/Resources/translations/Arch_es-ES.ts","src/Mod/BIM/Resources/translations/Arch_eu.ts","src/Mod/BIM/Resources/translations/Arch_fi.ts","src/Mod/BIM/Resources/translations/Arch_fr.ts","src/Mod/BIM/Resources/translations/Arch_hr.ts","src/Mod/BIM/Resources/translations/Arch_hu.ts","src/Mod/BIM/Resources/translations/Arch_it.qm","src/Mod/BIM/Resources/translations/Arch_it.ts","src/Mod/BIM/Resources/translations/Arch_ja.ts","src/Mod/BIM/Resources/translations/Arch_ka.ts","src/Mod/BIM/Resources/translations/Arch_ko.ts","src/Mod/BIM/Resources/translations/Arch_nl.qm","src/Mod/BIM/Resources/translations/Arch_nl.ts","src/Mod/BIM/Resources/translations/Arch_pl.ts","src/Mod/BIM/Resources/translations/Arch_pt-BR.ts","src/Mod/BIM/Resources/translations/Arch_ro.ts","src/Mod/BIM/Resources/translations/Arch_ru.ts","src/Mod/BIM/Resources/translations/Arch_sl.qm","src/Mod/BIM/Resources/translations/Arch_sl.ts","src/Mod/BIM/Resources/translations/Arch_sr-CS.ts","src/Mod/BIM/Resources/translations/Arch_sr.ts","src/Mod/BIM/Resources/translations/Arch_sv-SE.ts","src/Mod/BIM/Resources/translations/Arch_tr.ts","src/Mod/BIM/Resources/translations/Arch_uk.ts","src/Mod/BIM/Resources/translations/Arch_zh-CN.ts","src/Mod/BIM/Resources/translations/Arch_zh-TW.ts","src/Mod/BIM/Resources/ui/dialogLibrary.ui","src/Mod/BIM/bimcommands/BimLibrary.py","src/Mod/BIM/bimtests/TestArchComponent.py","src/Mod/CAM/Gui/Resources/translations/CAM_be.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ca.ts","src/Mod/CAM/Gui/Resources/translations/CAM_cs.ts","src/Mod/CAM/Gui/Resources/translations/CAM_da.ts","src/Mod/CAM/Gui/Resources/translations/CAM_de.ts","src/Mod/CAM/Gui/Resources/translations/CAM_el.ts","src/Mod/CAM/Gui/Resources/translations/CAM_es-AR.ts","src/Mod/CAM/Gui/Resources/translations/CAM_es-ES.ts","src/Mod/CAM/Gui/Resources/translations/CAM_eu.ts","src/Mod/CAM/Gui/Resources/translations/CAM_fi.ts","src/Mod/CAM/Gui/Resources/translations/CAM_fr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_hr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_hu.ts","src/Mod/CAM/Gui/Resources/translations/CAM_it.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ja.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ka.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ko.ts","src/Mod/CAM/Gui/Resources/translations/CAM_nl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_pl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_pt-BR.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ro.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ru.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sr-CS.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sv-SE.ts","src/Mod/CAM/Gui/Resources/translations/CAM_tr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_uk.ts","src/Mod/CAM/Gui/Resources/translations/CAM_zh-CN.ts","src/Mod/CAM/Gui/Resources/translations/CAM_zh-TW.ts","src/Mod/CAM/Path/Post/scripts/dynapath_4060_post.py","src/Mod/CAM/PathScripts/PathUtils.py","src/Mod/Draft/Resources/translations/Draft_be.ts","src/Mod/Draft/Resources/translations/Draft_ca.ts","src/Mod/Draft/Resources/translations/Draft_cs.ts","src/Mod/Draft/Resources/translations/Draft_da.ts","src/Mod/Draft/Resources/translations/Draft_de.qm","src/Mod/Draft/Resources/translations/Draft_de.ts","src/Mod/Draft/Resources/translations/Draft_el.ts","src/Mod/Draft/Resources/translations/Draft_es-AR.ts","src/Mod/Draft/Resources/translations/Draft_es-ES.ts","src/Mod/Draft/Resources/translations/Draft_eu.ts","src/Mod/Draft/Resources/translations/Draft_fi.ts","src/Mod/Draft/Resources/translations/Draft_fr.ts","src/Mod/Draft/Resources/translations/Draft_hr.ts","src/Mod/Draft/Resources/translations/Draft_hu.ts","src/Mod/Draft/Resources/translations/Draft_it.qm","src/Mod/Draft/Resources/translations/Draft_it.ts","src/Mod/Draft/Resources/translations/Draft_ja.ts","src/Mod/Draft/Resources/translations/Draft_ka.ts","src/Mod/Draft/Resources/translations/Draft_ko.ts","src/Mod/Draft/Resources/translations/Draft_nl.qm","src/Mod/Draft/Resources/translations/Draft_nl.ts","src/Mod/Draft/Resources/translations/Draft_pl.ts","src/Mod/Draft/Resources/translations/Draft_pt-BR.qm","src/Mod/Draft/Resources/translations/Draft_pt-BR.ts","src/Mod/Draft/Resources/translations/Draft_ro.ts","src/Mod/Draft/Resources/translations/Draft_ru.ts","src/Mod/Draft/Resources/translations/Draft_sl.qm","src/Mod/Draft/Resources/translations/Draft_sl.ts","src/Mod/Draft/Resources/translations/Draft_sr-CS.ts","src/Mod/Draft/Resources/translations/Draft_sr.ts","src/Mod/Draft/Resources/translations/Draft_sv-SE.ts","src/Mod/Draft/Resources/translations/Draft_tr.ts","src/Mod/Draft/Resources/translations/Draft_uk.ts","src/Mod/Draft/Resources/translations/Draft_zh-CN.ts","src/Mod/Draft/Resources/translations/Draft_zh-TW.ts","src/Mod/Draft/draftguitools/gui_snapper.py","src/Mod/Fem/Gui/Resources/translations/Fem_da.ts","src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts","src/Mod/Material/Gui/Resources/translations/Material_el.ts","src/Mod/Measure/Gui/Resources/translations/Measure_sl.ts","src/Mod/Mesh/Gui/Resources/translations/Mesh_el.ts","src/Mod/Part/Gui/Resources/translations/Part_da.ts","src/Mod/Part/Gui/Resources/translations/Part_el.ts","src/Mod/Part/Gui/Resources/translations/Part_it.ts","src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_be.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ca.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_da.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_el.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-AR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-ES.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_eu.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fi.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ja.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ka.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ko.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-BR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ro.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ru.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr-CS.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-TW.ts","src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_el.ts","src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_it.ts","src/Mod/Robot/Gui/Resources/translations/Robot_el.ts","src/Mod/Robot/Gui/Resources/translations/Robot_es-AR.ts","src/Mod/Robot/Gui/Resources/translations/Robot_es-ES.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_be.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ca.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_cs.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_da.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_de.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_el.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-AR.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-ES.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_eu.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fi.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_it.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ja.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ka.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ko.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_nl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-BR.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ro.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ru.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr-CS.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sv-SE.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_tr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_uk.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-TW.ts","src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_el.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_da.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-AR.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-ES.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fr.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-BR.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ru.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sl.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sv-SE.ts"]}],"head_commit":{"id":"c407ff1e3910d2723720cb0fbc67758df82d6f2a","tree_id":"c48d8afad1034fae077aad20081219de0a5f7e71","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-02-03T02:02:40Z","url":"https://github.com/ilf-S/FreeCAD/commit/c407ff1e3910d2723720cb0fbc67758df82d6f2a","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-02-03T02:02:40Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-02-03T02:02:40Z","username":"ilf-S"},"added":[],"removed":[],"modified":["src/App/Application.cpp","src/App/Application.h","src/App/ApplicationPy.cpp","src/App/Expression.cpp","src/App/PreCompiled.h","src/App/ProjectFile.cpp","src/App/Property.cpp","src/App/PropertyExpressionEngine.cpp","src/App/PropertyExpressionEngine.h","src/App/PropertyLinks.cpp","src/App/PropertyStandard.cpp","src/App/Resources/translations/App_ca.ts","src/App/Transactions.cpp","src/Base/FileInfo.cpp","src/Base/FileInfo.h","src/Base/Resources/translations/Base_ca.ts","src/Gui/FileDialog.cpp","src/Gui/Language/FreeCAD_be.ts","src/Gui/Language/FreeCAD_ca.ts","src/Gui/Language/FreeCAD_cs.ts","src/Gui/Language/FreeCAD_da.ts","src/Gui/Language/FreeCAD_de.ts","src/Gui/Language/FreeCAD_el.ts","src/Gui/Language/FreeCAD_es-AR.ts","src/Gui/Language/FreeCAD_es-ES.ts","src/Gui/Language/FreeCAD_eu.ts","src/Gui/Language/FreeCAD_fi.ts","src/Gui/Language/FreeCAD_fr.ts","src/Gui/Language/FreeCAD_hr.ts","src/Gui/Language/FreeCAD_hu.ts","src/Gui/Language/FreeCAD_it.ts","src/Gui/Language/FreeCAD_ja.ts","src/Gui/Language/FreeCAD_ka.ts","src/Gui/Language/FreeCAD_ko.ts","src/Gui/Language/FreeCAD_nl.ts","src/Gui/Language/FreeCAD_pl.ts","src/Gui/Language/FreeCAD_pt-BR.ts","src/Gui/Language/FreeCAD_ro.ts","src/Gui/Language/FreeCAD_ru.ts","src/Gui/Language/FreeCAD_sl.ts","src/Gui/Language/FreeCAD_sr-CS.ts","src/Gui/Language/FreeCAD_sr.ts","src/Gui/Language/FreeCAD_sv-SE.ts","src/Gui/Language/FreeCAD_tr.ts","src/Gui/Language/FreeCAD_uk.ts","src/Gui/Language/FreeCAD_zh-CN.ts","src/Gui/Language/FreeCAD_zh-TW.ts","src/Gui/MainWindow.cpp","src/Mod/Assembly/CommandInsertLink.py","src/Mod/Assembly/Gui/Resources/translations/Assembly_be.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ca.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_cs.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_da.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_de.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_el.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_es-AR.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_es-ES.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_eu.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_fi.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_fr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_hr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_hu.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_it.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ja.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ka.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ko.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_nl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_pl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_pt-BR.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ro.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_ru.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sl.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sr-CS.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_sv-SE.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_tr.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_uk.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_zh-CN.ts","src/Mod/Assembly/Gui/Resources/translations/Assembly_zh-TW.ts","src/Mod/Assembly/Gui/ViewProviderAssembly.cpp","src/Mod/Assembly/JointObject.py","src/Mod/BIM/Arch.py","src/Mod/BIM/ArchComponent.py","src/Mod/BIM/ArchProfile.py","src/Mod/BIM/ArchSpace.py","src/Mod/BIM/ArchWall.py","src/Mod/BIM/Resources/translations/Arch_be.ts","src/Mod/BIM/Resources/translations/Arch_ca.ts","src/Mod/BIM/Resources/translations/Arch_cs.ts","src/Mod/BIM/Resources/translations/Arch_da.qm","src/Mod/BIM/Resources/translations/Arch_da.ts","src/Mod/BIM/Resources/translations/Arch_de.ts","src/Mod/BIM/Resources/translations/Arch_el.ts","src/Mod/BIM/Resources/translations/Arch_es-AR.ts","src/Mod/BIM/Resources/translations/Arch_es-ES.ts","src/Mod/BIM/Resources/translations/Arch_eu.ts","src/Mod/BIM/Resources/translations/Arch_fi.ts","src/Mod/BIM/Resources/translations/Arch_fr.ts","src/Mod/BIM/Resources/translations/Arch_hr.ts","src/Mod/BIM/Resources/translations/Arch_hu.ts","src/Mod/BIM/Resources/translations/Arch_it.qm","src/Mod/BIM/Resources/translations/Arch_it.ts","src/Mod/BIM/Resources/translations/Arch_ja.ts","src/Mod/BIM/Resources/translations/Arch_ka.ts","src/Mod/BIM/Resources/translations/Arch_ko.ts","src/Mod/BIM/Resources/translations/Arch_nl.qm","src/Mod/BIM/Resources/translations/Arch_nl.ts","src/Mod/BIM/Resources/translations/Arch_pl.ts","src/Mod/BIM/Resources/translations/Arch_pt-BR.ts","src/Mod/BIM/Resources/translations/Arch_ro.ts","src/Mod/BIM/Resources/translations/Arch_ru.ts","src/Mod/BIM/Resources/translations/Arch_sl.qm","src/Mod/BIM/Resources/translations/Arch_sl.ts","src/Mod/BIM/Resources/translations/Arch_sr-CS.ts","src/Mod/BIM/Resources/translations/Arch_sr.ts","src/Mod/BIM/Resources/translations/Arch_sv-SE.ts","src/Mod/BIM/Resources/translations/Arch_tr.ts","src/Mod/BIM/Resources/translations/Arch_uk.ts","src/Mod/BIM/Resources/translations/Arch_zh-CN.ts","src/Mod/BIM/Resources/translations/Arch_zh-TW.ts","src/Mod/BIM/Resources/ui/dialogLibrary.ui","src/Mod/BIM/bimcommands/BimLibrary.py","src/Mod/BIM/bimtests/TestArchComponent.py","src/Mod/CAM/Gui/Resources/translations/CAM_be.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ca.ts","src/Mod/CAM/Gui/Resources/translations/CAM_cs.ts","src/Mod/CAM/Gui/Resources/translations/CAM_da.ts","src/Mod/CAM/Gui/Resources/translations/CAM_de.ts","src/Mod/CAM/Gui/Resources/translations/CAM_el.ts","src/Mod/CAM/Gui/Resources/translations/CAM_es-AR.ts","src/Mod/CAM/Gui/Resources/translations/CAM_es-ES.ts","src/Mod/CAM/Gui/Resources/translations/CAM_eu.ts","src/Mod/CAM/Gui/Resources/translations/CAM_fi.ts","src/Mod/CAM/Gui/Resources/translations/CAM_fr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_hr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_hu.ts","src/Mod/CAM/Gui/Resources/translations/CAM_it.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ja.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ka.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ko.ts","src/Mod/CAM/Gui/Resources/translations/CAM_nl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_pl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_pt-BR.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ro.ts","src/Mod/CAM/Gui/Resources/translations/CAM_ru.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sl.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sr-CS.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_sv-SE.ts","src/Mod/CAM/Gui/Resources/translations/CAM_tr.ts","src/Mod/CAM/Gui/Resources/translations/CAM_uk.ts","src/Mod/CAM/Gui/Resources/translations/CAM_zh-CN.ts","src/Mod/CAM/Gui/Resources/translations/CAM_zh-TW.ts","src/Mod/CAM/Path/Post/scripts/dynapath_4060_post.py","src/Mod/CAM/PathScripts/PathUtils.py","src/Mod/Draft/Resources/translations/Draft_be.ts","src/Mod/Draft/Resources/translations/Draft_ca.ts","src/Mod/Draft/Resources/translations/Draft_cs.ts","src/Mod/Draft/Resources/translations/Draft_da.ts","src/Mod/Draft/Resources/translations/Draft_de.qm","src/Mod/Draft/Resources/translations/Draft_de.ts","src/Mod/Draft/Resources/translations/Draft_el.ts","src/Mod/Draft/Resources/translations/Draft_es-AR.ts","src/Mod/Draft/Resources/translations/Draft_es-ES.ts","src/Mod/Draft/Resources/translations/Draft_eu.ts","src/Mod/Draft/Resources/translations/Draft_fi.ts","src/Mod/Draft/Resources/translations/Draft_fr.ts","src/Mod/Draft/Resources/translations/Draft_hr.ts","src/Mod/Draft/Resources/translations/Draft_hu.ts","src/Mod/Draft/Resources/translations/Draft_it.qm","src/Mod/Draft/Resources/translations/Draft_it.ts","src/Mod/Draft/Resources/translations/Draft_ja.ts","src/Mod/Draft/Resources/translations/Draft_ka.ts","src/Mod/Draft/Resources/translations/Draft_ko.ts","src/Mod/Draft/Resources/translations/Draft_nl.qm","src/Mod/Draft/Resources/translations/Draft_nl.ts","src/Mod/Draft/Resources/translations/Draft_pl.ts","src/Mod/Draft/Resources/translations/Draft_pt-BR.qm","src/Mod/Draft/Resources/translations/Draft_pt-BR.ts","src/Mod/Draft/Resources/translations/Draft_ro.ts","src/Mod/Draft/Resources/translations/Draft_ru.ts","src/Mod/Draft/Resources/translations/Draft_sl.qm","src/Mod/Draft/Resources/translations/Draft_sl.ts","src/Mod/Draft/Resources/translations/Draft_sr-CS.ts","src/Mod/Draft/Resources/translations/Draft_sr.ts","src/Mod/Draft/Resources/translations/Draft_sv-SE.ts","src/Mod/Draft/Resources/translations/Draft_tr.ts","src/Mod/Draft/Resources/translations/Draft_uk.ts","src/Mod/Draft/Resources/translations/Draft_zh-CN.ts","src/Mod/Draft/Resources/translations/Draft_zh-TW.ts","src/Mod/Draft/draftguitools/gui_snapper.py","src/Mod/Fem/Gui/Resources/translations/Fem_da.ts","src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts","src/Mod/Material/Gui/Resources/translations/Material_el.ts","src/Mod/Measure/Gui/Resources/translations/Measure_sl.ts","src/Mod/Mesh/Gui/Resources/translations/Mesh_el.ts","src/Mod/Part/Gui/Resources/translations/Part_da.ts","src/Mod/Part/Gui/Resources/translations/Part_el.ts","src/Mod/Part/Gui/Resources/translations/Part_it.ts","src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_be.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ca.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_da.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_el.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-AR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-ES.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_eu.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fi.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ja.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ka.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ko.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-BR.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ro.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ru.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sl.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr-CS.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts","src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-TW.ts","src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_el.ts","src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_it.ts","src/Mod/Robot/Gui/Resources/translations/Robot_el.ts","src/Mod/Robot/Gui/Resources/translations/Robot_es-AR.ts","src/Mod/Robot/Gui/Resources/translations/Robot_es-ES.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_be.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ca.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_cs.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_da.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_de.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_el.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-AR.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-ES.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_eu.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fi.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_it.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ja.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ka.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ko.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_nl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-BR.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ro.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ru.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sl.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr-CS.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sv-SE.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_tr.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_uk.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts","src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-TW.ts","src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_el.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_da.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-AR.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-ES.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fr.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-BR.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ru.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sl.ts","src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sv-SE.ts"]}}