{"ref":"refs/heads/main","before":"7873a68c8a0bf7ab429e7e9a44ef49d0d18f7569","after":"7d32cbeb5fe082078c1ae40580918bc3bb229079","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-30T02:54:32Z","pushed_at":1780198806,"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":2517691,"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/7873a68c8a0b...7d32cbeb5fe0","commits":[{"id":"2f3161f3127aee02d6c8622433a5046558534271","tree_id":"7f0976d3d9b1189737ca463a4b547e03bafe559e","distinct":true,"message":"Sketcher: improve overlapping constraint preselection","timestamp":"2026-05-26T16:11:51+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/2f3161f3127aee02d6c8622433a5046558534271","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-25T19:27:28+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-26T16:11:51+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.h","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.h","src/Mod/Sketcher/Gui/ViewProviderSketchCoinAttorney.h"]},{"id":"6e1826295b65f4da6df14ea7937d750beccb9a59","tree_id":"256f4b26db51b6fa1ff694083f09765db1031194","distinct":true,"message":"Sketcher: add GUI preselection regression test","timestamp":"2026-05-26T19:29:10+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/6e1826295b65f4da6df14ea7937d750beccb9a59","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-25T19:28:10+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-26T19:29:10+01:00","username":"tritao"},"added":["src/Mod/Sketcher/SketcherTests/TestConstraintPreselectionGui.py"],"removed":[],"modified":["src/Mod/Sketcher/CMakeLists.txt","src/Mod/Sketcher/Gui/AppSketcherGui.cpp","src/Mod/Sketcher/TestSketcherGui.py"]},{"id":"4ada26e3668b37e1640b2f0b1b24ec2d9cc60a4e","tree_id":"3f485839606ff3f82db47213afb528a88f52cf8a","distinct":true,"message":"Core: Avoid recursive removal of objects\n\nThis fixes https://github.com/FreeCAD/FreeCAD/issues/30418\n\nThe about to be deleted object emits the signal 'signalDeletedObject'\nthe notifies its view provider. The view provider may explicitly call\nthe method removeObject() which will leads to a crash.\n\nTo avoid this explicitly check if the 'Remove' flag is set and abort the\noperation.","timestamp":"2026-05-27T07:09:47+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/4ada26e3668b37e1640b2f0b1b24ec2d9cc60a4e","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-05-26T18:52:03+02:00","username":"wwmayer"},"committer":{"name":"Max Wilfinger","email":"max@wilfinger.de","date":"2026-05-27T07:09:47+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/App/Document.cpp"]},{"id":"6588f76c81bd9a37e418e57d7be8b879a58aec38","tree_id":"9c6e2b796e2653dc73ee7f71e62d721f9b2dabe6","distinct":true,"message":"Test: Add test case for issue 30418","timestamp":"2026-05-27T07:10:24+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/6588f76c81bd9a37e418e57d7be8b879a58aec38","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-05-26T19:18:34+02:00","username":"wwmayer"},"committer":{"name":"Max Wilfinger","email":"max@wilfinger.de","date":"2026-05-27T07:10:24+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/Test/GuiDocument.py"]},{"id":"6771eba7f4ba8f6bb8b6733274a6aacf66e872af","tree_id":"1e392fa6c377a3cddfe485684570b8204ade9de0","distinct":true,"message":"Sketcher: prioritize point hits over overlapping edges","timestamp":"2026-05-27T13:27:01+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/6771eba7f4ba8f6bb8b6733274a6aacf66e872af","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T13:27:01+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T13:27:01+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h"]},{"id":"9efe08b33bdb499942fb42796cc888f76ecee0b0","tree_id":"be8c610329ab4e3e587f64ae888e4525eb48cbaf","distinct":true,"message":"Sketcher: keep clicks aligned with hovered preselection","timestamp":"2026-05-27T15:27:08+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/9efe08b33bdb499942fb42796cc888f76ecee0b0","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T15:27:08+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T15:27:08+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.h"]},{"id":"a27c3f0ae910f21cbe89cff20c344eb5dc8bc89a","tree_id":"f78233e6038d5140ca308894c869282a745699de","distinct":true,"message":"Sketcher: prefer constraint icons over overlapping geometry","timestamp":"2026-05-27T15:29:51+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/a27c3f0ae910f21cbe89cff20c344eb5dc8bc89a","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T15:29:51+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T15:29:51+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.h"]},{"id":"b8b8a3e2a099d2a184dedf61bf15efa1b9e890b0","tree_id":"e98184296dd7f796d97abc671748a2323d61688e","distinct":true,"message":"Sketcher: use screen-space geometry preselection","timestamp":"2026-05-27T19:11:52+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/b8b8a3e2a099d2a184dedf61bf15efa1b9e890b0","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T19:11:52+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T19:11:52+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp"]},{"id":"57650b80672fdf47b5fd7c5590bba4946f0087eb","tree_id":"56141e76b2c0a2d0bde3729af45279131091ef83","distinct":true,"message":"Sketcher: factor screen-space geometry preselection","timestamp":"2026-05-27T19:35:51+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/57650b80672fdf47b5fd7c5590bba4946f0087eb","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T19:35:51+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-27T19:35:51+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h"]},{"id":"e3460cd3d5d97fafb22e554badf427a34c8606f7","tree_id":"aa1cb229ba279fe76edd571f66854f824b4cd0e2","distinct":true,"message":"Quarter: preserve HiDPI mouse precision for picks","timestamp":"2026-05-28T18:41:24+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/e3460cd3d5d97fafb22e554badf427a34c8606f7","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-28T18:20:11+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-28T18:41:24+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Gui/Quarter/EventFilter.cpp","src/Gui/Quarter/InputDevice.cpp","src/Gui/Quarter/Mouse.cpp","src/Gui/Quarter/devices/InputDevice.h"]},{"id":"92c709ca6b40c454700387460511dcfe4872d620","tree_id":"f8bf6c6be74f00a85b118939b444a0478550638e","distinct":true,"message":"CAM: SelectLoop - Horizontal face selection","timestamp":"2026-05-29T22:47:08+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/92c709ca6b40c454700387460511dcfe4872d620","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-01-09T07:52:35+02:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-05-29T22:47:08+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/PathCommands.py","src/Mod/CAM/PathScripts/PathUtils.py"]},{"id":"96ab8a5be339237442a8c9b3655def7605b81f4a","tree_id":"e2df3a1b93b1d6eb4dc7675a89d02d6299d8defd","distinct":true,"message":"Sketcher: use viewport pixels for screen-space picking","timestamp":"2026-05-29T21:52:29+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/96ab8a5be339237442a8c9b3655def7605b81f4a","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-28T18:36:01+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-29T21:52:29+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.h","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp"]},{"id":"6954b251c3b31f6bdd5f7cc18a248b2098c78235","tree_id":"9b848e96121cd1bbb6941290b270674aaa52439e","distinct":true,"message":"Merge pull request #30412 from tritao/issue-25840\n\nSketcher: improve overlap picking in sketch edit mode","timestamp":"2026-05-30T05:30:03+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/6954b251c3b31f6bdd5f7cc18a248b2098c78235","author":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-30T05:30:03+02:00","username":"maxwxyz"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-30T05:30:03+02:00","username":"web-flow"},"added":["src/Mod/Sketcher/SketcherTests/TestConstraintPreselectionGui.py"],"removed":[],"modified":["src/Gui/Quarter/EventFilter.cpp","src/Gui/Quarter/InputDevice.cpp","src/Gui/Quarter/Mouse.cpp","src/Gui/Quarter/devices/InputDevice.h","src/Mod/Sketcher/CMakeLists.txt","src/Mod/Sketcher/Gui/AppSketcherGui.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.h","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.h","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.h","src/Mod/Sketcher/Gui/ViewProviderSketchCoinAttorney.h","src/Mod/Sketcher/TestSketcherGui.py"]},{"id":"9d65679719807ffff5132f085bb441cab189f853","tree_id":"19cc13001606c9af4aa7eeff7939f19ee40ce2d4","distinct":true,"message":"Sketcher: restore OVP Esc cancel behavior","timestamp":"2026-05-30T10:14:47+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/9d65679719807ffff5132f085bb441cab189f853","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-28T16:50:51+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-30T10:14:47+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/DrawSketchController.h","src/Mod/Sketcher/Gui/DrawSketchDefaultHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandler.cpp","src/Mod/Sketcher/Gui/DrawSketchHandler.h"]},{"id":"6b890e0d7359086f9cfbac399644c89ccffc40fc","tree_id":"0449e7781ae805107ccf6e703e506b30a488e45f","distinct":true,"message":"Gui: auto-close task dialogs on reset edit","timestamp":"2026-05-30T10:14:47+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/6b890e0d7359086f9cfbac399644c89ccffc40fc","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-28T16:51:27+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-30T10:14:47+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Gui/TaskView/TaskDialog.cpp","src/Gui/TaskView/TaskDialog.h","src/Gui/TaskView/TaskDialogPython.cpp","src/Gui/TaskView/TaskDialogPython.h","src/Gui/TaskView/TaskView.cpp","src/Gui/TaskView/TaskView.h"]},{"id":"e4080845320f4e7dfe21b3907ab778708594d663","tree_id":"cb712bc7a52886bee53a6b3842f8c491e39f9938","distinct":true,"message":"CAM: Fix compiler warnings in Adaptive.cpp:CalcCutArea","timestamp":"2026-05-30T11:36:05+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/e4080845320f4e7dfe21b3907ab778708594d663","author":{"name":"Grzegorz Kwacz","email":"gkwacz@hotmail.com","date":"2026-02-07T18:11:55+01:00","username":"greg19"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-30T11:36:05+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/CAM/libarea/Adaptive.cpp"]},{"id":"b051c893de607ac31d689b84f4fdbc4892dcd045","tree_id":"2b37d20548d646eb21813eb741bd8e6332806229","distinct":true,"message":"CAM: Extended and corrected the post processor test mock code.\n\nExtended the MockTool and MockToolController to behave more like\nFreeCAD. This allow the mock code to work with the extended OpenSBP\npost processor available from\nhttps://github.com/awgrover/FreeCAD/blob/releases/opensbp_post-dev-pr/src/Mod/CAM/Path/Post/scripts/opensbp_post.pyr.\n\nSee also PR #27441.","timestamp":"2026-05-30T11:36:18+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/b051c893de607ac31d689b84f4fdbc4892dcd045","author":{"name":"Petter Reinholdtsen","email":"pere@hungry.com","date":"2026-02-11T20:25:08+01:00","username":"petterreinholdtsen"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-30T11:36:18+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/CAM/CAMTests/PostTestMocks.py"]},{"id":"e6d3f9d6dbcf3fbb2be62004af1402c58a1f9582","tree_id":"d6f7527f099b49a1d16fec03b41cf7be75d747cc","distinct":true,"message":"Sketcher: adopt resetEdit task-dialog lifecycle","timestamp":"2026-05-30T12:36:14+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/e6d3f9d6dbcf3fbb2be62004af1402c58a1f9582","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-28T16:52:05+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-30T12:36:14+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp","src/Mod/Sketcher/Gui/TaskDlgEditSketch.h","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp"]},{"id":"cbe8b6a58fa5db671adc0d4ba3eb7afc1f91eb78","tree_id":"a194e2c618de2b19a848c4c5125eae23bdce7c7a","distinct":true,"message":"Sketcher: expand GUI coverage for OVP cancel and task-dialog lifecycle","timestamp":"2026-05-30T12:36:14+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/cbe8b6a58fa5db671adc0d4ba3eb7afc1f91eb78","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-28T19:01:13+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-30T12:36:14+01:00","username":"tritao"},"added":["src/Mod/Sketcher/SketcherTests/GuiTestCase.py"],"removed":[],"modified":["src/Mod/Sketcher/CMakeLists.txt","src/Mod/Sketcher/SketcherTests/TestOnViewParameterGui.py","src/Mod/Sketcher/SketcherTests/TestPlacementUpdate.py"]},{"id":"8d3c8076b2628d4de1bbc26df93382263afeb56a","tree_id":"c715dc61fff33f15eefdf3f61c406ddbf5300d2b","distinct":true,"message":"Sketcher: make task-panel Esc cancel sketch edit","timestamp":"2026-05-30T12:36:14+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/8d3c8076b2628d4de1bbc26df93382263afeb56a","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-30T12:36:09+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-30T12:36:14+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp"]},{"id":"831e059c140abd6f7a5dde2c6e9a38c103fe5974","tree_id":"4d6a7bd16ac22df326adc22d5ce8392d9b2dab21","distinct":true,"message":"Merge pull request #26786 from tarman3/selectloop_horface\n\nCAM: SelectLoop - Horizontal face","timestamp":"2026-05-30T09:08:41-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/831e059c140abd6f7a5dde2c6e9a38c103fe5974","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-05-30T09:08:41-05:00","username":"sliptonic"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-30T09:08:41-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/PathCommands.py","src/Mod/CAM/PathScripts/PathUtils.py"]},{"id":"e9057905955bb3c275d9fa2f0e34ba676fa67fbb","tree_id":"3e85ac3cc027bdbad6fce938327eb4079b7ad57e","distinct":true,"message":"Merge pull request #30445 from tritao/issue-30439-ovp-esc-main\n\nSketcher: restore OVP Esc cancel behavior","timestamp":"2026-05-30T16:44:50+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/e9057905955bb3c275d9fa2f0e34ba676fa67fbb","author":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-30T16:44:50+02:00","username":"maxwxyz"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-30T16:44:50+02:00","username":"web-flow"},"added":["src/Mod/Sketcher/SketcherTests/GuiTestCase.py"],"removed":[],"modified":["src/Gui/TaskView/TaskDialog.cpp","src/Gui/TaskView/TaskDialog.h","src/Gui/TaskView/TaskDialogPython.cpp","src/Gui/TaskView/TaskDialogPython.h","src/Gui/TaskView/TaskView.cpp","src/Gui/TaskView/TaskView.h","src/Mod/Sketcher/CMakeLists.txt","src/Mod/Sketcher/Gui/DrawSketchController.h","src/Mod/Sketcher/Gui/DrawSketchDefaultHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandler.cpp","src/Mod/Sketcher/Gui/DrawSketchHandler.h","src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp","src/Mod/Sketcher/Gui/TaskDlgEditSketch.h","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/SketcherTests/TestOnViewParameterGui.py","src/Mod/Sketcher/SketcherTests/TestPlacementUpdate.py"]},{"id":"acf6d556c4ec92dcf26b4bc2537c4041e1b2646a","tree_id":"ddc9b1a1303c78c9e468545149d400388f0dd43b","distinct":true,"message":"CAM: LeadInOut - Create","timestamp":"2026-05-30T18:18:43+03:00","url":"https://github.com/ilf-S/FreeCAD/commit/acf6d556c4ec92dcf26b4bc2537c4041e1b2646a","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-04-25T17:30:27+03:00","username":"tarman3"},"committer":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-05-30T18:18:43+03:00","username":"tarman3"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Dressup/Gui/LeadInOut.py"]},{"id":"e2a72843b158e814b8a8345ee2b40cd600c98f15","tree_id":"cb268f9e1dd59f9ee9227b1b5c89ae4205de4937","distinct":true,"message":"Sketcher: Fix 2 OVP focus issue","timestamp":"2026-05-30T17:34:59+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/e2a72843b158e814b8a8345ee2b40cd600c98f15","author":{"name":"PaddleStroke","email":"pierrelouis.boyer@gmail.com","date":"2026-05-26T13:41:32+02:00","username":"PaddleStroke"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-30T17:34:59+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Gui/EditableDatumLabel.cpp"]},{"id":"28d0905bcb259fcfd404aa9db4e8efd3360624df","tree_id":"e23aaa132b756536fd66cd47af983a7a9bd640ce","distinct":true,"message":"BIM: fix ArchMaterial issue with Building US unit system\n\nFixes #29563.\r\n\r\nUsing the well known workaround again: `replace(\"+\", \"--\")`.","timestamp":"2026-05-30T18:04:08+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/28d0905bcb259fcfd404aa9db4e8efd3360624df","author":{"name":"Roy-043","email":"70520633+Roy-043@users.noreply.github.com","date":"2026-05-30T16:26:08+02:00","username":"Roy-043"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-30T18:04:08+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/BIM/ArchMaterial.py"]},{"id":"4a3536b1dc6422cdec348bd0834488b0e906364b","tree_id":"680dbafdc4faa93c996959c8b483f0c1c4ed0b42","distinct":true,"message":"Gui: Keep focus in tree view after using keyboard to delete item in tree view (#30279)\n\n* gui: keep focus in tree view after using keyboard to delete item in tree view ie. fixes #23798\n\n* fixes suggested by @hyarion ie. fixes #23798 Gui: keep focus in tree view after using keyboard to delete item in tree view","timestamp":"2026-05-30T18:18:52+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/4a3536b1dc6422cdec348bd0834488b0e906364b","author":{"name":"Chris","email":"chris.r.jones.1983@gmail.com","date":"2026-05-30T11:18:52-05:00","username":"ipatch"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-30T18:18:52+02:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Gui/CommandDoc.cpp","src/Gui/MainWindow.cpp"]},{"id":"7266f08f79a3e19d754f4ec7f726e5b623390c4f","tree_id":"5e6f30ce3dc0c593b921680743b3552348930127","distinct":true,"message":"Merge pull request #29621 from tarman3/leadinout_create\n\nCAM: LeadInOut - Create","timestamp":"2026-05-30T11:35:50-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/7266f08f79a3e19d754f4ec7f726e5b623390c4f","author":{"name":"sliptonic","email":"shopinthewoods@gmail.com","date":"2026-05-30T11:35:50-05:00","username":"sliptonic"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-30T11:35:50-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/CAM/Path/Dressup/Gui/LeadInOut.py"]},{"id":"3d4c4604e4c5d8874030176eb23eb79f94757278","tree_id":"182cb58dfe118ad480ba54470b3738092366d0ea","distinct":true,"message":"Part: Fix copying visual properties\n\nFix copying face, edge and vertex colors in Mirroring dialog.","timestamp":"2026-05-30T21:25:30+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/3d4c4604e4c5d8874030176eb23eb79f94757278","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-05-25T14:00:44+02:00","username":"wwmayer"},"committer":{"name":"Benjamin Nauck","email":"benjamin@nauck.se","date":"2026-05-30T21:25:30+02:00","username":"hyarion"},"added":[],"removed":[],"modified":["src/Mod/Part/Gui/Mirroring.cpp"]},{"id":"e878e5695cdb8edf2167167e852296a3c863f0a9","tree_id":"806008173e897b98dd396b99140edd2ae2093d20","distinct":true,"message":"Merge pull request #30434 from maxwxyz/30418\n\nCore: Avoid recursive removal of objects","timestamp":"2026-05-30T21:27:26+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/e878e5695cdb8edf2167167e852296a3c863f0a9","author":{"name":"Benjamin Nauck","email":"benjamin.nauck@gmail.com","date":"2026-05-30T21:27:26+02:00","username":"hyarion"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-30T21:27:26+02:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/App/Document.cpp","src/Mod/Test/GuiDocument.py"]},{"id":"7d32cbeb5fe082078c1ae40580918bc3bb229079","tree_id":"af9df65dedeabbcef568e6c0de27f7edd781e1f4","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-05-31T03:40:05Z","url":"https://github.com/ilf-S/FreeCAD/commit/7d32cbeb5fe082078c1ae40580918bc3bb229079","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-31T03:40:05Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-31T03:40:05Z","username":"ilf-S"},"added":["src/Mod/Sketcher/SketcherTests/GuiTestCase.py","src/Mod/Sketcher/SketcherTests/TestConstraintPreselectionGui.py"],"removed":[],"modified":["src/App/Document.cpp","src/Gui/CommandDoc.cpp","src/Gui/EditableDatumLabel.cpp","src/Gui/MainWindow.cpp","src/Gui/Quarter/EventFilter.cpp","src/Gui/Quarter/InputDevice.cpp","src/Gui/Quarter/Mouse.cpp","src/Gui/Quarter/devices/InputDevice.h","src/Gui/TaskView/TaskDialog.cpp","src/Gui/TaskView/TaskDialog.h","src/Gui/TaskView/TaskDialogPython.cpp","src/Gui/TaskView/TaskDialogPython.h","src/Gui/TaskView/TaskView.cpp","src/Gui/TaskView/TaskView.h","src/Mod/BIM/ArchMaterial.py","src/Mod/CAM/CAMTests/PostTestMocks.py","src/Mod/CAM/Path/Dressup/Gui/LeadInOut.py","src/Mod/CAM/PathCommands.py","src/Mod/CAM/PathScripts/PathUtils.py","src/Mod/CAM/libarea/Adaptive.cpp","src/Mod/Part/Gui/Mirroring.cpp","src/Mod/Sketcher/CMakeLists.txt","src/Mod/Sketcher/Gui/AppSketcherGui.cpp","src/Mod/Sketcher/Gui/DrawSketchController.h","src/Mod/Sketcher/Gui/DrawSketchDefaultHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandler.cpp","src/Mod/Sketcher/Gui/DrawSketchHandler.h","src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.h","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.h","src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp","src/Mod/Sketcher/Gui/TaskDlgEditSketch.h","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.h","src/Mod/Sketcher/Gui/ViewProviderSketchCoinAttorney.h","src/Mod/Sketcher/SketcherTests/TestOnViewParameterGui.py","src/Mod/Sketcher/SketcherTests/TestPlacementUpdate.py","src/Mod/Sketcher/TestSketcherGui.py","src/Mod/Test/GuiDocument.py"]}],"head_commit":{"id":"7d32cbeb5fe082078c1ae40580918bc3bb229079","tree_id":"af9df65dedeabbcef568e6c0de27f7edd781e1f4","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-05-31T03:40:05Z","url":"https://github.com/ilf-S/FreeCAD/commit/7d32cbeb5fe082078c1ae40580918bc3bb229079","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-31T03:40:05Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-31T03:40:05Z","username":"ilf-S"},"added":["src/Mod/Sketcher/SketcherTests/GuiTestCase.py","src/Mod/Sketcher/SketcherTests/TestConstraintPreselectionGui.py"],"removed":[],"modified":["src/App/Document.cpp","src/Gui/CommandDoc.cpp","src/Gui/EditableDatumLabel.cpp","src/Gui/MainWindow.cpp","src/Gui/Quarter/EventFilter.cpp","src/Gui/Quarter/InputDevice.cpp","src/Gui/Quarter/Mouse.cpp","src/Gui/Quarter/devices/InputDevice.h","src/Gui/TaskView/TaskDialog.cpp","src/Gui/TaskView/TaskDialog.h","src/Gui/TaskView/TaskDialogPython.cpp","src/Gui/TaskView/TaskDialogPython.h","src/Gui/TaskView/TaskView.cpp","src/Gui/TaskView/TaskView.h","src/Mod/BIM/ArchMaterial.py","src/Mod/CAM/CAMTests/PostTestMocks.py","src/Mod/CAM/Path/Dressup/Gui/LeadInOut.py","src/Mod/CAM/PathCommands.py","src/Mod/CAM/PathScripts/PathUtils.py","src/Mod/CAM/libarea/Adaptive.cpp","src/Mod/Part/Gui/Mirroring.cpp","src/Mod/Sketcher/CMakeLists.txt","src/Mod/Sketcher/Gui/AppSketcherGui.cpp","src/Mod/Sketcher/Gui/DrawSketchController.h","src/Mod/Sketcher/Gui/DrawSketchDefaultHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandler.cpp","src/Mod/Sketcher/Gui/DrawSketchHandler.h","src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.h","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.h","src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp","src/Mod/Sketcher/Gui/TaskDlgEditSketch.h","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.h","src/Mod/Sketcher/Gui/ViewProviderSketchCoinAttorney.h","src/Mod/Sketcher/SketcherTests/TestOnViewParameterGui.py","src/Mod/Sketcher/SketcherTests/TestPlacementUpdate.py","src/Mod/Sketcher/TestSketcherGui.py","src/Mod/Test/GuiDocument.py"]}}