{"ref":"refs/heads/main","before":"a9d03818d4481e671e65fb53d640b9b23bbbb9b8","after":"b9b08e57f428ff520754694616f03baa1a5e725f","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-04-03T02:10:28Z","pushed_at":1775268189,"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":2422528,"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,"has_pull_requests":true,"pull_request_creation_policy":"all","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/a9d03818d448...b9b08e57f428","commits":[{"id":"a2dcd1f977e8ce0ca1b0abc1abdbd5a82f9946ca","tree_id":"cbfad44caae97804d927668c2fed3a5183ef9f02","distinct":true,"message":"CAM: Boundary dress-up - RestMachining","timestamp":"2026-03-28T10:50:03+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/a2dcd1f977e8ce0ca1b0abc1abdbd5a82f9946ca","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2025-08-08T09:13:28+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-03-28T10:50:03+02:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Dressup/Boundary.py","src/Mod/CAM/Path/Op/Util.py"]},{"id":"108c65bb0c16065c121ecd475f7efc59788b0494","tree_id":"a9a722507182dedf6737d7f995119d8a96ebc031","distinct":true,"message":"Base: remove QString overloads from Base::Tools","timestamp":"2026-03-30T14:51:40+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/108c65bb0c16065c121ecd475f7efc59788b0494","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T12:50:21+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:51:40+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Base/Reader.h","src/Base/Tools.cpp","src/Base/Tools.h","src/Base/UnitsApi.h","src/Gui/Document.cpp","src/Gui/FileHandler.cpp","src/Mod/Import/Gui/Command.cpp","src/Mod/Part/Gui/Command.cpp","src/Mod/Points/Gui/Command.cpp","src/Mod/TechDraw/Gui/Command.cpp","src/Mod/TechDraw/Gui/CommandDecorate.cpp"]},{"id":"bbc8554e618dd943fa5637b547bc3bf1eeedda4d","tree_id":"c5c140c7664e7cad1c78ceefaabf8f40353ae3ae","distinct":true,"message":"Tests: cover Tools escapeEncodeString/Filename","timestamp":"2026-03-30T14:51:44+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/bbc8554e618dd943fa5637b547bc3bf1eeedda4d","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:09:16Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:51:44+01:00","username":"tritao"},"added":[],"removed":[],"modified":["tests/src/Base/Tools.cpp"]},{"id":"f6d748e5c02f3bb05a1e825a9b96f28f983a410e","tree_id":"8d877a99447ff0c4beacd3fa863b4ef4120fc879","distinct":true,"message":"Base: replace QAtomicInt with std::atomic in Handled","timestamp":"2026-03-30T14:51:44+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/f6d748e5c02f3bb05a1e825a9b96f28f983a410e","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:10:55Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:51:44+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Base/Handle.cpp","src/Base/Handle.h"]},{"id":"708a25990c997f7da64d775c8adda2f1fd263c71","tree_id":"2364517e2690d99f404868df7dd2d5d3239ea6f0","distinct":true,"message":"Base: replace QUuid with internal UUID v4","timestamp":"2026-03-30T14:51:44+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/708a25990c997f7da64d775c8adda2f1fd263c71","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T12:51:16+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:51:44+01:00","username":"tritao"},"added":["tests/src/Base/Uuid.cpp"],"removed":[],"modified":["src/Base/Uuid.cpp","tests/src/Base/CMakeLists.txt"]},{"id":"95d346cb13a6add12a72bac7c197c64802f41c4c","tree_id":"d00384c308c7e72327b738a95a5a94ede30e91a7","distinct":true,"message":"Base: replace QLockFile with OS FileLock","timestamp":"2026-03-30T14:51:44+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/95d346cb13a6add12a72bac7c197c64802f41c4c","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:17:12Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:51:44+01:00","username":"tritao"},"added":["src/Base/FileLock.cpp","src/Base/FileLock.h","tests/src/Base/FileLock.cpp"],"removed":[],"modified":["src/Base/CMakeLists.txt","src/Base/Parameter.cpp","tests/src/Base/CMakeLists.txt","tests/src/Base/Parameter.cpp"]},{"id":"e4f9f8566ef20727992da6982bbaedcbe489f9e8","tree_id":"8a5849d08f4349488671c5ab3a75e0519f3c941e","distinct":true,"message":"Base: make Tools::currentDateTimeString UTC and Qt-free","timestamp":"2026-03-30T14:58:32+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/e4f9f8566ef20727992da6982bbaedcbe489f9e8","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:19:19Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:58:32+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Base/Tools.cpp","src/Base/Tools.h","src/Gui/Dialogs/DlgProjectInformationImp.cpp","tests/src/Base/Tools.cpp"]},{"id":"37284960978200ce7d8deb0d51a42c2aec04b5fe","tree_id":"fde7f619534a35c39ff29c3f2192869a368d99d6","distinct":true,"message":"Base: remove Qt UTF-8 validation from StdInputStream","timestamp":"2026-03-30T14:58:33+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/37284960978200ce7d8deb0d51a42c2aec04b5fe","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:22:00Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:58:33+01:00","username":"tritao"},"added":["tests/src/Base/InputSource.cpp"],"removed":[],"modified":["src/Base/InputSource.cpp","tests/src/Base/CMakeLists.txt"]},{"id":"88db58e3432f9824cc9bd4258567a86f3832c3b3","tree_id":"01a13d36c7a01f07563ef522d7f59ac9ee3930d3","distinct":true,"message":"Base: rewrite Persistence::validateXMLString without Qt","timestamp":"2026-03-30T14:58:33+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/88db58e3432f9824cc9bd4258567a86f3832c3b3","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:24:56Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:58:33+01:00","username":"tritao"},"added":["tests/src/Base/Persistence.cpp"],"removed":[],"modified":["src/Base/Persistence.cpp","tests/src/Base/CMakeLists.txt"]},{"id":"57a1a10aa600513ee65ac283489db93b47bf79bb","tree_id":"8bc232a0a4e06c7ab98df3b859df87dd7d75a9bb","distinct":true,"message":"Base: make QuantityFormat number options Qt-independent","timestamp":"2026-03-30T14:58:33+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/57a1a10aa600513ee65ac283489db93b47bf79bb","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:27:26Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:58:33+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Base/Quantity.h","tests/src/Base/Quantity.cpp"]},{"id":"9f827ae153a7dadc8e6ab34dbe5757a80c127b42","tree_id":"1a252508ce3497d3bcff2d33905d3a80bf71e28f","distinct":true,"message":"Base: replace UnitsSchema::toLocale QLocale formatting with ICU","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/9f827ae153a7dadc8e6ab34dbe5757a80c127b42","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T14:58:51+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":["tests/src/Base/UnitsSchemaFormat.cpp"],"removed":[],"modified":["src/Base/Tools.cpp","src/Base/Tools.h","src/Base/UnitsSchema.cpp","src/Gui/Language/Translator.cpp","tests/src/Base/CMakeLists.txt","tests/src/Base/SchemaTests.cpp"]},{"id":"a390d36d300252152b399fd23e606a351a2401ca","tree_id":"cc70344530240b9f57aacdcbf235bc46554443ed","distinct":true,"message":"Base: add std::string streambufs and migrate callers\n\nAdd Base::StringOStreambuf/StringIStreambuf and switch in-memory copy/paste paths to std::string-backed buffers. Includes unit tests for seek + binary roundtrip.","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/a390d36d300252152b399fd23e606a351a2401ca","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:42:04Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/App/Document.cpp","src/Base/Stream.cpp","src/Base/Stream.h","src/Gui/MainWindow.cpp","src/Mod/Spreadsheet/Gui/SheetTableView.cpp","tests/src/Base/Stream.cpp"]},{"id":"b260b7e4793f91e46eda37662502457807d1106a","tree_id":"d3583515896a0c56f8714716c3581191decb517e","distinct":true,"message":"Base: remove Qt streambuf wrappers from Stream\n\nRemove the Qt QByteArray/QIODevice streambuf adapters from Base (no remaining in-tree users). Base::Stream now only provides std::string-backed in-memory streambufs.","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/b260b7e4793f91e46eda37662502457807d1106a","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:48:51Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Base/Stream.cpp","src/Base/Stream.h"]},{"id":"ac655c4bf7510932377e63217e107e060828a858","tree_id":"572189f654eec903408d0e1c18a359813ac027a5","distinct":true,"message":"Base: remove QtGlobal dependency from UnitsSchemasData\n\nUnitsSchemasData.h now provides a QT_TRANSLATE_NOOP fallback macro when Qt is not available, so Base can compile without QtGlobal.","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/ac655c4bf7510932377e63217e107e060828a858","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T15:51:38Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Base/UnitsSchemasData.h"]},{"id":"0f74722525e98a1ecb1b1b8e9bfd93868f6d9caa","tree_id":"71543af432d95feeb77acf165524afd9481911c0","distinct":true,"message":"Base: remove QtCore dependency from Base::Console\n\nReplace Qt event-loop dispatch with optional handler callbacks and a\ndirect fallback. Base::Console no longer includes or requires QtCore.\nAdd unit tests for direct and queued behavior.","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/0f74722525e98a1ecb1b1b8e9bfd93868f6d9caa","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T12:53:18+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":["tests/src/Base/Console.cpp"],"removed":[],"modified":["src/Base/Console.cpp","src/Base/Console.h","tests/src/Base/CMakeLists.txt"]},{"id":"054a90e0296bf1d7026a588d4eef86055f6600e0","tree_id":"276a38156852ed46158441f4e88bf560753181f0","distinct":true,"message":"App: install Qt bridge for Base::Console queued/refresh\n\nInstall Base::Console post-event and refresh handlers in App init.\nQueued console delivery is marshalled to the Qt main thread when a\nQCoreApplication exists; refresh pumps Qt events via processEvents.","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/054a90e0296bf1d7026a588d4eef86055f6600e0","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T12:53:56+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":["src/App/ConsoleQtBridge.cpp","src/App/ConsoleQtBridge.h"],"removed":[],"modified":["src/App/Application.cpp","src/App/CMakeLists.txt"]},{"id":"06da01aa970332f56200c2345218f99b01c664ab","tree_id":"a159daee317fd31455d81d59cac615d9c1942825","distinct":true,"message":"Console: add runtime notify overload","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/06da01aa970332f56200c2345218f99b01c664ab","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-25T10:47:19Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/App/ConsoleQtBridge.cpp","src/Base/Console.cpp","src/Base/Console.h"]},{"id":"adbb833ebfd204397732900bdc6344c24047a877","tree_id":"ac7fd3119766abab9dad32a0c1bb9534b5653e37","distinct":true,"message":"Base: add Qt-free translation handler facade\n\nIntroduce Base::Translation with pluggable translate/install/remove handlers (Qt-free) and unit tests for fallback and handler wiring.","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/adbb833ebfd204397732900bdc6344c24047a877","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T16:26:23Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":["src/Base/Translation.cpp","src/Base/Translation.h","tests/src/Base/Translation.cpp","tests/src/Base/TranslationTestHelpers.h"],"removed":[],"modified":["src/Base/CMakeLists.txt","tests/src/Base/CMakeLists.txt"]},{"id":"f35730e2bd617f5d5122b7eeabba97ee35d16d3b","tree_id":"18271f2fa172020155c99c8d820d40955bb84713","distinct":true,"message":"Base: refactor __Translate__ module off Qt\n\nRewrite Base::Translate to use Base::Translation handlers (Qt-free)\nwhile keeping the Python API stable. Add tests that import __Translate__\nand verify translate/install/remove handler wiring.","timestamp":"2026-03-30T17:31:35+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/f35730e2bd617f5d5122b7eeabba97ee35d16d3b","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T12:54:46+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:35+01:00","username":"tritao"},"added":["tests/src/Base/Translate.cpp"],"removed":[],"modified":["src/Base/Translate.cpp","src/Base/Translate.h","tests/src/Base/CMakeLists.txt"]},{"id":"a50fd4f04242d6cc1db2527fcbf69ba3ef30cb82","tree_id":"e5f6ecde9d06898515ac094632fbba432a749a96","distinct":true,"message":"App: install Qt translation handlers for Base::Translation\n\nProvide App::installTranslationQtBridge() to back Base::Translation via\nQCoreApplication::translate and QTranslator install/remove (called\nduring App init).","timestamp":"2026-03-30T17:31:36+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/a50fd4f04242d6cc1db2527fcbf69ba3ef30cb82","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T12:55:37+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:36+01:00","username":"tritao"},"added":["src/App/TranslationQtBridge.cpp","src/App/TranslationQtBridge.h"],"removed":[],"modified":["src/App/Application.cpp","src/App/CMakeLists.txt"]},{"id":"e80aabcaeb86c6d7bd418cceef326faca08624c0","tree_id":"7dd0549d9d090f9f74ad217c322f8b03fbd70e3d","distinct":true,"message":"Base: route UnitsSchemas descriptions through Base::Translation\n\nReplace QCoreApplication::translate usage in Base::UnitsSchemas with the new Qt-free Base::Translation facade; add a unit test ensuring descriptions are passed through the translation handler.","timestamp":"2026-03-30T17:31:36+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/e80aabcaeb86c6d7bd418cceef326faca08624c0","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T16:29:12Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:36+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Base/UnitsSchemas.cpp","tests/src/Base/SchemaTests.cpp"]},{"id":"85dace01c28d7c96029c41ead7b7faa7d8893385","tree_id":"71685c54324c6321d8ef0db57d55b3ccbe03e771","distinct":true,"message":"Tests: avoid reinitializing __Translate__ module\n\nMake Base translation tests reuse the existing __Translate__ module if already imported, to avoid double-initialize issues across gtest cases.","timestamp":"2026-03-30T17:31:36+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/85dace01c28d7c96029c41ead7b7faa7d8893385","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T16:29:54Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:36+01:00","username":"tritao"},"added":[],"removed":[],"modified":["tests/src/Base/Translate.cpp"]},{"id":"2d6d6083faa469c7215f9eabff10853f77c3bcaf","tree_id":"88e0ff2e83c995623b769660f9b639dcee51c9c2","distinct":true,"message":"Inspection: replace FutureWatcherProgress","timestamp":"2026-03-30T17:31:36+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/2d6d6083faa469c7215f9eabff10853f77c3bcaf","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-10T17:04:39Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:36+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Inspection/App/InspectionFeature.cpp"]},{"id":"2d30fde806de6514e050d7eea785500e95341da4","tree_id":"e5504e6c9d5c2288f0fc3b297a349d094c7f51fe","distinct":true,"message":"Base: remove unused Qt-only Debugger and FutureWatcherProgress\n\nThese QObject-based helpers had no call sites outside Base. Removing\nthem eliminates remaining direct Qt includes in Base sources.","timestamp":"2026-03-30T17:31:36+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/2d30fde806de6514e050d7eea785500e95341da4","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T12:55:54+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:36+01:00","username":"tritao"},"added":[],"removed":["src/Base/Debugger.cpp","src/Base/FutureWatcherProgress.cpp"],"modified":["src/Base/CMakeLists.txt"]},{"id":"fddb13cbc31e0527d64129617d1e23f3b268f9a2","tree_id":"22654b6595afad8025bbf7c5cbb2b2aa178ac46a","distinct":true,"message":"Base: drop QtCore headers from PreCompiled.h\n\nQt headers were only pulled in via the Base precompiled header; Base\nsources no longer require them after the Qt-unlink refactors.","timestamp":"2026-03-30T17:31:36+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/fddb13cbc31e0527d64129617d1e23f3b268f9a2","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T12:56:17+01:00","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:36+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Base/FileInfo.cpp","src/Base/PreCompiled.h"]},{"id":"6a259f948a4cbbf5dbb591cfe23dbab4b2f72d71","tree_id":"8a15d94882fe8e3ebf04725fc941177dfae864ee","distinct":true,"message":"Base: unlink FreeCADBase from QtCore (move translations to App)","timestamp":"2026-03-30T17:31:36+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/6a259f948a4cbbf5dbb591cfe23dbab4b2f72d71","author":{"name":"tritao","email":"joao@tritao.eu","date":"2026-01-05T16:41:54Z","username":"tritao"},"committer":{"name":"tritao","email":"joao@tritao.eu","date":"2026-03-30T17:31:36+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/App/CMakeLists.txt","src/Base/CMakeLists.txt"]},{"id":"c4dffbff8669ae7e687d5a0eba84efa7f82a5fab","tree_id":"fcac8805d95674c2519be07234137560063ebae6","distinct":true,"message":"Guard against missing postprocessors\n\nfixes #26998","timestamp":"2026-03-30T13:39:02-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/c4dffbff8669ae7e687d5a0eba84efa7f82a5fab","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-03-30T13:39:02-05:00","username":"sliptonic"},"committer":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-03-30T13:39:02-05:00","username":"sliptonic"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Main/Job.py"]},{"id":"27eff43148502b9d9c9734e953efb28cd1e337e4","tree_id":"f9cbed486f93e00408883f78476ab632925e4bc0","distinct":true,"message":"PD: Drop {Groove,Revolution}::methodFromString\n\nSince 4c80e567c67f (\"[PD] Use enum class for revolution method\") enum\nclass RevolMethod defines ToLast = ThroughAll. Therefore we do not need\nmethodFromString at all and can use enum values directly.","timestamp":"2026-03-30T20:42:52+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/27eff43148502b9d9c9734e953efb28cd1e337e4","author":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-02-01T10:48:30+01:00","username":"3x380V"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-03-30T20:42:52+02:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/Mod/PartDesign/App/FeatureGroove.cpp","src/Mod/PartDesign/App/FeatureGroove.h","src/Mod/PartDesign/App/FeatureRevolution.cpp","src/Mod/PartDesign/App/FeatureRevolution.h"]},{"id":"0e6494c35f6d4f501dd17e9b0cbfd5ad092a8d86","tree_id":"d002ad51287c8a58d6bf13e36d6229106c2b96a0","distinct":true,"message":"PD: Move common code of Revolution and Groove to base class","timestamp":"2026-03-30T20:42:52+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/0e6494c35f6d4f501dd17e9b0cbfd5ad092a8d86","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-02-17T14:43:58+01:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-03-30T20:42:52+02:00","username":"3x380V"},"added":["src/Mod/PartDesign/App/FeatureRevolved.cpp","src/Mod/PartDesign/App/FeatureRevolved.h"],"removed":[],"modified":["src/Mod/PartDesign/App/AppPartDesign.cpp","src/Mod/PartDesign/App/CMakeLists.txt","src/Mod/PartDesign/App/FeatureGroove.cpp","src/Mod/PartDesign/App/FeatureGroove.h","src/Mod/PartDesign/App/FeatureRevolution.cpp","src/Mod/PartDesign/App/FeatureRevolution.h"]},{"id":"f8701f3b5c7cb605d57c2a04c135d862451fff41","tree_id":"3c73cf8e012e40fbe13e48a76ec2d835554a7083","distinct":true,"message":"PD: Clean-up revolution & groove code","timestamp":"2026-03-30T20:42:52+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/f8701f3b5c7cb605d57c2a04c135d862451fff41","author":{"name":"wmayer","email":"wmayer@freecad.org","date":"2025-02-17T15:49:33+01:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-03-30T20:42:52+02:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/Mod/PartDesign/App/FeatureRevolved.cpp","src/Mod/PartDesign/App/FeatureRevolved.h","src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp"]},{"id":"80664a0d30d7f712ac48db3f3c0ad7bce3839435","tree_id":"e7775b5e8aca191e5eac0c2e1cf8a3e54ace5ccc","distinct":true,"message":"PD: Improve revolution / groove feature\n\nImplement the ToFirst and ToLast option for revolution / groove.\nThis fixes issues 27403","timestamp":"2026-03-30T20:42:52+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/80664a0d30d7f712ac48db3f3c0ad7bce3839435","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-02-15T00:53:45+01:00","username":"wwmayer"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-03-30T20:42:52+02:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/Mod/Part/App/PartFeature.cpp","src/Mod/Part/App/PartFeature.h","src/Mod/PartDesign/App/FeatureRevolved.cpp","src/Mod/PartDesign/App/FeatureRevolved.h","src/Mod/PartDesign/App/FeatureSketchBased.cpp","src/Mod/PartDesign/App/FeatureSketchBased.h","src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp"]},{"id":"ceffe367dc75f7839bb7cbddd35b13a1555f3c18","tree_id":"d09682b1555d4b3613da353404fd70b868797565","distinct":true,"message":"PD: Limit RevolMethod::ToLast operation to Revolution\n\nRevolution's RevolMethod::ToLast is an alias for Groove's\nRevolMethod::ThroughAll, so until those two are decoupled\ndistiguish by the feature Revolved is done for.","timestamp":"2026-03-30T20:42:52+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/ceffe367dc75f7839bb7cbddd35b13a1555f3c18","author":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-03-24T09:01:49+01:00","username":"3x380V"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-03-30T20:42:52+02:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/Mod/PartDesign/App/FeatureRevolved.cpp"]},{"id":"f55ae7f06ef71f5cb9e5dca883721c97c777251b","tree_id":"0d4533e220d0b0f15cbcd8288d54a49836b82fb4","distinct":true,"message":"Part: Handle case when findAllFacesCutBy axis goes thru face's centre of mass","timestamp":"2026-03-30T20:42:52+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/f55ae7f06ef71f5cb9e5dca883721c97c777251b","author":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-03-30T20:39:59+02:00","username":"3x380V"},"committer":{"name":"Ladislav Michl","email":"ladis@triops.cz","date":"2026-03-30T20:42:52+02:00","username":"3x380V"},"added":[],"removed":[],"modified":["src/Mod/Part/App/PartFeature.cpp"]},{"id":"b66ab02fa1b78b8651f16899a1eae9e5240cbb2e","tree_id":"d235115198ee208c768c06c22f897d71a8ba18b6","distinct":true,"message":"CAM: Context menu refactoring","timestamp":"2026-03-31T11:03:50+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/b66ab02fa1b78b8651f16899a1eae9e5240cbb2e","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2025-12-27T17:44:37+02:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-03-31T11:03:50+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/InitGui.py"]},{"id":"61514f50a762f32b7bd919f574390cdad5a03190","tree_id":"987cb3ddcdcce0d00535d5ada5cecc6b8f313049","distinct":true,"message":"Merge branch 'main' into pr/remove-qt-boost-deps/001-base-qt-unlink","timestamp":"2026-03-31T19:18:05+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/61514f50a762f32b7bd919f574390cdad5a03190","author":{"name":"João Matos","email":"joao@tritao.eu","date":"2026-03-31T19:18:05+01:00","username":"tritao"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-03-31T19:18:05+01:00","username":"web-flow"},"added":["src/Gui/Inventor/SoNaviCube.cpp","src/Gui/Inventor/SoNaviCube.h","src/Mod/BIM/bimtests/TestArchAxisGui.py","src/Mod/CAM/CAMTests/TestDxfPost.py","src/Mod/CAM/CAMTests/TestSVGPost.py","src/Mod/Test/TestCoinNodeSnapshots.py","tests/src/Mod/Sketcher/App/SketchObjectSymmetric.cpp","tests/visual/baselines/coin-nodes/SoBrepEdgeSet.png","tests/visual/baselines/coin-nodes/SoBrepEdgeSetHighlight.png","tests/visual/baselines/coin-nodes/SoBrepEdgeSetSelection.png","tests/visual/baselines/coin-nodes/SoBrepFaceSet.png","tests/visual/baselines/coin-nodes/SoBrepFaceSetHighlight.png","tests/visual/baselines/coin-nodes/SoBrepFaceSetSelection.png","tests/visual/baselines/coin-nodes/SoBrepPointSet.png","tests/visual/baselines/coin-nodes/SoBrepPointSetHighlight.png","tests/visual/baselines/coin-nodes/SoBrepPointSetSelection.png","tests/visual/baselines/coin-nodes/SoDatumLabel.png","tests/visual/baselines/coin-nodes/SoDrawingGrid.png","tests/visual/baselines/coin-nodes/SoFCBackgroundGradient.png","tests/visual/baselines/coin-nodes/SoFCControlPoints.png","tests/visual/baselines/coin-nodes/SoFCIndexedFaceSet.png","tests/visual/baselines/coin-nodes/SoFCIndexedFaceSetPerFaceColor.png","tests/visual/baselines/coin-nodes/SoFCIndexedFaceSetPerVertexColor.png","tests/visual/baselines/coin-nodes/SoFCIndexedFaceSetTranslucent.png","tests/visual/baselines/coin-nodes/SoNaviCube.png","tests/visual/baselines/coin-nodes/SoNaviCubeHiliteFront.png","tests/visual/baselines/coin-nodes/SoNaviCubeTranslucent.png","tests/visual/baselines/coin-nodes/SoPolygon.png","tests/visual/baselines/coin-nodes/SoPolygonNonPlanar.png","tests/visual/baselines/coin-nodes/SoPolygonOpen.png","tests/visual/baselines/coin-nodes/SoPolygonStartIndex.png","tests/visual/baselines/coin-nodes/SoPolygonTriangle.png","tests/visual/baselines/coin-nodes/SoRegPoint.png","tests/visual/baselines/coin-nodes/SoStringLabel.png","tests/visual/baselines/coin-nodes/SoTextLabel.png","tests/visual/fonts/NotoSans-Regular.ttf","tests/visual/fonts/OFL.txt","tests/visual/fonts/README.md","tools/rendering/manage_coin_node_baselines.py"],"removed":[],"modified":[".github/ISSUE_TEMPLATE/1-FUNCTIONAL_PROBLEM_REPORT.yml",".github/ISSUE_TEMPLATE/config.yml",".github/scripts/run_gui_tests.py",".github/workflows/actions/runPythonTests/action.yml",".github/workflows/issue-metrics.yml",".github/workflows/sub_buildPixi.yml",".github/workflows/sub_buildUbuntu.yml",".pre-commit-config.yaml","cMake/FindPyCXX.cmake","cMake/FreeCAD_Helpers/ConfigureCMakeVariables.cmake","cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake","cMake/FreeCAD_Helpers/PrintFinalReport.cmake","src/App/ApplicationDirectories.cpp","src/App/ApplicationDirectories.h","src/App/ApplicationDirectories.pyi","src/App/ApplicationDirectoriesPyImp.cpp","src/App/Datums.cpp","src/Base/CMakeLists.txt","src/Base/Matrix.pyi","src/Base/Placement.pyi","src/Base/Rotation.pyi","src/Base/Stream.h","src/Base/Type.pyi","src/Base/Vector.pyi","src/Gui/Action.cpp","src/Gui/CMakeLists.txt","src/Gui/CallTips.cpp","src/Gui/CommandFeat.cpp","src/Gui/CommandPyImp.cpp","src/Gui/Dialogs/DlgParameterImp.cpp","src/Gui/Dialogs/DlgVersionMigrator.cpp","src/Gui/Dialogs/DlgVersionMigrator.h","src/Gui/FreeCADGuiInit.py","src/Gui/InputHint.h","src/Gui/InputHintWidget.cpp","src/Gui/ManualAlignment.cpp","src/Gui/NaviCube.cpp","src/Gui/NaviCube.h","src/Gui/Navigation/BlenderNavigationStyle.cpp","src/Gui/Navigation/CADNavigationStyle.cpp","src/Gui/Navigation/InventorNavigationStyle.cpp","src/Gui/Navigation/RevitNavigationStyle.cpp","src/Gui/Navigation/SolidWorksNavigationStyle.cpp","src/Gui/Navigation/TouchpadNavigationStyle.cpp","src/Gui/Notifications.h","src/Gui/OverlayManager.cpp","src/Gui/OverlayParams.py","src/Gui/OverlayWidgets.cpp","src/Gui/PreferencePackManager.cpp","src/Gui/PreferencePackTemplates/Shortcuts.cfg","src/Gui/PreferencePages/DlgSettingsAdvanced.py","src/Gui/PythonConsole.cpp","src/Gui/Selection/Selection.cpp","src/Gui/Selection/SelectionFilter.tab.c","src/Gui/Selection/SoFCSelection.cpp","src/Gui/Selection/SoFCSelectionAction.cpp","src/Gui/Selection/SoFCUnifiedSelection.cpp","src/Gui/SoDatumLabel.cpp","src/Gui/SoFCDB.cpp","src/Gui/SoTextLabel.cpp","src/Gui/TaskTransform.cpp","src/Gui/TaskView/TaskView.cpp","src/Gui/ToolBarManager.cpp","src/Gui/Tree.cpp","src/Gui/TreeParams.py","src/Gui/View3DInventorViewer.cpp","src/Gui/View3DInventorViewer.h","src/Gui/View3DSettings.cpp","src/Gui/ViewProviderDragger.cpp","src/Gui/ViewProviderGeometryObject.cpp","src/Gui/ViewProviderInventorObject.cpp","src/Gui/ViewProviderPyImp.cpp","src/Gui/ViewProviderVRMLObject.cpp","src/Gui/Widgets.cpp","src/Gui/Workbench.cpp","src/Gui/propertyeditor/PropertyEditor.cpp","src/Mod/Assembly/App/AssemblyUtils.cpp","src/Mod/Assembly/CommandCreateView.py","src/Mod/Assembly/CommandInsertLink.py","src/Mod/Assembly/CommandSolveAssembly.py","src/Mod/Assembly/Gui/ViewProviderAssemblyLink.cpp","src/Mod/Assembly/SoSwitchMarker.py","src/Mod/Assembly/TestAssemblyWorkbench.py","src/Mod/BIM/Arch.py","src/Mod/BIM/ArchComponent.py","src/Mod/BIM/ArchSchedule.py","src/Mod/BIM/ArchWindowPresets.py","src/Mod/BIM/CMakeLists.txt","src/Mod/BIM/Dice3DS/dom3ds.py","src/Mod/BIM/Dice3DS/util.py","src/Mod/BIM/TestArchGui.py","src/Mod/BIM/bimcommands/BimImagePlane.py","src/Mod/BIM/bimcommands/BimRewire.py","src/Mod/BIM/bimtests/TestArchAxis.py","src/Mod/BIM/bimtests/TestArchComponent.py","src/Mod/BIM/bimtests/TestArchReport.py","src/Mod/BIM/importers/exportIFC.py","src/Mod/BIM/importers/importIFC.py","src/Mod/BIM/importers/importIFCHelper.py","src/Mod/BIM/importers/importIFClegacy.py","src/Mod/BIM/importers/importSH3D.py","src/Mod/BIM/importers/importSH3DHelper.py","src/Mod/BIM/nativeifc/ifc_export.py","src/Mod/BIM/nativeifc/ifc_observer.py","src/Mod/BIM/nativeifc/ifc_performance_test.py","src/Mod/BIM/nativeifc/ifc_selftest.py","src/Mod/BIM/utils/buildPsets.py","src/Mod/CAM/App/AppPathPy.cpp","src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/AreaPyImp.cpp","src/Mod/CAM/App/PathSegmentWalker.cpp","src/Mod/CAM/CAMTests/TestCentroidLegacyPost.py","src/Mod/CAM/CAMTests/TestCentroidPost.py","src/Mod/CAM/CAMTests/TestDressupPost.py","src/Mod/CAM/CAMTests/TestGenericPlasma.py","src/Mod/CAM/CAMTests/TestGenericPost.py","src/Mod/CAM/CAMTests/TestGrblLegacyPost.py","src/Mod/CAM/CAMTests/TestGrblPost.py","src/Mod/CAM/CAMTests/TestLinuxCNCLegacyPost.py","src/Mod/CAM/CAMTests/TestLinuxCNCPost.py","src/Mod/CAM/CAMTests/TestMach3Mach4LegacyPost.py","src/Mod/CAM/CAMTests/TestMach3Mach4Post.py","src/Mod/CAM/CAMTests/TestMassoG3Post.py","src/Mod/CAM/CAMTests/TestPathDrillable.py","src/Mod/CAM/CAMTests/TestPathGeneratorDogboneII.py","src/Mod/CAM/CAMTests/TestPathHelixGenerator.py","src/Mod/CAM/CAMTests/TestPathOpDeburr.py","src/Mod/CAM/CAMTests/TestPathSpiralGenerator.py","src/Mod/CAM/CAMTests/TestPathToolBit.py","src/Mod/CAM/CAMTests/TestPathToolShapeDoc.py","src/Mod/CAM/CAMTests/TestPostGCodes.py","src/Mod/CAM/CAMTests/TestPostMCodes.py","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/Machine/models/machine.py","src/Mod/CAM/Machine/ui/editor/__init__.py","src/Mod/CAM/Machine/ui/editor/postprocessor_properties.py","src/Mod/CAM/Path/Base/Gui/PropertyBag.py","src/Mod/CAM/Path/Dressup/Gui/Array.py","src/Mod/CAM/Path/Dressup/Gui/AxisMap.py","src/Mod/CAM/Path/Dressup/Gui/Boundary.py","src/Mod/CAM/Path/Dressup/Gui/DogboneII.py","src/Mod/CAM/Path/Dressup/Gui/Dragknife.py","src/Mod/CAM/Path/Dressup/Gui/LeadInOut.py","src/Mod/CAM/Path/Dressup/Gui/RampEntry.py","src/Mod/CAM/Path/Dressup/Gui/Tags.py","src/Mod/CAM/Path/Dressup/Gui/ZCorrect.py","src/Mod/CAM/Path/Dressup/Tags.py","src/Mod/CAM/Path/Dressup/Utils.py","src/Mod/CAM/Path/Main/Gui/Job.py","src/Mod/CAM/Path/Main/Gui/JobCmd.py","src/Mod/CAM/Path/Main/Gui/PreferencesJob.py","src/Mod/CAM/Path/Main/Gui/Simulator.py","src/Mod/CAM/Path/Main/Gui/SimulatorGL.py","src/Mod/CAM/Path/Main/Job.py","src/Mod/CAM/Path/Main/Sanity/HTMLTemplate.py","src/Mod/CAM/Path/Main/Sanity/ImageBuilder.py","src/Mod/CAM/Path/Op/Area.py","src/Mod/CAM/Path/Op/Base.py","src/Mod/CAM/Path/Op/Deburr.py","src/Mod/CAM/Path/Op/Gui/Custom.py","src/Mod/CAM/Path/Op/Gui/Engrave.py","src/Mod/CAM/Path/Op/Gui/PathShapeTC.py","src/Mod/CAM/Path/Op/Gui/Profile.py","src/Mod/CAM/Path/Op/Gui/Selection.py","src/Mod/CAM/Path/Op/Gui/SimpleCopy.py","src/Mod/CAM/Path/Op/Gui/Surface.py","src/Mod/CAM/Path/Op/Gui/ThreadMilling.py","src/Mod/CAM/Path/Op/Gui/Vcarve.py","src/Mod/CAM/Path/Op/Pocket.py","src/Mod/CAM/Path/Op/PocketBase.py","src/Mod/CAM/Path/Op/PocketShape.py","src/Mod/CAM/Path/Op/Probe.py","src/Mod/CAM/Path/Op/Profile.py","src/Mod/CAM/Path/Op/Slot.py","src/Mod/CAM/Path/Op/Surface.py","src/Mod/CAM/Path/Op/SurfaceSupport.py","src/Mod/CAM/Path/Op/ThreadMilling.py","src/Mod/CAM/Path/Op/Vcarve.py","src/Mod/CAM/Path/Op/Waterline.py","src/Mod/CAM/Path/Post/Command.py","src/Mod/CAM/Path/Post/Processor.py","src/Mod/CAM/Path/Post/Utils.py","src/Mod/CAM/Path/Post/UtilsArguments.py","src/Mod/CAM/Path/Post/UtilsParse.py","src/Mod/CAM/Path/Post/scripts/centroid_legacy_post.py","src/Mod/CAM/Path/Post/scripts/centroid_post.py","src/Mod/CAM/Path/Post/scripts/estlcam_legacy_post.py","src/Mod/CAM/Path/Post/scripts/grbl_legacy_post.py","src/Mod/CAM/Path/Post/scripts/grbl_post.py","src/Mod/CAM/Path/Post/scripts/mach3_mach4_post.py","src/Mod/CAM/Path/Post/scripts/masso_g3_post.py","src/Mod/CAM/Path/Post/scripts/nccad_legacy_post.py","src/Mod/CAM/Path/Post/scripts/opensbp_legacy_post.py","src/Mod/CAM/Path/Post/scripts/smoothie_post.py","src/Mod/CAM/Path/Post/scripts/snapmaker_legacy_post.py","src/Mod/CAM/Path/Preferences.py","src/Mod/CAM/Path/Tool/Controller.py","src/Mod/CAM/Path/Tool/assets/manager.py","src/Mod/CAM/Path/Tool/library/serializers/__init__.py","src/Mod/CAM/Path/Tool/library/ui/__init__.py","src/Mod/CAM/Path/Tool/library/ui/browser.py","src/Mod/CAM/Path/Tool/library/ui/cmd.py","src/Mod/CAM/Path/Tool/library/ui/dock.py","src/Mod/CAM/Path/Tool/library/ui/editor.py","src/Mod/CAM/Path/Tool/shape/models/base.py","src/Mod/CAM/Path/Tool/shape/util.py","src/Mod/CAM/Path/Tool/toolbit/models/base.py","src/Mod/CAM/Path/Tool/toolbit/serializers/__init__.py","src/Mod/CAM/Path/Tool/toolbit/serializers/fctb.py","src/Mod/CAM/Path/Tool/toolbit/ui/browser.py","src/Mod/CAM/Path/Tool/toolbit/ui/toollist.py","src/Mod/CAM/PathCommands.py","src/Mod/CAM/TestCAMApp.py","src/Mod/CAM/libarea/Adaptive.cpp","src/Mod/CAM/libarea/clipper.cpp","src/Mod/Draft/Draft.py","src/Mod/Draft/DraftGeomUtils.py","src/Mod/Draft/DraftTools.py","src/Mod/Draft/DraftVecUtils.py","src/Mod/Draft/SVGPath.py","src/Mod/Draft/WorkingPlane.py","src/Mod/Draft/draftfunctions/__init__.py","src/Mod/Draft/draftfunctions/array.py","src/Mod/Draft/draftfunctions/cut.py","src/Mod/Draft/draftfunctions/downgrade.py","src/Mod/Draft/draftfunctions/draftify.py","src/Mod/Draft/draftfunctions/dxf.py","src/Mod/Draft/draftfunctions/extrude.py","src/Mod/Draft/draftfunctions/fuse.py","src/Mod/Draft/draftfunctions/heal.py","src/Mod/Draft/draftfunctions/join.py","src/Mod/Draft/draftfunctions/mirror.py","src/Mod/Draft/draftfunctions/move.py","src/Mod/Draft/draftfunctions/offset.py","src/Mod/Draft/draftfunctions/rotate.py","src/Mod/Draft/draftfunctions/scale.py","src/Mod/Draft/draftfunctions/split.py","src/Mod/Draft/draftfunctions/svg.py","src/Mod/Draft/draftfunctions/svgshapes.py","src/Mod/Draft/draftfunctions/svgtext.py","src/Mod/Draft/draftfunctions/upgrade.py","src/Mod/Draft/draftgeoutils/__init__.py","src/Mod/Draft/draftgeoutils/arcs.py","src/Mod/Draft/draftgeoutils/circle_inversion.py","src/Mod/Draft/draftgeoutils/circles.py","src/Mod/Draft/draftgeoutils/circles_apollonius.py","src/Mod/Draft/draftgeoutils/circles_incomplete.py","src/Mod/Draft/draftgeoutils/cuboids.py","src/Mod/Draft/draftgeoutils/edges.py","src/Mod/Draft/draftgeoutils/faces.py","src/Mod/Draft/draftgeoutils/fillets.py","src/Mod/Draft/draftgeoutils/general.py","src/Mod/Draft/draftgeoutils/geo_arrays.py","src/Mod/Draft/draftgeoutils/geometry.py","src/Mod/Draft/draftgeoutils/intersections.py","src/Mod/Draft/draftgeoutils/linear_algebra.py","src/Mod/Draft/draftgeoutils/offsets.py","src/Mod/Draft/draftgeoutils/sort_edges.py","src/Mod/Draft/draftgeoutils/wires.py","src/Mod/Draft/draftguitools/__init__.py","src/Mod/Draft/draftguitools/gui_annotationstyleeditor.py","src/Mod/Draft/draftguitools/gui_arcs.py","src/Mod/Draft/draftguitools/gui_arrays.py","src/Mod/Draft/draftguitools/gui_base.py","src/Mod/Draft/draftguitools/gui_base_original.py","src/Mod/Draft/draftguitools/gui_beziers.py","src/Mod/Draft/draftguitools/gui_circles.py","src/Mod/Draft/draftguitools/gui_circulararray.py","src/Mod/Draft/draftguitools/gui_clone.py","src/Mod/Draft/draftguitools/gui_dimension_ops.py","src/Mod/Draft/draftguitools/gui_dimensions.py","src/Mod/Draft/draftguitools/gui_downgrade.py","src/Mod/Draft/draftguitools/gui_draft2sketch.py","src/Mod/Draft/draftguitools/gui_edit.py","src/Mod/Draft/draftguitools/gui_edit_arch_objects.py","src/Mod/Draft/draftguitools/gui_edit_base_object.py","src/Mod/Draft/draftguitools/gui_edit_draft_objects.py","src/Mod/Draft/draftguitools/gui_edit_part_objects.py","src/Mod/Draft/draftguitools/gui_edit_sketcher_objects.py","src/Mod/Draft/draftguitools/gui_ellipses.py","src/Mod/Draft/draftguitools/gui_facebinders.py","src/Mod/Draft/draftguitools/gui_fillets.py","src/Mod/Draft/draftguitools/gui_grid.py","src/Mod/Draft/draftguitools/gui_groups.py","src/Mod/Draft/draftguitools/gui_heal.py","src/Mod/Draft/draftguitools/gui_join.py","src/Mod/Draft/draftguitools/gui_labels.py","src/Mod/Draft/draftguitools/gui_layers.py","src/Mod/Draft/draftguitools/gui_lines.py","src/Mod/Draft/draftguitools/gui_lineslope.py","src/Mod/Draft/draftguitools/gui_mirror.py","src/Mod/Draft/draftguitools/gui_move.py","src/Mod/Draft/draftguitools/gui_offset.py","src/Mod/Draft/draftguitools/gui_orthoarray.py","src/Mod/Draft/draftguitools/gui_patharray.py","src/Mod/Draft/draftguitools/gui_pathtwistedarray.py","src/Mod/Draft/draftguitools/gui_planeproxy.py","src/Mod/Draft/draftguitools/gui_pointarray.py","src/Mod/Draft/draftguitools/gui_points.py","src/Mod/Draft/draftguitools/gui_polararray.py","src/Mod/Draft/draftguitools/gui_polygons.py","src/Mod/Draft/draftguitools/gui_rectangles.py","src/Mod/Draft/draftguitools/gui_rotate.py","src/Mod/Draft/draftguitools/gui_scale.py","src/Mod/Draft/draftguitools/gui_selectplane.py","src/Mod/Draft/draftguitools/gui_shape2dview.py","src/Mod/Draft/draftguitools/gui_shapestrings.py","src/Mod/Draft/draftguitools/gui_snapper.py","src/Mod/Draft/draftguitools/gui_snaps.py","src/Mod/Draft/draftguitools/gui_splines.py","src/Mod/Draft/draftguitools/gui_split.py","src/Mod/Draft/draftguitools/gui_stretch.py","src/Mod/Draft/draftguitools/gui_styles.py","src/Mod/Draft/draftguitools/gui_subelements.py","src/Mod/Draft/draftguitools/gui_texts.py","src/Mod/Draft/draftguitools/gui_togglemodes.py","src/Mod/Draft/draftguitools/gui_tool_utils.py","src/Mod/Draft/draftguitools/gui_trackers.py","src/Mod/Draft/draftguitools/gui_trimex.py","src/Mod/Draft/draftguitools/gui_upgrade.py","src/Mod/Draft/draftguitools/gui_wire2spline.py","src/Mod/Draft/draftmake/__init__.py","src/Mod/Draft/draftmake/make_arc_3points.py","src/Mod/Draft/draftmake/make_array.py","src/Mod/Draft/draftmake/make_bezcurve.py","src/Mod/Draft/draftmake/make_block.py","src/Mod/Draft/draftmake/make_bspline.py","src/Mod/Draft/draftmake/make_circle.py","src/Mod/Draft/draftmake/make_circulararray.py","src/Mod/Draft/draftmake/make_clone.py","src/Mod/Draft/draftmake/make_copy.py","src/Mod/Draft/draftmake/make_dimension.py","src/Mod/Draft/draftmake/make_ellipse.py","src/Mod/Draft/draftmake/make_facebinder.py","src/Mod/Draft/draftmake/make_fillet.py","src/Mod/Draft/draftmake/make_label.py","src/Mod/Draft/draftmake/make_layer.py","src/Mod/Draft/draftmake/make_line.py","src/Mod/Draft/draftmake/make_orthoarray.py","src/Mod/Draft/draftmake/make_patharray.py","src/Mod/Draft/draftmake/make_point.py","src/Mod/Draft/draftmake/make_pointarray.py","src/Mod/Draft/draftmake/make_polararray.py","src/Mod/Draft/draftmake/make_polygon.py","src/Mod/Draft/draftmake/make_rectangle.py","src/Mod/Draft/draftmake/make_shape2dview.py","src/Mod/Draft/draftmake/make_shapestring.py","src/Mod/Draft/draftmake/make_sketch.py","src/Mod/Draft/draftmake/make_text.py","src/Mod/Draft/draftmake/make_wire.py","src/Mod/Draft/draftmake/make_wpproxy.py","src/Mod/Draft/draftobjects/__init__.py","src/Mod/Draft/draftobjects/array.py","src/Mod/Draft/draftobjects/base.py","src/Mod/Draft/draftobjects/bezcurve.py","src/Mod/Draft/draftobjects/block.py","src/Mod/Draft/draftobjects/bspline.py","src/Mod/Draft/draftobjects/circle.py","src/Mod/Draft/draftobjects/clone.py","src/Mod/Draft/draftobjects/dimension.py","src/Mod/Draft/draftobjects/draft_annotation.py","src/Mod/Draft/draftobjects/draftlink.py","src/Mod/Draft/draftobjects/ellipse.py","src/Mod/Draft/draftobjects/facebinder.py","src/Mod/Draft/draftobjects/fillet.py","src/Mod/Draft/draftobjects/label.py","src/Mod/Draft/draftobjects/layer.py","src/Mod/Draft/draftobjects/patharray.py","src/Mod/Draft/draftobjects/pathtwistedarray.py","src/Mod/Draft/draftobjects/point.py","src/Mod/Draft/draftobjects/pointarray.py","src/Mod/Draft/draftobjects/polygon.py","src/Mod/Draft/draftobjects/rectangle.py","src/Mod/Draft/draftobjects/shape2dview.py","src/Mod/Draft/draftobjects/shapestring.py","src/Mod/Draft/draftobjects/text.py","src/Mod/Draft/draftobjects/wire.py","src/Mod/Draft/draftobjects/wpproxy.py","src/Mod/Draft/drafttaskpanels/__init__.py","src/Mod/Draft/drafttaskpanels/task_circulararray.py","src/Mod/Draft/drafttaskpanels/task_orthoarray.py","src/Mod/Draft/drafttaskpanels/task_polararray.py","src/Mod/Draft/drafttaskpanels/task_scale.py","src/Mod/Draft/drafttaskpanels/task_selectplane.py","src/Mod/Draft/drafttaskpanels/task_shapestring.py","src/Mod/Draft/drafttests/__init__.py","src/Mod/Draft/drafttests/draft_test_objects.py","src/Mod/Draft/draftutils/__init__.py","src/Mod/Draft/draftutils/grid_observer.py","src/Mod/Draft/draftutils/groups.py","src/Mod/Draft/draftutils/gui_utils.py","src/Mod/Draft/draftutils/init_draft_statusbar.py","src/Mod/Draft/draftutils/messages.py","src/Mod/Draft/draftutils/todo.py","src/Mod/Draft/draftutils/translate.py","src/Mod/Draft/draftutils/units.py","src/Mod/Draft/draftutils/utils.py","src/Mod/Draft/draftviewproviders/__init__.py","src/Mod/Draft/draftviewproviders/view_array.py","src/Mod/Draft/draftviewproviders/view_base.py","src/Mod/Draft/draftviewproviders/view_bezcurve.py","src/Mod/Draft/draftviewproviders/view_bspline.py","src/Mod/Draft/draftviewproviders/view_circulararray.py","src/Mod/Draft/draftviewproviders/view_clone.py","src/Mod/Draft/draftviewproviders/view_dimension.py","src/Mod/Draft/draftviewproviders/view_draft_annotation.py","src/Mod/Draft/draftviewproviders/view_draftlink.py","src/Mod/Draft/draftviewproviders/view_facebinder.py","src/Mod/Draft/draftviewproviders/view_fillet.py","src/Mod/Draft/draftviewproviders/view_label.py","src/Mod/Draft/draftviewproviders/view_layer.py","src/Mod/Draft/draftviewproviders/view_orthoarray.py","src/Mod/Draft/draftviewproviders/view_point.py","src/Mod/Draft/draftviewproviders/view_polararray.py","src/Mod/Draft/draftviewproviders/view_rectangle.py","src/Mod/Draft/draftviewproviders/view_text.py","src/Mod/Draft/draftviewproviders/view_wire.py","src/Mod/Draft/draftviewproviders/view_wpproxy.py","src/Mod/Draft/importAirfoilDAT.py","src/Mod/Draft/importDWG.py","src/Mod/Draft/importOCA.py","src/Mod/Draft/importSVG.py","src/Mod/Fem/App/AppFemPy.cpp","src/Mod/Fem/App/FemPostPipeline.cpp","src/Mod/Fem/CreateLabels.py","src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp","src/Mod/Fem/Gui/TaskPostBoxes.cpp","src/Mod/Fem/Gui/ViewProviderFemConstraint.cpp","src/Mod/Fem/Init.py","src/Mod/Fem/InitGui.py","src/Mod/Fem/ObjectsFem.py","src/Mod/Fem/TestFemGui.py","src/Mod/Fem/femguiutils/post_visualization.py","src/Mod/Fem/feminout/convert2TetGen.py","src/Mod/Fem/feminout/exportNastranMesh.py","src/Mod/Fem/feminout/importCcxDatResults.py","src/Mod/Fem/feminout/importCcxFrdResults.py","src/Mod/Fem/feminout/importInpMesh.py","src/Mod/Fem/feminout/importVTKResults.py","src/Mod/Fem/feminout/importZ88O2Results.py","src/Mod/Fem/feminout/readFenicsXML.py","src/Mod/Fem/feminout/writeFenicsXDMF.py","src/Mod/Fem/feminout/writeFenicsXML.py","src/Mod/Fem/femsolver/calculix/writer.py","src/Mod/Fem/femsolver/elmer/equations/linear.py","src/Mod/Fem/femsolver/elmer/equations/nonlinear.py","src/Mod/Fem/femsolver/elmer/writer.py","src/Mod/Fem/femsolver/mystran/tasks.py","src/Mod/Fem/femsolver/report.py","src/Mod/Fem/femsolver/reportdialog.py","src/Mod/Fem/femsolver/solver_taskpanel.py","src/Mod/Fem/femtaskpanels/task_result_mechanical.py","src/Mod/Fem/femtest/app/test_open.py","src/Mod/Fem/femtest/gui/test_open.py","src/Mod/Fem/femtools/constants.py","src/Mod/Fem/femtools/membertools.py","src/Mod/Help/Help.py","src/Mod/Import/App/AppImportPy.cpp","src/Mod/Import/App/dxf/ImpExpDxf.cpp","src/Mod/Import/Gui/AppImportGuiPy.cpp","src/Mod/Inspection/Gui/ViewProviderInspection.cpp","src/Mod/JtReader/App/TKJtReader.cpp","src/Mod/Measure/App/Measurement.cpp","src/Mod/Measure/Gui/QuickMeasure.cpp","src/Mod/Measure/Gui/TaskMeasure.cpp","src/Mod/Measure/InitGui.py","src/Mod/Measure/MeasureCOM.py","src/Mod/Mesh/App/AppMeshPy.cpp","src/Mod/Mesh/App/Importer.cpp","src/Mod/Mesh/App/Mesh.pyi","src/Mod/Mesh/App/MeshPyImp.cpp","src/Mod/Mesh/App/MeshTexture.cpp","src/Mod/Mesh/BuildRegularGeoms.py","src/Mod/Mesh/Gui/MeshEditor.cpp","src/Mod/Mesh/Gui/ViewProvider.cpp","src/Mod/Mesh/Gui/ViewProviderCurvature.cpp","src/Mod/MeshPart/Gui/CurveOnMesh.cpp","src/Mod/Part/App/AppPartPy.cpp","src/Mod/Part/App/ArcOfCirclePyImp.cpp","src/Mod/Part/App/ArcOfConicPyImp.cpp","src/Mod/Part/App/ArcOfEllipsePyImp.cpp","src/Mod/Part/App/ArcOfHyperbolaPyImp.cpp","src/Mod/Part/App/ArcOfParabolaPyImp.cpp","src/Mod/Part/App/ArcPyImp.cpp","src/Mod/Part/App/AttachExtension.cpp","src/Mod/Part/App/Attacher.h","src/Mod/Part/App/BRepOffsetAPI_MakeFillingPyImp.cpp","src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp","src/Mod/Part/App/BSplineCurvePyImp.cpp","src/Mod/Part/App/BSplineSurfacePyImp.cpp","src/Mod/Part/App/BezierCurvePyImp.cpp","src/Mod/Part/App/BezierSurfacePyImp.cpp","src/Mod/Part/App/CirclePyImp.cpp","src/Mod/Part/App/ConePyImp.cpp","src/Mod/Part/App/CylinderPyImp.cpp","src/Mod/Part/App/EllipsePyImp.cpp","src/Mod/Part/App/FCBRepAlgoAPI_BooleanOperation.cpp","src/Mod/Part/App/FT2FC.cpp","src/Mod/Part/App/Geom2d/ArcOfCircle2dPyImp.cpp","src/Mod/Part/App/Geom2d/ArcOfConic2dPyImp.cpp","src/Mod/Part/App/Geom2d/ArcOfEllipse2dPyImp.cpp","src/Mod/Part/App/Geom2d/ArcOfHyperbola2dPyImp.cpp","src/Mod/Part/App/Geom2d/ArcOfParabola2dPyImp.cpp","src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp","src/Mod/Part/App/Geom2d/BezierCurve2dPyImp.cpp","src/Mod/Part/App/Geom2d/Circle2dPyImp.cpp","src/Mod/Part/App/Geom2d/Curve2dPyImp.cpp","src/Mod/Part/App/Geom2d/Ellipse2dPyImp.cpp","src/Mod/Part/App/Geom2d/Hyperbola2dPyImp.cpp","src/Mod/Part/App/Geom2d/Line2dPyImp.cpp","src/Mod/Part/App/Geom2d/Line2dSegmentPyImp.cpp","src/Mod/Part/App/Geom2d/OffsetCurve2dPyImp.cpp","src/Mod/Part/App/GeomPlate/BuildPlateSurfacePyImp.cpp","src/Mod/Part/App/Geometry.cpp","src/Mod/Part/App/Geometry2d.cpp","src/Mod/Part/App/GeometryCurvePyImp.cpp","src/Mod/Part/App/GeometrySurfacePyImp.cpp","src/Mod/Part/App/HLRBRep/HLRBRep_Algo.pyi","src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgo.pyi","src/Mod/Part/App/HyperbolaPyImp.cpp","src/Mod/Part/App/LinePyImp.cpp","src/Mod/Part/App/LineSegmentPyImp.cpp","src/Mod/Part/App/OffsetCurvePyImp.cpp","src/Mod/Part/App/OffsetSurfacePyImp.cpp","src/Mod/Part/App/ParabolaPyImp.cpp","src/Mod/Part/App/PartFeaturePyImp.cpp","src/Mod/Part/App/PlanePyImp.cpp","src/Mod/Part/App/PlateSurfacePyImp.cpp","src/Mod/Part/App/PointPyImp.cpp","src/Mod/Part/App/RectangularTrimmedSurfacePyImp.cpp","src/Mod/Part/App/ShapeFix/ShapeFix_Edge.pyi","src/Mod/Part/App/ShapeFix/ShapeFix_EdgePyImp.cpp","src/Mod/Part/App/ShapeFix/ShapeFix_Root.pyi","src/Mod/Part/App/ShapeFix/ShapeFix_WirePyImp.cpp","src/Mod/Part/App/SpherePyImp.cpp","src/Mod/Part/App/SurfaceOfExtrusionPyImp.cpp","src/Mod/Part/App/SurfaceOfRevolutionPyImp.cpp","src/Mod/Part/App/Tools.cpp","src/Mod/Part/App/TopoShape.cpp","src/Mod/Part/App/TopoShapeEdgePyImp.cpp","src/Mod/Part/App/TopoShapeExpansion.cpp","src/Mod/Part/App/TopoShapeFacePyImp.cpp","src/Mod/Part/App/TopoShapePyImp.cpp","src/Mod/Part/App/TopoShapeWirePyImp.cpp","src/Mod/Part/App/ToroidPyImp.cpp","src/Mod/Part/App/modelRefine.cpp","src/Mod/Part/Gui/DlgExtrusion.cpp","src/Mod/Part/Gui/DlgRevolution.cpp","src/Mod/Part/Gui/SoBrepEdgeSet.cpp","src/Mod/Part/Gui/SoBrepEdgeSet.h","src/Mod/Part/Gui/SoBrepFaceSet.cpp","src/Mod/Part/Gui/SoBrepFaceSet.h","src/Mod/Part/Gui/SoBrepPointSet.cpp","src/Mod/Part/Gui/SoBrepPointSet.h","src/Mod/Part/Gui/TaskCheckGeometry.cpp","src/Mod/Part/Gui/ViewProviderExt.cpp","src/Mod/Part/JoinFeatures.py","src/Mod/Part/parttests/part_test_objects.py","src/Mod/PartDesign/App/FeatureDraft.cpp","src/Mod/PartDesign/App/FeatureLinearPattern.cpp","src/Mod/PartDesign/App/FeatureSketchBased.cpp","src/Mod/PartDesign/Gui/CommandBody.cpp","src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp","src/Mod/PartDesign/Gui/TaskPipeParameters.cpp","src/Mod/PartDesign/PartDesignTests/TestHelix.py","src/Mod/PartDesign/Scripts/FilletArc.py","src/Mod/PartDesign/Scripts/RadialCopy.py","src/Mod/PartDesign/WizardShaft/SegmentFunction.py","src/Mod/PartDesign/WizardShaft/ShaftDiagram.py","src/Mod/PartDesign/WizardShaft/WizardShaftTable.py","src/Mod/Robot/KukaExporter.py","src/Mod/Robot/RobotExample.py","src/Mod/Sketcher/App/Constraint.cpp","src/Mod/Sketcher/App/Constraint.h","src/Mod/Sketcher/App/ConstraintPyImp.cpp","src/Mod/Sketcher/App/GeoList.cpp","src/Mod/Sketcher/App/PythonConverter.cpp","src/Mod/Sketcher/App/Sketch.cpp","src/Mod/Sketcher/App/Sketch.h","src/Mod/Sketcher/App/SketchObject.cpp","src/Mod/Sketcher/App/SketchObject.h","src/Mod/Sketcher/App/SketchObjectConstraints.cpp","src/Mod/Sketcher/App/SketchObjectOperations.cpp","src/Mod/Sketcher/App/SketchObjectPyImp.cpp","src/Mod/Sketcher/App/planegcs/Constraints.cpp","src/Mod/Sketcher/App/planegcs/Constraints.h","src/Mod/Sketcher/App/planegcs/GCS.cpp","src/Mod/Sketcher/App/planegcs/GCS.h","src/Mod/Sketcher/App/planegcs/Geo.h","src/Mod/Sketcher/Gui/CommandConstraints.cpp","src/Mod/Sketcher/Gui/DrawSketchDefaultHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandlerArcOfEllipse.h","src/Mod/Sketcher/Gui/DrawSketchHandlerArcOfHyperbola.h","src/Mod/Sketcher/Gui/DrawSketchHandlerBSpline.h","src/Mod/Sketcher/Gui/DrawSketchHandlerLine.h","src/Mod/Sketcher/Gui/DrawSketchHandlerLineSet.h","src/Mod/Sketcher/Gui/DrawSketchHandlerOffset.h","src/Mod/Sketcher/Gui/DrawSketchHandlerRectangle.h","src/Mod/Sketcher/Gui/DrawSketchHandlerRotate.h","src/Mod/Sketcher/Gui/DrawSketchHandlerScale.h","src/Mod/Sketcher/Gui/DrawSketchHandlerSymmetry.h","src/Mod/Sketcher/Gui/DrawSketchHandlerTranslate.h","src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeGeometryCoinConverter.cpp","src/Mod/Sketcher/ProfileLib/Hexagon.py","src/Mod/Sketcher/ProfileLib/RegularPolygon.py","src/Mod/Sketcher/SketcherTests/TestSketcherSolver.py","src/Mod/Spreadsheet/Gui/SheetModel.cpp","src/Mod/Spreadsheet/Gui/SheetTableView.cpp","src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp","src/Mod/Start/Gui/ThemeSelectorWidget.cpp","src/Mod/Surface/App/FeatureExtend.cpp","src/Mod/Surface/App/FeatureGeomFillSurface.cpp","src/Mod/Test/CMakeLists.txt","src/Mod/Test/Gui/qtunittest.py","src/Mod/Test/Init.py","src/Mod/Test/Menu.py","src/Mod/Test/Metadata.py","src/Mod/Test/TestApp.py","src/Mod/Test/UnicodeTests.py","src/Mod/Test/unittestgui.py","src/Tools/MakeApp.py","src/Tools/bindings/generate.py","src/Tools/bindings/model/generateTools.py","src/Tools/bindings/model/typedModel.py","src/Tools/freecad-thumbnailer.in","src/Tools/params_utils.py","src/Tools/updatecrowdin.py","tests/src/App/ApplicationDirectories.cpp","tests/src/Mod/Sketcher/App/CMakeLists.txt"]},{"id":"7f254aaa4aa859526f318653fffc81becef6bab9","tree_id":"356b2ae3d797ed82b3979e85621cd994c29f91aa","distinct":true,"message":"[pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci","timestamp":"2026-03-31T18:20:11Z","url":"https://github.com/ilf-S/FreeCAD/commit/7f254aaa4aa859526f318653fffc81becef6bab9","author":{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]@users.noreply.github.com","date":"2026-03-31T18:19:52Z","username":"pre-commit-ci[bot]"},"committer":{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]@users.noreply.github.com","date":"2026-03-31T18:20:11Z","username":"pre-commit-ci[bot]"},"added":[],"removed":[],"modified":["src/Base/Console.h","src/Base/Translation.h"]},{"id":"48ea7c04ce1cc8c8f23e905c5c6f9a93d746912e","tree_id":"570e70479da62835eff72a240337ed9b04da825a","distinct":true,"message":"CAM: Dressup.Utils.baseOp() - Fix for None","timestamp":"2026-04-01T09:52:47+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/48ea7c04ce1cc8c8f23e905c5c6f9a93d746912e","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-03-31T14:11:34+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-04-01T09:52:47+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Dressup/Utils.py"]},{"id":"abde3606a25f512766794b33591a25e0a3c7e1a6","tree_id":"cb5ae4a9fd73667fbd8df79da128a1c684e5a74a","distinct":true,"message":"Fem: Fix CalculiX constraint fixed for plane and truss elements","timestamp":"2026-04-03T09:51:26+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/abde3606a25f512766794b33591a25e0a3c7e1a6","author":{"name":"marioalexis","email":"mario.passaglia@gmail.com","date":"2026-04-01T23:18:09-03:00","username":"marioalexis84"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-04-03T09:51:26+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/Fem/femsolver/calculix/write_constraint_fixed.py"]},{"id":"9db9764258fd67fb0fee40f6cdfad95d3a7baae5","tree_id":"1921ae9ba6f8dd74dfd4d4c84d7d8440b619d371","distinct":true,"message":"BIM: fix MakeBlocks not working for baseless walls (#28720)\n\n* BIM: fix MakeBlocks not working for baseless walls\n\nThe blocks calculation was nested inside the `if obj.Base:` branch of\nexecute(), so it was skipped entirely for baseless walls. Extract it\ninto a _make_blocks() method and call it after the base-specific logic\nso it runs for all wall types. Also set self.basewires in\nbuild_base_from_scratch() so baseless walls provide the centerline\nedge the blocks algorithm needs.\n\nFixes: #27817\n\n* BIM: guard against missing connectEdges on wall copy","timestamp":"2026-04-03T12:33:35+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/9db9764258fd67fb0fee40f6cdfad95d3a7baae5","author":{"name":"Furgo","email":"148809153+furgo16@users.noreply.github.com","date":"2026-04-03T12:33:35+02:00","username":"furgo16"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T12:33:35+02:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/BIM/ArchWall.py","src/Mod/BIM/bimtests/TestArchWall.py"]},{"id":"230ba267147c070cb058c257ba6e220e12dcb7f1","tree_id":"18a68c1c79408a923e0fdabf3fa2bee7c5fed368","distinct":true,"message":"Merge pull request #25607 from 3x380V/pd_merge\n\nPartDesign: Move common code of Revolution and Groove to base class","timestamp":"2026-04-03T08:39:36-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/230ba267147c070cb058c257ba6e220e12dcb7f1","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T08:39:36-05:00","username":"chennes"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T08:39:36-05:00","username":"web-flow"},"added":["src/Mod/PartDesign/App/FeatureRevolved.cpp","src/Mod/PartDesign/App/FeatureRevolved.h"],"removed":[],"modified":["src/Mod/Part/App/PartFeature.cpp","src/Mod/Part/App/PartFeature.h","src/Mod/PartDesign/App/AppPartDesign.cpp","src/Mod/PartDesign/App/CMakeLists.txt","src/Mod/PartDesign/App/FeatureGroove.cpp","src/Mod/PartDesign/App/FeatureGroove.h","src/Mod/PartDesign/App/FeatureRevolution.cpp","src/Mod/PartDesign/App/FeatureRevolution.h","src/Mod/PartDesign/App/FeatureSketchBased.cpp","src/Mod/PartDesign/App/FeatureSketchBased.h","src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp"]},{"id":"6321ac28a3018452ed9991a6ee506e16f852d0b2","tree_id":"17c05eaf2ab3aceb4e4a27a40ced1e0ee59ce8c6","distinct":true,"message":"Sketcher : moveConstraint don't use solved sketch to get geometries and points (#28294)","timestamp":"2026-04-03T09:46:11-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/6321ac28a3018452ed9991a6ee506e16f852d0b2","author":{"name":"PaddleStroke","email":"pierrelouis.boyer@gmail.com","date":"2026-04-03T16:46:11+02:00","username":"PaddleStroke"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T09:46:11-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/ViewProviderSketch.cpp"]},{"id":"e0881b0b18e65d1f023c3baea75a1e8f9dcc701d","tree_id":"59aef8afffc6deb59624bc0bfa4d09b7102e05cd","distinct":true,"message":"Merge pull request #22994 from tarman3/restmachining\n\nCAM: RestMachining with BoundaryDressup","timestamp":"2026-04-03T11:36:15-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/e0881b0b18e65d1f023c3baea75a1e8f9dcc701d","author":{"name":"Connor9220","email":"billy@ivdc.com","date":"2026-04-03T11:36:15-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T11:36:15-04:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Dressup/Boundary.py","src/Mod/CAM/Path/Op/Util.py"]},{"id":"e4d76cb794e9609786f04820e67d0d61ae11666f","tree_id":"1a15e6664142730b3ebe55d8efc68dd6f4a93e56","distinct":true,"message":"Merge pull request #26492 from tarman3/contextmenu\n\nCAM: Context menu refactoring","timestamp":"2026-04-03T11:48:57-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/e4d76cb794e9609786f04820e67d0d61ae11666f","author":{"name":"Connor9220","email":"billy@ivdc.com","date":"2026-04-03T11:48:57-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T11:48:57-04:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/InitGui.py"]},{"id":"b560c2b8f0d436dcc3562971a26841c40b3bed2a","tree_id":"d16c15550a457b913ec7e368d09d0d84c362dbd7","distinct":true,"message":"CI: Only call it a weekly if it is build from main\n\nBuilds of other branches use the branch name","timestamp":"2026-04-03T18:33:27+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/b560c2b8f0d436dcc3562971a26841c40b3bed2a","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-03-26T17:34:52-05:00","username":"chennes"},"committer":{"name":"Kacper Donat","email":"kadet1090@gmail.com","date":"2026-04-03T18:33:27+02:00","username":"kadet1090"},"added":[],"removed":[],"modified":[".github/workflows/build_release.yml"]},{"id":"d335a468ed7b4893d0a80f286063d3838cb5e517","tree_id":"53ed78b154cba11d5db3880bd18d0a107875d9c7","distinct":true,"message":"Merge pull request #28870 from sliptonic/templateerror\n\nGuard against missing postprocessors","timestamp":"2026-04-03T12:36:38-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/d335a468ed7b4893d0a80f286063d3838cb5e517","author":{"name":"Connor9220","email":"billy@ivdc.com","date":"2026-04-03T12:36:38-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T12:36:38-04:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Main/Job.py"]},{"id":"65790d94a2791b5fdf7a8d1860172966847bfbc0","tree_id":"5c0add53b35bd4878be1a509556a59a7899f5c35","distinct":true,"message":"CAM roadmap: close adaptive epic","timestamp":"2026-04-03T13:01:18-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/65790d94a2791b5fdf7a8d1860172966847bfbc0","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-04-03T13:01:18-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-04-03T13:01:18-04:00","username":"davidgilkaufman"},"added":[],"removed":[],"modified":["src/Mod/CAM/Roadmap/Epics/ImproveAdaptiveOperation.md","src/Mod/CAM/Roadmap/README.md"]},{"id":"6be7b2ae0e453453e6fbae05dfe3628ac6507b6c","tree_id":"76241efc168f1371a64ecd9c4fd9a53c6cd2a5b8","distinct":true,"message":"CAM: Make pocket offset stepover adaptive as needed to ensure it fully clears the region (#28707)\n\n* refactor out offset generation\n* Create pocket test for offsets\n* Create pocket test for offsets on pointy triangles\n* add ForceMaxStepOver parameter, and failing test for sharp angle triangle\n* implement gap detection on pocket offsets, make the test pass\n* decrease offset amount slightly to make clean, connected paths\n* update flag docstring\n* remove unused pocket property last stepover\n* remove unused imports\n* update copyright notice for new file\n* performance fixes\n* optimize final pass, midway between the largest no-gap pass and the smallest pass to finish clearing area","timestamp":"2026-04-03T17:16:05Z","url":"https://github.com/ilf-S/FreeCAD/commit/6be7b2ae0e453453e6fbae05dfe3628ac6507b6c","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-04-03T13:16:05-04:00","username":"davidgilkaufman"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T17:16:05Z","username":"web-flow"},"added":["src/Mod/CAM/CAMTests/TestPathPocket.py"],"removed":[],"modified":["src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/Area.h","src/Mod/CAM/App/AreaParams.h","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/Path/Op/PocketBase.py","src/Mod/CAM/TestCAMApp.py"]},{"id":"2ac462043cf9957089a3fe9b3f1a9a6367014b73","tree_id":"911ef52d98e1d9904dfd19363b45795c06e6e931","distinct":true,"message":"Merge pull request #28899 from tarman3/baseOp_None\n\nCAM: Dressup.Utils.baseOp() - Fix for None","timestamp":"2026-04-03T13:42:37-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/2ac462043cf9957089a3fe9b3f1a9a6367014b73","author":{"name":"Connor9220","email":"billy@ivdc.com","date":"2026-04-03T13:42:37-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T13:42:37-04:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Dressup/Utils.py"]},{"id":"e5abf5f789151f166e9282ace2b5e9fb135c30a0","tree_id":"cf8a15043cb8804e214d34099bce52806273bf3e","distinct":true,"message":"Merge pull request #25307 from PaddleStroke/patch-536735\n\nAssembly: Simulation: video export","timestamp":"2026-04-03T13:36:05-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/e5abf5f789151f166e9282ace2b5e9fb135c30a0","author":{"name":"PaddleStroke","email":"pierrelouis.boyer@gmail.com","date":"2026-04-03T20:36:05+02:00","username":"PaddleStroke"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T13:36:05-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/Assembly/CommandCreateSimulation.py","src/Mod/Assembly/Gui/Resources/panels/TaskAssemblyCreateSimulation.ui"]},{"id":"15a840eea8bb50350e2d83798841f78f0fe2be9b","tree_id":"9fd9b7fcd11b3545a134e9489a67af72438d32bb","distinct":true,"message":"Preferences: FCBak date and format preference Now use only Valid Chars (#25985)\n\n* GUI: Ensure that FCBak format is all valid chars\n\nSigned-off-by: Yash Suthar \n\n* App: Simplify backup policy bad char replacement\n\n---------\n\nSigned-off-by: Yash Suthar \nCo-authored-by: Chris Hennes ","timestamp":"2026-04-03T13:53:12-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/15a840eea8bb50350e2d83798841f78f0fe2be9b","author":{"name":"Yash Suthar","email":"yashsuthar983@gmail.com","date":"2026-04-04T00:23:12+05:30","username":"YashSuthar983"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T13:53:12-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/App/BackupPolicy.cpp","src/Gui/PreferencePages/DlgSettingsDocumentImp.cpp","src/Gui/PreferencePages/DlgSettingsDocumentImp.h"]},{"id":"8d7d4db232c9f5f6bce6e8bf5859f9381e9e26db","tree_id":"4cf18bfda2e0ff0349e2bfb012a69ed439bdf983","distinct":true,"message":"Merge pull request #27008 from tritao/pr/remove-qt-boost-deps/001-base-qt-unlink\n\nBase: Remove Qt dependencies","timestamp":"2026-04-03T14:06:50-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/8d7d4db232c9f5f6bce6e8bf5859f9381e9e26db","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T14:06:50-05:00","username":"chennes"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T14:06:50-05:00","username":"web-flow"},"added":["src/App/ConsoleQtBridge.cpp","src/App/ConsoleQtBridge.h","src/App/TranslationQtBridge.cpp","src/App/TranslationQtBridge.h","src/Base/FileLock.cpp","src/Base/FileLock.h","src/Base/Translation.cpp","src/Base/Translation.h","tests/src/Base/Console.cpp","tests/src/Base/FileLock.cpp","tests/src/Base/InputSource.cpp","tests/src/Base/Persistence.cpp","tests/src/Base/Translate.cpp","tests/src/Base/Translation.cpp","tests/src/Base/TranslationTestHelpers.h","tests/src/Base/UnitsSchemaFormat.cpp","tests/src/Base/Uuid.cpp"],"removed":["src/Base/Debugger.cpp","src/Base/FutureWatcherProgress.cpp"],"modified":["src/App/Application.cpp","src/App/CMakeLists.txt","src/App/Document.cpp","src/Base/CMakeLists.txt","src/Base/Console.cpp","src/Base/Console.h","src/Base/FileInfo.cpp","src/Base/Handle.cpp","src/Base/Handle.h","src/Base/InputSource.cpp","src/Base/Parameter.cpp","src/Base/Persistence.cpp","src/Base/PreCompiled.h","src/Base/Quantity.h","src/Base/Reader.h","src/Base/Stream.cpp","src/Base/Stream.h","src/Base/Tools.cpp","src/Base/Tools.h","src/Base/Translate.cpp","src/Base/Translate.h","src/Base/UnitsApi.h","src/Base/UnitsSchema.cpp","src/Base/UnitsSchemas.cpp","src/Base/UnitsSchemasData.h","src/Base/Uuid.cpp","src/Gui/Dialogs/DlgProjectInformationImp.cpp","src/Gui/Document.cpp","src/Gui/FileHandler.cpp","src/Gui/Language/Translator.cpp","src/Gui/MainWindow.cpp","src/Mod/Import/Gui/Command.cpp","src/Mod/Inspection/App/InspectionFeature.cpp","src/Mod/Part/Gui/Command.cpp","src/Mod/Points/Gui/Command.cpp","src/Mod/Spreadsheet/Gui/SheetTableView.cpp","src/Mod/TechDraw/Gui/Command.cpp","src/Mod/TechDraw/Gui/CommandDecorate.cpp","tests/src/Base/CMakeLists.txt","tests/src/Base/Parameter.cpp","tests/src/Base/Quantity.cpp","tests/src/Base/SchemaTests.cpp","tests/src/Base/Stream.cpp","tests/src/Base/Tools.cpp"]},{"id":"773a85cf88a9e13d21bcf38878fa1136854b1fc8","tree_id":"5b45c2b525243ebb7a875fd7f962f46b6e29d36a","distinct":true,"message":"Bump step-security/harden-runner from 2.16.0 to 2.16.1\n\nBumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.16.0 to 2.16.1.\n- [Release notes](https://github.com/step-security/harden-runner/releases)\n- [Commits](https://github.com/step-security/harden-runner/compare/fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594...fe104658747b27e96e4f7e80cd0a94068e53901d)\n\n---\nupdated-dependencies:\n- dependency-name: step-security/harden-runner\n dependency-version: 2.16.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","timestamp":"2026-04-03T14:34:15-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/773a85cf88a9e13d21bcf38878fa1136854b1fc8","author":{"name":"dependabot[bot]","email":"49699333+dependabot[bot]@users.noreply.github.com","date":"2026-04-03T17:12:40Z","username":"dependabot[bot]"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T14:34:15-05:00","username":"chennes"},"added":[],"removed":[],"modified":[".github/workflows/CI_cleanup.yml",".github/workflows/auto-close_stale_issues_and_pull-requests.yml",".github/workflows/build_release.yml",".github/workflows/codeql.yml",".github/workflows/codeql_cpp.yml",".github/workflows/dependency-review.yml",".github/workflows/issue-metrics.yml",".github/workflows/labeler.yml",".github/workflows/scorecards.yml",".github/workflows/sub_buildPixi.yml",".github/workflows/sub_buildUbuntu.yml",".github/workflows/sub_buildWindows.yml",".github/workflows/sub_lint.yml",".github/workflows/sub_prepare.yml",".github/workflows/sub_wrapup.yml"]},{"id":"a30fe2e609f9a83815f156618682361ad779bceb","tree_id":"f0adfbd9f7678160de505e0171213a9948ecdf20","distinct":true,"message":"Merge pull request #29033 from davidgilkaufman/adaptive_close_epic\n\nCAM roadmap: close adaptive epic","timestamp":"2026-04-03T18:17:20-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/a30fe2e609f9a83815f156618682361ad779bceb","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-04-03T18:17:20-05:00","username":"sliptonic"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-03T18:17:20-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Roadmap/Epics/ImproveAdaptiveOperation.md","src/Mod/CAM/Roadmap/README.md"]},{"id":"cd5cd38365edc504bf1953a121b262d7f8663038","tree_id":"bd1b5d6d173ba395cb659cf3837737e4e0f1f33b","distinct":true,"message":"Gui: Style the action panel to remove its background (#29018)","timestamp":"2026-04-04T00:41:34Z","url":"https://github.com/ilf-S/FreeCAD/commit/cd5cd38365edc504bf1953a121b262d7f8663038","author":{"name":"andershol","email":"andershol@users.noreply.github.com","date":"2026-04-04T02:41:34+02:00","username":"andershol"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T00:41:34Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Gui/Stylesheets/FreeCAD.qss"]},{"id":"3a1e8b46b05c2ef1c8f0c0b6b5108817bd9b0186","tree_id":"56af6f2d5ad4c927007feaaf086914e6b7901c84","distinct":true,"message":"make FileInfoTest runnable in parallel\n\n[pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci","timestamp":"2026-04-03T20:11:32-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/3a1e8b46b05c2ef1c8f0c0b6b5108817bd9b0186","author":{"name":"filippor","email":"filippo.rossoni@gmail.com","date":"2026-03-11T18:32:13+01:00","username":"filippor"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T20:11:32-05:00","username":"chennes"},"added":[],"removed":[],"modified":["tests/src/Base/FileInfo.cpp"]},{"id":"b9b08e57f428ff520754694616f03baa1a5e725f","tree_id":"9f8217988d3f9534c157d39a186ba043dd8f1274","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-04-04T02:03:09Z","url":"https://github.com/ilf-S/FreeCAD/commit/b9b08e57f428ff520754694616f03baa1a5e725f","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-04-04T02:03:09Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-04-04T02:03:09Z","username":"ilf-S"},"added":["src/App/ConsoleQtBridge.cpp","src/App/ConsoleQtBridge.h","src/App/TranslationQtBridge.cpp","src/App/TranslationQtBridge.h","src/Base/FileLock.cpp","src/Base/FileLock.h","src/Base/Translation.cpp","src/Base/Translation.h","src/Mod/CAM/CAMTests/TestPathPocket.py","src/Mod/PartDesign/App/FeatureRevolved.cpp","src/Mod/PartDesign/App/FeatureRevolved.h","tests/src/Base/Console.cpp","tests/src/Base/FileLock.cpp","tests/src/Base/InputSource.cpp","tests/src/Base/Persistence.cpp","tests/src/Base/Translate.cpp","tests/src/Base/Translation.cpp","tests/src/Base/TranslationTestHelpers.h","tests/src/Base/UnitsSchemaFormat.cpp","tests/src/Base/Uuid.cpp"],"removed":["src/Base/Debugger.cpp","src/Base/FutureWatcherProgress.cpp"],"modified":["src/App/Application.cpp","src/App/BackupPolicy.cpp","src/App/CMakeLists.txt","src/App/Document.cpp","src/Base/CMakeLists.txt","src/Base/Console.cpp","src/Base/Console.h","src/Base/FileInfo.cpp","src/Base/Handle.cpp","src/Base/Handle.h","src/Base/InputSource.cpp","src/Base/Parameter.cpp","src/Base/Persistence.cpp","src/Base/PreCompiled.h","src/Base/Quantity.h","src/Base/Reader.h","src/Base/Stream.cpp","src/Base/Stream.h","src/Base/Tools.cpp","src/Base/Tools.h","src/Base/Translate.cpp","src/Base/Translate.h","src/Base/UnitsApi.h","src/Base/UnitsSchema.cpp","src/Base/UnitsSchemas.cpp","src/Base/UnitsSchemasData.h","src/Base/Uuid.cpp","src/Gui/Dialogs/DlgProjectInformationImp.cpp","src/Gui/Document.cpp","src/Gui/FileHandler.cpp","src/Gui/Language/Translator.cpp","src/Gui/MainWindow.cpp","src/Gui/PreferencePages/DlgSettingsDocumentImp.cpp","src/Gui/PreferencePages/DlgSettingsDocumentImp.h","src/Gui/Stylesheets/FreeCAD.qss","src/Mod/Assembly/CommandCreateSimulation.py","src/Mod/Assembly/Gui/Resources/panels/TaskAssemblyCreateSimulation.ui","src/Mod/BIM/ArchWall.py","src/Mod/BIM/bimtests/TestArchWall.py","src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/Area.h","src/Mod/CAM/App/AreaParams.h","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/InitGui.py","src/Mod/CAM/Path/Dressup/Boundary.py","src/Mod/CAM/Path/Dressup/Utils.py","src/Mod/CAM/Path/Main/Job.py","src/Mod/CAM/Path/Op/PocketBase.py","src/Mod/CAM/Path/Op/Util.py","src/Mod/CAM/Roadmap/Epics/ImproveAdaptiveOperation.md","src/Mod/CAM/Roadmap/README.md","src/Mod/CAM/TestCAMApp.py","src/Mod/Fem/femsolver/calculix/write_constraint_fixed.py","src/Mod/Import/Gui/Command.cpp","src/Mod/Inspection/App/InspectionFeature.cpp","src/Mod/Part/App/PartFeature.cpp","src/Mod/Part/App/PartFeature.h","src/Mod/Part/Gui/Command.cpp","src/Mod/PartDesign/App/AppPartDesign.cpp","src/Mod/PartDesign/App/CMakeLists.txt","src/Mod/PartDesign/App/FeatureGroove.cpp","src/Mod/PartDesign/App/FeatureGroove.h","src/Mod/PartDesign/App/FeatureRevolution.cpp","src/Mod/PartDesign/App/FeatureRevolution.h","src/Mod/PartDesign/App/FeatureSketchBased.cpp","src/Mod/PartDesign/App/FeatureSketchBased.h","src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp","src/Mod/Points/Gui/Command.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Spreadsheet/Gui/SheetTableView.cpp","src/Mod/TechDraw/Gui/Command.cpp","src/Mod/TechDraw/Gui/CommandDecorate.cpp","tests/src/Base/CMakeLists.txt","tests/src/Base/FileInfo.cpp","tests/src/Base/Parameter.cpp","tests/src/Base/Quantity.cpp","tests/src/Base/SchemaTests.cpp","tests/src/Base/Stream.cpp","tests/src/Base/Tools.cpp"]}],"head_commit":{"id":"b9b08e57f428ff520754694616f03baa1a5e725f","tree_id":"9f8217988d3f9534c157d39a186ba043dd8f1274","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-04-04T02:03:09Z","url":"https://github.com/ilf-S/FreeCAD/commit/b9b08e57f428ff520754694616f03baa1a5e725f","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-04-04T02:03:09Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-04-04T02:03:09Z","username":"ilf-S"},"added":["src/App/ConsoleQtBridge.cpp","src/App/ConsoleQtBridge.h","src/App/TranslationQtBridge.cpp","src/App/TranslationQtBridge.h","src/Base/FileLock.cpp","src/Base/FileLock.h","src/Base/Translation.cpp","src/Base/Translation.h","src/Mod/CAM/CAMTests/TestPathPocket.py","src/Mod/PartDesign/App/FeatureRevolved.cpp","src/Mod/PartDesign/App/FeatureRevolved.h","tests/src/Base/Console.cpp","tests/src/Base/FileLock.cpp","tests/src/Base/InputSource.cpp","tests/src/Base/Persistence.cpp","tests/src/Base/Translate.cpp","tests/src/Base/Translation.cpp","tests/src/Base/TranslationTestHelpers.h","tests/src/Base/UnitsSchemaFormat.cpp","tests/src/Base/Uuid.cpp"],"removed":["src/Base/Debugger.cpp","src/Base/FutureWatcherProgress.cpp"],"modified":["src/App/Application.cpp","src/App/BackupPolicy.cpp","src/App/CMakeLists.txt","src/App/Document.cpp","src/Base/CMakeLists.txt","src/Base/Console.cpp","src/Base/Console.h","src/Base/FileInfo.cpp","src/Base/Handle.cpp","src/Base/Handle.h","src/Base/InputSource.cpp","src/Base/Parameter.cpp","src/Base/Persistence.cpp","src/Base/PreCompiled.h","src/Base/Quantity.h","src/Base/Reader.h","src/Base/Stream.cpp","src/Base/Stream.h","src/Base/Tools.cpp","src/Base/Tools.h","src/Base/Translate.cpp","src/Base/Translate.h","src/Base/UnitsApi.h","src/Base/UnitsSchema.cpp","src/Base/UnitsSchemas.cpp","src/Base/UnitsSchemasData.h","src/Base/Uuid.cpp","src/Gui/Dialogs/DlgProjectInformationImp.cpp","src/Gui/Document.cpp","src/Gui/FileHandler.cpp","src/Gui/Language/Translator.cpp","src/Gui/MainWindow.cpp","src/Gui/PreferencePages/DlgSettingsDocumentImp.cpp","src/Gui/PreferencePages/DlgSettingsDocumentImp.h","src/Gui/Stylesheets/FreeCAD.qss","src/Mod/Assembly/CommandCreateSimulation.py","src/Mod/Assembly/Gui/Resources/panels/TaskAssemblyCreateSimulation.ui","src/Mod/BIM/ArchWall.py","src/Mod/BIM/bimtests/TestArchWall.py","src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/Area.h","src/Mod/CAM/App/AreaParams.h","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/InitGui.py","src/Mod/CAM/Path/Dressup/Boundary.py","src/Mod/CAM/Path/Dressup/Utils.py","src/Mod/CAM/Path/Main/Job.py","src/Mod/CAM/Path/Op/PocketBase.py","src/Mod/CAM/Path/Op/Util.py","src/Mod/CAM/Roadmap/Epics/ImproveAdaptiveOperation.md","src/Mod/CAM/Roadmap/README.md","src/Mod/CAM/TestCAMApp.py","src/Mod/Fem/femsolver/calculix/write_constraint_fixed.py","src/Mod/Import/Gui/Command.cpp","src/Mod/Inspection/App/InspectionFeature.cpp","src/Mod/Part/App/PartFeature.cpp","src/Mod/Part/App/PartFeature.h","src/Mod/Part/Gui/Command.cpp","src/Mod/PartDesign/App/AppPartDesign.cpp","src/Mod/PartDesign/App/CMakeLists.txt","src/Mod/PartDesign/App/FeatureGroove.cpp","src/Mod/PartDesign/App/FeatureGroove.h","src/Mod/PartDesign/App/FeatureRevolution.cpp","src/Mod/PartDesign/App/FeatureRevolution.h","src/Mod/PartDesign/App/FeatureSketchBased.cpp","src/Mod/PartDesign/App/FeatureSketchBased.h","src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp","src/Mod/Points/Gui/Command.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Spreadsheet/Gui/SheetTableView.cpp","src/Mod/TechDraw/Gui/Command.cpp","src/Mod/TechDraw/Gui/CommandDecorate.cpp","tests/src/Base/CMakeLists.txt","tests/src/Base/FileInfo.cpp","tests/src/Base/Parameter.cpp","tests/src/Base/Quantity.cpp","tests/src/Base/SchemaTests.cpp","tests/src/Base/Stream.cpp","tests/src/Base/Tools.cpp"]}}