{"ref":"refs/heads/main","before":"87d8f75d32b8723de88ed4332de1555a14371553","after":"1d33596319dbdd1a23183333bb115442008a4dde","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-14T02:57:56Z","pushed_at":1778813875,"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":2490246,"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/87d8f75d32b8...1d33596319db","commits":[{"id":"4f3a74835e2998913dd2e5570f90194b7cc6a6fe","tree_id":"94d0ca7d154ee2bc9c0efb90fe5141332144e7ae","distinct":true,"message":"Merge pull request #23265 from drwho495/fix-subtractive-pipe\n\nPartDesign: Fix both Pipes","timestamp":"2026-05-14T08:43:58+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/4f3a74835e2998913dd2e5570f90194b7cc6a6fe","author":{"name":"drwho495","email":"70452450+drwho495@users.noreply.github.com","date":"2026-05-14T01:43:58-05:00","username":"drwho495"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-14T08:43:58+02:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/Part/App/TopoShape.h","src/Mod/Part/App/TopoShapeExpansion.cpp","src/Mod/PartDesign/App/FeaturePipe.cpp","src/Mod/PartDesign/App/FeaturePipe.h"]},{"id":"cc8de65d0c9d886e253b0f619303f135566118ff","tree_id":"f8cdbd383e5fda7ffa77634785b0b69598c3adfd","distinct":true,"message":"Bump actions/dependency-review-action from 4.9.0 to 5.0.0\n\nBumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 4.9.0 to 5.0.0.\n- [Release notes](https://github.com/actions/dependency-review-action/releases)\n- [Commits](https://github.com/actions/dependency-review-action/compare/2031cfc080254a8a887f58cffee85186f0e49e48...a1d282b36b6f3519aa1f3fc636f609c47dddb294)\n\n---\nupdated-dependencies:\n- dependency-name: actions/dependency-review-action\n dependency-version: 5.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","timestamp":"2026-05-14T12:02:03+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/cc8de65d0c9d886e253b0f619303f135566118ff","author":{"name":"dependabot[bot]","email":"49699333+dependabot[bot]@users.noreply.github.com","date":"2026-05-12T17:55:47Z","username":"dependabot[bot]"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-14T12:02:03+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":[".github/workflows/dependency-review.yml"]},{"id":"35bc107473013d541dd8352e860cee22ca52c62c","tree_id":"992bb746ee4291e0e62b983cdefbaf1886da477d","distinct":true,"message":"TechDraw: prevent edge deletion on torus and similar concentric-arc shapes\n\nThe duplicate-edge cleanup pass (\"scrubbing\") was deleting legitimate\nedges from projected views of tori and other shapes whose 2D projection\ncontains many concentric or near-tangent arcs sharing endpoints.\n\nThe previous classifier relied on OCCT's tolerance-based boolean Common\noperation followed by an endpoint-equality check. On dense arc bundles\nthe operation reports a phantom common segment, and because the arcs\nshare start/end points the endpoint check always agrees, so distinct\narcs get classified as duplicates and removed.\n\nAdd a sampled-point coincidence check as a precondition: take interior\nsamples on each edge, project them onto the other edge, and require\nboth directions to agree before invoking the boolean Common. True\nduplicates pass trivially; merely-touching or grazing arcs are now\ncorrectly rejected.\n\nFixes #18991","timestamp":"2026-05-14T13:28:39+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/35bc107473013d541dd8352e860cee22ca52c62c","author":{"name":"ayyazatfieldforce","email":"bsee20003@itu.edu.pk","date":"2026-04-26T16:55:22+05:00","username":"ayyaz20003"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-14T13:28:39+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/TechDraw/App/DrawProjectSplit.cpp","src/Mod/TechDraw/App/DrawProjectSplit.h"]},{"id":"a6ad5fc3f763aaf8840258a326f603a9296a4ddc","tree_id":"4c38af65442f061bcbb04fce843058fa60641854","distinct":true,"message":"Bump step-security/harden-runner from 2.19.1 to 2.19.2\n\nBumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.19.1 to 2.19.2.\n- [Release notes](https://github.com/step-security/harden-runner/releases)\n- [Commits](https://github.com/step-security/harden-runner/compare/a5ad31d6a139d249332a2605b85202e8c0b78450...9ca718d3bf646d6534007c269a635b3e54cadf99)\n\n---\nupdated-dependencies:\n- dependency-name: step-security/harden-runner\n dependency-version: 2.19.2\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","timestamp":"2026-05-14T11:02:47-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/a6ad5fc3f763aaf8840258a326f603a9296a4ddc","author":{"name":"dependabot[bot]","email":"49699333+dependabot[bot]@users.noreply.github.com","date":"2026-05-14T11:54:54Z","username":"dependabot[bot]"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-05-14T11:02:47-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":"99c2f19dfccfccf954bee1f3fbda555abe348c0d","tree_id":"796a950d6e2eb693570ea3f925a2e16dd1345c45","distinct":true,"message":"Sketcher: Fix Trim Edge shortcut hijacked by new Text tool (#29721)\n\nThe new Text tool's shortcut was the same as the Trim Edge's\nshortcut (G + T), therefore when trying to use the Trim Edge\nshortcut, the Text tool was activated instead.\n\nFixed by restoring the trim shortcut and leaving Text without\nshortcut for the time being.\n\nThis fix was originally authored by Cristovao Santos (cristovaosantos)\nI have only removed some tests that were not working as expected.\n\nThis fixes #28599\n\nCo-authored-by: Cristovao Santos ","timestamp":"2026-05-14T19:19:46Z","url":"https://github.com/ilf-S/FreeCAD/commit/99c2f19dfccfccf954bee1f3fbda555abe348c0d","author":{"name":"David Österberg","email":"davost@gmail.com","date":"2026-05-14T21:19:46+02:00","username":"davidosterberg"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-14T19:19:46Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Gui/PreferencePackTemplates/Shortcuts.cfg","src/Mod/Sketcher/Gui/CommandCreateGeo.cpp"]},{"id":"a9942be0467d6f6676602b03ba2130eb7c78ef33","tree_id":"ccc65663b703f7f41617e37616e13d05e0d4b163","distinct":true,"message":"Sketcher: Remove incorrect optimization due to isSame not checking solver result","timestamp":"2026-05-14T22:36:00+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/a9942be0467d6f6676602b03ba2130eb7c78ef33","author":{"name":"andershol","email":"andershol@users.noreply.github.com","date":"2026-05-03T12:05:18+02:00","username":"andershol"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-14T22:36:00+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/App/SketchObjectConstraints.cpp"]},{"id":"a00fe1e886a982b819bb25c375f39362b8bafaeb","tree_id":"af4e228d8d0313a89af0975814af1cb1468a6b4c","distinct":true,"message":"Sketcher: fix line style dropdowns being empty\n\nFixes #30132\n\nFreeCAD classic has no QStyleSheet, and for some reason this means\nQEvent::PaletteChange never gets fired, but QEvent::StyleChange does and\nby that point the palette has already been set up in both QSS and\nnon-QSS themes.","timestamp":"2026-05-15T00:09:12+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/a00fe1e886a982b819bb25c375f39362b8bafaeb","author":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-14T12:37:43+02:00","username":"ElementW"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-05-15T00:09:12+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/SketcherSettings.cpp"]},{"id":"f35dcf13e046e5cc1c679b1a24f8369136e57dbb","tree_id":"e8b8e5ee6ab8f15c865fa3a3f800e4aed2eba3d6","distinct":true,"message":"Part: add noElementMap support for transient shapes\n\nAdd an explicit ElementMapPolicy path for callers that need temporary geometry without stable element naming metadata.\n\nExpose noElementMap to Python on Part.makeFace(), TopoShape.copy(), fuse(), and multiFuse(), and thread the policy through face creation and topo-shape expansion. Normal element-map propagation remains the default; analysis helpers get a targeted opt-out.\n\nAdd focused Part tests for the opt-out behavior.","timestamp":"2026-05-15T03:04:05+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/f35dcf13e046e5cc1c679b1a24f8369136e57dbb","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-12T15:03:04+01:00","username":"tritao"},"committer":{"name":"Benjamin Nauck","email":"benjamin@nauck.se","date":"2026-05-15T03:04:05+02:00","username":"hyarion"},"added":[],"removed":[],"modified":["src/Mod/Part/App/AppPartPy.cpp","src/Mod/Part/App/FaceMaker.cpp","src/Mod/Part/App/FaceMaker.h","src/Mod/Part/App/TopoShape.h","src/Mod/Part/App/TopoShape.pyi","src/Mod/Part/App/TopoShapeExpansion.cpp","src/Mod/Part/App/TopoShapePyImp.cpp","src/Mod/Part/parttests/TopoShapeTest.py"]},{"id":"0f9e316e1bb4d5cd469594b1c14d94c4373390e9","tree_id":"e6a09321ca5b2eaf97f104fb32aed662b25fdfd5","distinct":true,"message":"BIM: skip element maps for horizontal area geometry\n\nBuild the projected faces and fuses used by horizontal area analysis with noElementMap=True. These shapes are temporary calculation geometry, so carrying element maps only exercises topo-naming restore for data that is not consumed as a stable subelement reference.\n\nAdd a BIM test that checks the helper still computes union area correctly while dropping seeded element-map metadata.","timestamp":"2026-05-15T03:04:05+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/0f9e316e1bb4d5cd469594b1c14d94c4373390e9","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-12T15:03:13+01:00","username":"tritao"},"committer":{"name":"Benjamin Nauck","email":"benjamin@nauck.se","date":"2026-05-15T03:04:05+02:00","username":"hyarion"},"added":[],"removed":[],"modified":["src/Mod/BIM/ArchComponent.py","src/Mod/BIM/bimtests/TestArchComponent.py"]},{"id":"1d33596319dbdd1a23183333bb115442008a4dde","tree_id":"a8ba08f2a1d03c3c37df57f99be07e2ec36efd26","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-05-15T02:57:55Z","url":"https://github.com/ilf-S/FreeCAD/commit/1d33596319dbdd1a23183333bb115442008a4dde","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-15T02:57:55Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-15T02:57:55Z","username":"ilf-S"},"added":[],"removed":[],"modified":["src/Gui/PreferencePackTemplates/Shortcuts.cfg","src/Mod/BIM/ArchComponent.py","src/Mod/BIM/bimtests/TestArchComponent.py","src/Mod/Part/App/AppPartPy.cpp","src/Mod/Part/App/FaceMaker.cpp","src/Mod/Part/App/FaceMaker.h","src/Mod/Part/App/TopoShape.h","src/Mod/Part/App/TopoShape.pyi","src/Mod/Part/App/TopoShapeExpansion.cpp","src/Mod/Part/App/TopoShapePyImp.cpp","src/Mod/Part/parttests/TopoShapeTest.py","src/Mod/PartDesign/App/FeaturePipe.cpp","src/Mod/PartDesign/App/FeaturePipe.h","src/Mod/Sketcher/App/SketchObjectConstraints.cpp","src/Mod/Sketcher/Gui/CommandCreateGeo.cpp","src/Mod/Sketcher/Gui/SketcherSettings.cpp","src/Mod/TechDraw/App/DrawProjectSplit.cpp","src/Mod/TechDraw/App/DrawProjectSplit.h"]}],"head_commit":{"id":"1d33596319dbdd1a23183333bb115442008a4dde","tree_id":"a8ba08f2a1d03c3c37df57f99be07e2ec36efd26","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-05-15T02:57:55Z","url":"https://github.com/ilf-S/FreeCAD/commit/1d33596319dbdd1a23183333bb115442008a4dde","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-15T02:57:55Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-15T02:57:55Z","username":"ilf-S"},"added":[],"removed":[],"modified":["src/Gui/PreferencePackTemplates/Shortcuts.cfg","src/Mod/BIM/ArchComponent.py","src/Mod/BIM/bimtests/TestArchComponent.py","src/Mod/Part/App/AppPartPy.cpp","src/Mod/Part/App/FaceMaker.cpp","src/Mod/Part/App/FaceMaker.h","src/Mod/Part/App/TopoShape.h","src/Mod/Part/App/TopoShape.pyi","src/Mod/Part/App/TopoShapeExpansion.cpp","src/Mod/Part/App/TopoShapePyImp.cpp","src/Mod/Part/parttests/TopoShapeTest.py","src/Mod/PartDesign/App/FeaturePipe.cpp","src/Mod/PartDesign/App/FeaturePipe.h","src/Mod/Sketcher/App/SketchObjectConstraints.cpp","src/Mod/Sketcher/Gui/CommandCreateGeo.cpp","src/Mod/Sketcher/Gui/SketcherSettings.cpp","src/Mod/TechDraw/App/DrawProjectSplit.cpp","src/Mod/TechDraw/App/DrawProjectSplit.h"]}}