{"ref":"refs/heads/main","before":"1d33596319dbdd1a23183333bb115442008a4dde","after":"3f5566a9efcf66bb9170f3eab574d9c32b5b5c66","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-05-15T02:58:04Z","pushed_at":1778899602,"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":2490443,"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/1d33596319db...3f5566a9efcf","commits":[{"id":"48132d1219f3a069ef7a27504a54766559bf2166","tree_id":"cb768acb671d2921f43a3be645e8ac777f1e7953","distinct":true,"message":"CAM: ObjectOp - Catch base error","timestamp":"2026-04-27T18:05:11+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/48132d1219f3a069ef7a27504a54766559bf2166","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-02-13T08:17:21+02:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-04-27T18:05:11+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Base.py","src/Mod/CAM/Path/Op/CircularHoleBase.py","src/Mod/CAM/Path/Op/Gui/Base.py"]},{"id":"2429c29fd23441003087b5dd829bba7910c62518","tree_id":"1ae250322f8d6984fa6d078426a6f35b31959dc7","distinct":true,"message":"CAM: SelectLoop - Select all edges from shape","timestamp":"2026-04-28T07:28:36+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/2429c29fd23441003087b5dd829bba7910c62518","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-04-20T14:53:18+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-04-28T07:28:36+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/PathCommands.py"]},{"id":"ee05bef9c8b807164e0a6110d203fb3467b36644","tree_id":"5d41e7303c854dae208b8a6d11fc162128e9937d","distinct":true,"message":"Revert \"Remove debugging code\"\n\nThis reverts commit d71b97d77e120e1b50e25dc67cc817229cf184bd.","timestamp":"2026-05-08T16:11:16-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/ee05bef9c8b807164e0a6110d203fb3467b36644","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T15:51:41-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T16:11:16-04:00","username":"davidgilkaufman"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Adaptive.py","src/Mod/CAM/libarea/Adaptive.cpp","src/Mod/CAM/libarea/Adaptive.hpp"]},{"id":"f5162e0323bf58f3761bcbf7e64d90048058cb61","tree_id":"23001dc0269aa132d174254b307d4b195c1e126e","distinct":true,"message":"fix debug output","timestamp":"2026-05-08T20:06:14-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/f5162e0323bf58f3761bcbf7e64d90048058cb61","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:06:14-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:06:14-04:00","username":"davidgilkaufman"},"added":[],"removed":[],"modified":["src/Mod/CAM/libarea/Adaptive.cpp"]},{"id":"7c3a67b25327e11272a44b54bba8945e573f5831","tree_id":"65b965de0045b5234d79f39d2b4308673972066b","distinct":true,"message":"fix bug in lead in generation","timestamp":"2026-05-08T20:08:12-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/7c3a67b25327e11272a44b54bba8945e573f5831","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:08:12-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:08:12-04:00","username":"davidgilkaufman"},"added":[],"removed":[],"modified":["src/Mod/CAM/libarea/Adaptive.cpp"]},{"id":"549e4ab7edf8ba8a6004eb3556f28e131578e39d","tree_id":"ac6a0339a8c203ae37156421003d83267e26dcdb","distinct":true,"message":"Remove debug output\n\nThis reverts commit ee05bef9c8b807164e0a6110d203fb3467b36644.","timestamp":"2026-05-08T20:16:02-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/549e4ab7edf8ba8a6004eb3556f28e131578e39d","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:14:44-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:16:02-04:00","username":"davidgilkaufman"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Adaptive.py","src/Mod/CAM/libarea/Adaptive.cpp","src/Mod/CAM/libarea/Adaptive.hpp"]},{"id":"2a184e86c9827e3982db722b10ca6e877842042d","tree_id":"c1c8c0afac85abb7a5a90fe520465fcce9246566","distinct":true,"message":"add adaptive generator version to python input dictionary","timestamp":"2026-05-08T20:31:10-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/2a184e86c9827e3982db722b10ca6e877842042d","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:31:10-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:31:10-04:00","username":"davidgilkaufman"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Adaptive.py"]},{"id":"70effc69a1160478f3dd1c9b6b3cc6c9e9ceac08","tree_id":"268b404d26e0b5993bf4897f0cba73dfc79876e1","distinct":true,"message":"add clipper2 update script, from lgt2x","timestamp":"2026-05-08T20:45:25-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/70effc69a1160478f3dd1c9b6b3cc6c9e9ceac08","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:40:06-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:45:25-04:00","username":"davidgilkaufman"},"added":["src/3rdParty/Clipper2/update_clipper2.sh"],"removed":[],"modified":[]},{"id":"e1a940f9cb4bc90f04b47d21199d06f2b39aec91","tree_id":"0fcb42a11be72ad02a184d22f043372cf984dce0","distinct":true,"message":"run \"update\" script to set up Clipper2, version 2.0.1\n\n./src/3rdParty/Clipper2/update_clipper2.sh Clipper2_2.0.1","timestamp":"2026-05-08T20:51:37-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/e1a940f9cb4bc90f04b47d21199d06f2b39aec91","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:42:14-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:51:37-04:00","username":"davidgilkaufman"},"added":["src/3rdParty/Clipper2/CMakeLists.txt","src/3rdParty/Clipper2/Clipper2.pc.cmakein","src/3rdParty/Clipper2/Clipper2Config.cmake.in","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.core.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.engine.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.export.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.minkowski.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.offset.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.rectclip.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.triangulation.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.version.h","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.engine.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.offset.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.rectclip.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.triangulation.cpp","src/3rdParty/Clipper2/LICENSE","src/3rdParty/Clipper2/clipper.version.in"],"removed":[],"modified":[]},{"id":"e1146dc7174dd0b39e453e3038e03fb0fc33a6e1","tree_id":"2299a97f914991aeefbe8a2fc5f092b0cf04bd32","distinct":true,"message":"CMake changes to link against clipper2","timestamp":"2026-05-08T20:52:06-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/e1146dc7174dd0b39e453e3038e03fb0fc33a6e1","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-04-08T12:10:32-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-08T20:52:06-04:00","username":"davidgilkaufman"},"added":["cMake/FreeCAD_Helpers/SetupClipper2.cmake"],"removed":[],"modified":["CMakeLists.txt","cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake","src/3rdParty/CMakeLists.txt","src/Mod/CAM/libarea/CMakeLists.txt"]},{"id":"d704e97466e70df13dfc0e4bc741e4a16be15041","tree_id":"423071974a9b3791ddc0b09274a84bc5d3673b8d","distinct":true,"message":"Add tests to help migration (squashed commits)\n\nAdd tests for AreaClipper methods to check during migration\n\nWIP open profile test\n\nAdd test for pocket mode line\n\nAdd pocket grid test","timestamp":"2026-05-12T09:30:26-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/d704e97466e70df13dfc0e4bc741e4a16be15041","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-04-08T13:03:29-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-12T09:30:26-04:00","username":"davidgilkaufman"},"added":["src/Mod/CAM/CAMTests/TestAreaOperations.py"],"removed":[],"modified":["src/Mod/CAM/CAMTests/TestPathPocket.py","src/Mod/CAM/CAMTests/TestPathProfile.py","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/TestCAMApp.py"]},{"id":"c5501c024d54f9b5ac6f6368deb53ad0f6fe0aa2","tree_id":"03d9f1e1963b356d41ce5108097745ace37e0874","distinct":true,"message":"Add me as a contributor","timestamp":"2026-05-12T09:31:22-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/c5501c024d54f9b5ac6f6368deb53ad0f6fe0aa2","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-04-20T16:49:03-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-12T09:31:22-04:00","username":"davidgilkaufman"},"added":[],"removed":[],"modified":["src/Doc/CONTRIBUTORS"]},{"id":"7618bec88aa6232f3ec3d1a27ef0e639649118a6","tree_id":"6b93e4a187fc8a391065b04306eb17d27971e9b4","distinct":true,"message":"Migrate to Clipper2 (squashed commits)\n\nAdd clipper1/clipper2 conversion helper methods\n\nmigrate intersect method\n\nmigrate union method\n\nmigrate subtract method\n\nmigrate xor method\n\nmigrate UniteCurves method\n\nmigrate Clip method\n\nmigrate OffsetWithClipper method\n\nmigrate OffsetWithLoops method\n\nmigrate OffsetSpansWithObrounds method\n\nmigrate DoubleAreaPoint\n\nmore migrations\n\nremove unused\n\nUse PointD instead of DoubleAreaPoint\n\nRemove clipper1 types fro offset with obrounds\n\nmigrate SetFromResult to clipper 2\n\ndon't use namespace ClipperLib\n\nremove unused conversion functions\n\nAdd namespace heeks, use namespace Clipper2Lib\n\nremove clipper 1 type aliases\n\nremove unused PopulateClipper method\n\nremove remaining Clipper 1 references from AreaClipper.cpp, doing all conversions in App/Area.cpp instead\n\nfix handling of open paths in clip function\n\nremove aliases for clipper2 Path64 and Paths64 types\n\nremoved unused method UniteCurves\n\nAdd Clipper closed paths all together instead of one at a time, to fix bug. Holes must be added together with outer paths\n\nFix open path test\n\nactually use python JoinType parameter on open path profiles\n\nDocument new clipper 2 library\n\ncleanup, remove clipper 1 import from AreaClipper.cpp\n\nclean up comments\n\nI've reviewed up to here, nominal end of AreaClipper.cpp migration to clipper 2\n\ninitial implementation of expansion of AreaParams definitions\n\nRevert \"initial implementation of expansion of AreaParams definitions\"\n\nThis reverts commit 7c3dbbe93a7613fc13afe09f3f3ae50d56b365c6.\n\nConvert AreaParam enums that mirror clipper types to actual clipper types\n\nconvert AreaParams clipper enum wrappers to actual clipper enums; remove unused #defines\n\nMigrate AreaParams and App/Area to clipper 2\n\nfix square line test by handling open paths in clipper subject with PopulateClipper method\n\nuse PopulateClipper in each of the wrapper operation-specific clip methods too\n\nuse math.hypot\n\ncode rabbit remove unused import\n\ncode rabbit update documentation urls to v2\n\ncode rabbit add type_traits import","timestamp":"2026-05-12T09:31:22-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/7618bec88aa6232f3ec3d1a27ef0e639649118a6","author":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-04-08T13:09:26-04:00","username":"davidgilkaufman"},"committer":{"name":"David Kaufman","email":"davidgilkaufman@gmail.com","date":"2026-05-12T09:31:22-04:00","username":"davidgilkaufman"},"added":[],"removed":[],"modified":["src/App/Application.cpp","src/App/ProgramInformation.cpp","src/Doc/ThirdPartyLibraries.html.cmake","src/LibraryVersions.h.cmake","src/Mod/CAM/App/AppPathPy.cpp","src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/Area.h","src/Mod/CAM/App/AreaParams.h","src/Mod/CAM/App/AreaPyImp.cpp","src/Mod/CAM/App/FeatureArea.cpp","src/Mod/CAM/App/FeatureAreaPyImp.cpp","src/Mod/CAM/App/ParamsHelper.h","src/Mod/CAM/CAMTests/TestAreaOperations.py","src/Mod/CAM/CAMTests/TestPathProfile.py","src/Mod/CAM/Path/Op/Profile.py","src/Mod/CAM/PathScripts/PathUtils.py","src/Mod/CAM/libarea/Arc.cpp","src/Mod/CAM/libarea/Arc.h","src/Mod/CAM/libarea/Area.cpp","src/Mod/CAM/libarea/Area.h","src/Mod/CAM/libarea/AreaClipper.cpp","src/Mod/CAM/libarea/AreaDxf.cpp","src/Mod/CAM/libarea/AreaDxf.h","src/Mod/CAM/libarea/AreaOrderer.cpp","src/Mod/CAM/libarea/AreaOrderer.h","src/Mod/CAM/libarea/AreaPocket.cpp","src/Mod/CAM/libarea/Box2D.h","src/Mod/CAM/libarea/Circle.cpp","src/Mod/CAM/libarea/Circle.h","src/Mod/CAM/libarea/Curve.cpp","src/Mod/CAM/libarea/Curve.h","src/Mod/CAM/libarea/Point.h","src/Mod/CAM/libarea/pyarea.cpp"]},{"id":"9344a0202533c4a2d44360b4d52a3ecae7007383","tree_id":"b194977d30d1d27e9997718c3cdda5a1683cdbc0","distinct":true,"message":"Gui: disable broken built-in macro debugging commands (#29889)\n\n* Gui: disable broken built-in macro debugging commands\n\n* [pre-commit.ci] auto fixes from pre-commit.com hooks\n\nfor more information, see https://pre-commit.ci\n\n* Gui: remove broken built-in macro debugger actions\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-05-15T15:04:07Z","url":"https://github.com/ilf-S/FreeCAD/commit/9344a0202533c4a2d44360b4d52a3ecae7007383","author":{"name":"Nemanja Pejic","email":"45765691+ItSaulGoodMan@users.noreply.github.com","date":"2026-05-15T17:04:07+02:00","username":"ItSaulGoodMan"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-15T15:04:07Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Gui/CommandMacro.cpp","src/Gui/PreferencePackTemplates/Shortcuts.cfg","src/Gui/Workbench.cpp"]},{"id":"e2579cee4c4da6472e7f8d67eb00483f018992f7","tree_id":"1fe80581e5402c7d29f33d0d49a9d78f0b43acf2","distinct":true,"message":"Merge pull request #27559 from tarman3/base_errors\n\nCAM: ObjectOp - Catch base error","timestamp":"2026-05-15T11:57:17-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/e2579cee4c4da6472e7f8d67eb00483f018992f7","author":{"name":"Billy Huddleston","email":"billy@ivdc.com","date":"2026-05-15T11:57:17-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-15T11:57:17-04:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Base.py","src/Mod/CAM/Path/Op/CircularHoleBase.py","src/Mod/CAM/Path/Op/Gui/Base.py"]},{"id":"d697634adbad6bcdc0daddf27f48192908c01b4d","tree_id":"9c2a57255c6ede1db5111dbd0eb42780d03491b6","distinct":true,"message":"Merge pull request #29535 from davidgilkaufman/clipper2\n\nCAM: Clipper 1 -> Clipper 2 migration, except for the adaptive operation","timestamp":"2026-05-15T12:04:27-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/d697634adbad6bcdc0daddf27f48192908c01b4d","author":{"name":"Billy Huddleston","email":"billy@ivdc.com","date":"2026-05-15T12:04:27-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-15T12:04:27-04:00","username":"web-flow"},"added":["cMake/FreeCAD_Helpers/SetupClipper2.cmake","src/3rdParty/Clipper2/CMakeLists.txt","src/3rdParty/Clipper2/Clipper2.pc.cmakein","src/3rdParty/Clipper2/Clipper2Config.cmake.in","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.core.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.engine.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.export.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.minkowski.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.offset.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.rectclip.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.triangulation.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.version.h","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.engine.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.offset.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.rectclip.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.triangulation.cpp","src/3rdParty/Clipper2/LICENSE","src/3rdParty/Clipper2/clipper.version.in","src/3rdParty/Clipper2/update_clipper2.sh","src/Mod/CAM/CAMTests/TestAreaOperations.py"],"removed":[],"modified":["CMakeLists.txt","cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake","src/3rdParty/CMakeLists.txt","src/App/Application.cpp","src/App/ProgramInformation.cpp","src/Doc/CONTRIBUTORS","src/Doc/ThirdPartyLibraries.html.cmake","src/LibraryVersions.h.cmake","src/Mod/CAM/App/AppPathPy.cpp","src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/Area.h","src/Mod/CAM/App/AreaParams.h","src/Mod/CAM/App/AreaPyImp.cpp","src/Mod/CAM/App/FeatureArea.cpp","src/Mod/CAM/App/FeatureAreaPyImp.cpp","src/Mod/CAM/App/ParamsHelper.h","src/Mod/CAM/CAMTests/TestPathPocket.py","src/Mod/CAM/CAMTests/TestPathProfile.py","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/Path/Op/Profile.py","src/Mod/CAM/PathScripts/PathUtils.py","src/Mod/CAM/TestCAMApp.py","src/Mod/CAM/libarea/Arc.cpp","src/Mod/CAM/libarea/Arc.h","src/Mod/CAM/libarea/Area.cpp","src/Mod/CAM/libarea/Area.h","src/Mod/CAM/libarea/AreaClipper.cpp","src/Mod/CAM/libarea/AreaDxf.cpp","src/Mod/CAM/libarea/AreaDxf.h","src/Mod/CAM/libarea/AreaOrderer.cpp","src/Mod/CAM/libarea/AreaOrderer.h","src/Mod/CAM/libarea/AreaPocket.cpp","src/Mod/CAM/libarea/Box2D.h","src/Mod/CAM/libarea/CMakeLists.txt","src/Mod/CAM/libarea/Circle.cpp","src/Mod/CAM/libarea/Circle.h","src/Mod/CAM/libarea/Curve.cpp","src/Mod/CAM/libarea/Curve.h","src/Mod/CAM/libarea/Point.h","src/Mod/CAM/libarea/pyarea.cpp"]},{"id":"a49d956967a35544c0a6964660f942d0eecc739c","tree_id":"acac5bd3585badf9b0779117a82591c35cc053f7","distinct":true,"message":"Merge pull request #29523 from tarman3/selectloop_alledges\n\nCAM: SelectLoop - Select all edges from shape","timestamp":"2026-05-15T12:42:00-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/a49d956967a35544c0a6964660f942d0eecc739c","author":{"name":"Billy Huddleston","email":"billy@ivdc.com","date":"2026-05-15T12:42:00-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-15T12:42:00-04:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/PathCommands.py"]},{"id":"751be50f8783ea8ac39b811c90449db8cdd2ec30","tree_id":"8aa94ed9b56f89ea83fb50094402c25980fdcfa3","distinct":true,"message":"TD: Fix off-white default page color","timestamp":"2026-05-15T19:12:35+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/751be50f8783ea8ac39b811c90449db8cdd2ec30","author":{"name":"Max Wilfinger","email":"max@wilfinger.de","date":"2026-05-13T11:02:32+02:00","username":"maxwxyz"},"committer":{"name":"Benjamin Nauck","email":"benjamin@nauck.se","date":"2026-05-15T19:12:35+02:00","username":"hyarion"},"added":[],"removed":[],"modified":["src/Gui/PreferencePacks/FreeCAD Light/FreeCAD Light.cfg"]},{"id":"d36d56e7d9319cd79e9003f242ed07ac8d7ba053","tree_id":"fa799434bb4b0cf6bd0f1c8c97ed1daddb073058","distinct":true,"message":"CAM: SimulatorGL - Default CheckState as op.Visibility (#26913)","timestamp":"2026-05-15T18:50:46Z","url":"https://github.com/ilf-S/FreeCAD/commit/d36d56e7d9319cd79e9003f242ed07ac8d7ba053","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-05-15T21:50:46+03:00","username":"tarman3"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-15T18:50:46Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Gui/Resources/panels/TaskCAMSimulator.ui","src/Mod/CAM/Path/Main/Gui/SimulatorGL.py"]},{"id":"36af3fdcc9701c4f4797b2365be17254f1ec6c16","tree_id":"0ec58bdea6b3b5ed3db711a57c4bd2e7a38c58ff","distinct":true,"message":"CAM: Fix bug in generating Adaptive lead-in (#29971)\n\n* Revert \"Remove debugging code\"\nThis reverts commit d71b97d77e120e1b50e25dc67cc817229cf184bd.\n* fix debug output\n* fix bug in lead in generation\n* Remove debug output\nThis reverts commit ee05bef9c8b807164e0a6110d203fb3467b36644.\n* add adaptive generator version to python input dictionary","timestamp":"2026-05-15T15:23:33-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/36af3fdcc9701c4f4797b2365be17254f1ec6c16","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-05-15T15:23:33-05:00","username":"sliptonic"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-15T15:23:33-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Op/Adaptive.py","src/Mod/CAM/libarea/Adaptive.cpp"]},{"id":"6f17c3bc9e51405b514ad6360ec4aeb5d0e04251","tree_id":"489214d356ff1988901e1e369b2856c6d07d97df","distinct":true,"message":"CAM: make export2() flat, factor _convert_axis_param() (#30097)\n\n* make export2() flat, factor _convert_axis_param()","timestamp":"2026-05-15T21:39:24Z","url":"https://github.com/ilf-S/FreeCAD/commit/6f17c3bc9e51405b514ad6360ec4aeb5d0e04251","author":{"name":"awgrover","email":"awgrover@gmail.com","date":"2026-05-15T17:39:24-04:00","username":"awgrover"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-15T21:39:24Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Post/Processor.py"]},{"id":"1fbf8bd0530503f42e9de5de232d9495d33ae889","tree_id":"b49e0857d560ed53e10e64d79a50cb711ba991bc","distinct":true,"message":"Core: Avoid duplicate disabled addon notices (#29380)\n\n* Core: Avoid duplicate disabled addon notices\n\n* reduce io stress by adding cache to resolve\n\n---------\n\nCo-authored-by: Frank Martinez ","timestamp":"2026-05-16T00:37:03Z","url":"https://github.com/ilf-S/FreeCAD/commit/1fbf8bd0530503f42e9de5de232d9495d33ae889","author":{"name":"Nemanja Pejic","email":"45765691+ItSaulGoodMan@users.noreply.github.com","date":"2026-05-16T02:37:03+02:00","username":"ItSaulGoodMan"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-16T00:37:03Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/App/FreeCADInit.py"]},{"id":"3f5566a9efcf66bb9170f3eab574d9c32b5b5c66","tree_id":"b3b094881e926d17e9ff59ca23bc1cfd8aef0dcf","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-05-16T02:46:41Z","url":"https://github.com/ilf-S/FreeCAD/commit/3f5566a9efcf66bb9170f3eab574d9c32b5b5c66","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-16T02:46:41Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-16T02:46:41Z","username":"ilf-S"},"added":["cMake/FreeCAD_Helpers/SetupClipper2.cmake","src/3rdParty/Clipper2/CMakeLists.txt","src/3rdParty/Clipper2/Clipper2.pc.cmakein","src/3rdParty/Clipper2/Clipper2Config.cmake.in","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.core.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.engine.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.export.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.minkowski.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.offset.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.rectclip.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.triangulation.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.version.h","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.engine.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.offset.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.rectclip.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.triangulation.cpp","src/3rdParty/Clipper2/LICENSE","src/3rdParty/Clipper2/clipper.version.in","src/3rdParty/Clipper2/update_clipper2.sh","src/Mod/CAM/CAMTests/TestAreaOperations.py"],"removed":[],"modified":["CMakeLists.txt","cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake","src/3rdParty/CMakeLists.txt","src/App/Application.cpp","src/App/FreeCADInit.py","src/App/ProgramInformation.cpp","src/Doc/CONTRIBUTORS","src/Doc/ThirdPartyLibraries.html.cmake","src/Gui/CommandMacro.cpp","src/Gui/PreferencePackTemplates/Shortcuts.cfg","src/Gui/PreferencePacks/FreeCAD Light/FreeCAD Light.cfg","src/Gui/Workbench.cpp","src/LibraryVersions.h.cmake","src/Mod/CAM/App/AppPathPy.cpp","src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/Area.h","src/Mod/CAM/App/AreaParams.h","src/Mod/CAM/App/AreaPyImp.cpp","src/Mod/CAM/App/FeatureArea.cpp","src/Mod/CAM/App/FeatureAreaPyImp.cpp","src/Mod/CAM/App/ParamsHelper.h","src/Mod/CAM/CAMTests/TestPathPocket.py","src/Mod/CAM/CAMTests/TestPathProfile.py","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/Gui/Resources/panels/TaskCAMSimulator.ui","src/Mod/CAM/Path/Main/Gui/SimulatorGL.py","src/Mod/CAM/Path/Op/Adaptive.py","src/Mod/CAM/Path/Op/Base.py","src/Mod/CAM/Path/Op/CircularHoleBase.py","src/Mod/CAM/Path/Op/Gui/Base.py","src/Mod/CAM/Path/Op/Profile.py","src/Mod/CAM/Path/Post/Processor.py","src/Mod/CAM/PathCommands.py","src/Mod/CAM/PathScripts/PathUtils.py","src/Mod/CAM/TestCAMApp.py","src/Mod/CAM/libarea/Adaptive.cpp","src/Mod/CAM/libarea/Arc.cpp","src/Mod/CAM/libarea/Arc.h","src/Mod/CAM/libarea/Area.cpp","src/Mod/CAM/libarea/Area.h","src/Mod/CAM/libarea/AreaClipper.cpp","src/Mod/CAM/libarea/AreaDxf.cpp","src/Mod/CAM/libarea/AreaDxf.h","src/Mod/CAM/libarea/AreaOrderer.cpp","src/Mod/CAM/libarea/AreaOrderer.h","src/Mod/CAM/libarea/AreaPocket.cpp","src/Mod/CAM/libarea/Box2D.h","src/Mod/CAM/libarea/CMakeLists.txt","src/Mod/CAM/libarea/Circle.cpp","src/Mod/CAM/libarea/Circle.h","src/Mod/CAM/libarea/Curve.cpp","src/Mod/CAM/libarea/Curve.h","src/Mod/CAM/libarea/Point.h","src/Mod/CAM/libarea/pyarea.cpp"]}],"head_commit":{"id":"3f5566a9efcf66bb9170f3eab574d9c32b5b5c66","tree_id":"b3b094881e926d17e9ff59ca23bc1cfd8aef0dcf","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-05-16T02:46:41Z","url":"https://github.com/ilf-S/FreeCAD/commit/3f5566a9efcf66bb9170f3eab574d9c32b5b5c66","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-16T02:46:41Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-16T02:46:41Z","username":"ilf-S"},"added":["cMake/FreeCAD_Helpers/SetupClipper2.cmake","src/3rdParty/Clipper2/CMakeLists.txt","src/3rdParty/Clipper2/Clipper2.pc.cmakein","src/3rdParty/Clipper2/Clipper2Config.cmake.in","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.core.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.engine.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.export.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.minkowski.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.offset.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.rectclip.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.triangulation.h","src/3rdParty/Clipper2/Clipper2Lib/include/clipper2/clipper.version.h","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.engine.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.offset.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.rectclip.cpp","src/3rdParty/Clipper2/Clipper2Lib/src/clipper.triangulation.cpp","src/3rdParty/Clipper2/LICENSE","src/3rdParty/Clipper2/clipper.version.in","src/3rdParty/Clipper2/update_clipper2.sh","src/Mod/CAM/CAMTests/TestAreaOperations.py"],"removed":[],"modified":["CMakeLists.txt","cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake","src/3rdParty/CMakeLists.txt","src/App/Application.cpp","src/App/FreeCADInit.py","src/App/ProgramInformation.cpp","src/Doc/CONTRIBUTORS","src/Doc/ThirdPartyLibraries.html.cmake","src/Gui/CommandMacro.cpp","src/Gui/PreferencePackTemplates/Shortcuts.cfg","src/Gui/PreferencePacks/FreeCAD Light/FreeCAD Light.cfg","src/Gui/Workbench.cpp","src/LibraryVersions.h.cmake","src/Mod/CAM/App/AppPathPy.cpp","src/Mod/CAM/App/Area.cpp","src/Mod/CAM/App/Area.h","src/Mod/CAM/App/AreaParams.h","src/Mod/CAM/App/AreaPyImp.cpp","src/Mod/CAM/App/FeatureArea.cpp","src/Mod/CAM/App/FeatureAreaPyImp.cpp","src/Mod/CAM/App/ParamsHelper.h","src/Mod/CAM/CAMTests/TestPathPocket.py","src/Mod/CAM/CAMTests/TestPathProfile.py","src/Mod/CAM/CMakeLists.txt","src/Mod/CAM/Gui/Resources/panels/TaskCAMSimulator.ui","src/Mod/CAM/Path/Main/Gui/SimulatorGL.py","src/Mod/CAM/Path/Op/Adaptive.py","src/Mod/CAM/Path/Op/Base.py","src/Mod/CAM/Path/Op/CircularHoleBase.py","src/Mod/CAM/Path/Op/Gui/Base.py","src/Mod/CAM/Path/Op/Profile.py","src/Mod/CAM/Path/Post/Processor.py","src/Mod/CAM/PathCommands.py","src/Mod/CAM/PathScripts/PathUtils.py","src/Mod/CAM/TestCAMApp.py","src/Mod/CAM/libarea/Adaptive.cpp","src/Mod/CAM/libarea/Arc.cpp","src/Mod/CAM/libarea/Arc.h","src/Mod/CAM/libarea/Area.cpp","src/Mod/CAM/libarea/Area.h","src/Mod/CAM/libarea/AreaClipper.cpp","src/Mod/CAM/libarea/AreaDxf.cpp","src/Mod/CAM/libarea/AreaDxf.h","src/Mod/CAM/libarea/AreaOrderer.cpp","src/Mod/CAM/libarea/AreaOrderer.h","src/Mod/CAM/libarea/AreaPocket.cpp","src/Mod/CAM/libarea/Box2D.h","src/Mod/CAM/libarea/CMakeLists.txt","src/Mod/CAM/libarea/Circle.cpp","src/Mod/CAM/libarea/Circle.h","src/Mod/CAM/libarea/Curve.cpp","src/Mod/CAM/libarea/Curve.h","src/Mod/CAM/libarea/Point.h","src/Mod/CAM/libarea/pyarea.cpp"]}}