{"ref":"refs/heads/main","before":"b9b08e57f428ff520754694616f03baa1a5e725f","after":"efdc2b5566155c393e268139078c9d5b2b413e91","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-04T02:03:19Z","pushed_at":1775355873,"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":2422730,"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/b9b08e57f428...efdc2b556615","commits":[{"id":"f432d1c6a726e7f7a017f4872db7a7381a24816d","tree_id":"27518628568cfb4120d69857fc7456400f021b24","distinct":true,"message":"Sketcher: Compute and use orientation for line-circle tangent","timestamp":"2026-04-02T22:40:22-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/f432d1c6a726e7f7a017f4872db7a7381a24816d","author":{"name":"theo-vt","email":"theo.veilleux.trinh@proton.me","date":"2026-04-02T18:28:08-04:00","username":"theo-vt"},"committer":{"name":"theo-vt","email":"theo.veilleux.trinh@proton.me","date":"2026-04-02T22:40:22-04:00","username":"theo-vt"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/App/Sketch.cpp","src/Mod/Sketcher/App/Sketch.h","src/Mod/Sketcher/App/SketchObjectConstraints.cpp","src/Mod/Sketcher/App/planegcs/Constraints.cpp","src/Mod/Sketcher/App/planegcs/GCS.cpp","src/Mod/Sketcher/App/planegcs/GCS.h","src/Mod/Sketcher/SketcherTests/TestSketcherSolver.py"]},{"id":"5a6be36bc32900ea0d041b92792b0ae07ea31400","tree_id":"093e92357519393e948496d5b178f9935f94a4a1","distinct":true,"message":"Sketcher: Handle arcs for constraints orientation","timestamp":"2026-04-03T10:18:21-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/5a6be36bc32900ea0d041b92792b0ae07ea31400","author":{"name":"theo-vt","email":"theo.veilleux.trinh@proton.me","date":"2026-04-02T21:35:57-04:00","username":"theo-vt"},"committer":{"name":"theo-vt","email":"theo.veilleux.trinh@proton.me","date":"2026-04-03T10:18:21-04:00","username":"theo-vt"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/App/SketchObject.h","src/Mod/Sketcher/App/SketchObjectConstraints.cpp","src/Mod/Sketcher/App/planegcs/Constraints.cpp","src/Mod/Sketcher/SketcherTests/TestSketcherSolver.py"]},{"id":"7b246de70a0bd40c8eefec6781eb08f98c08aaec","tree_id":"879dba26a622dcd7fe3ef5c7a17b6ba50531e49a","distinct":true,"message":"Actions: Switch CrowdIn push back to main branch","timestamp":"2026-04-03T11:23:34-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/7b246de70a0bd40c8eefec6781eb08f98c08aaec","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-03-30T21:21:09-05:00","username":"chennes"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T11:23:34-05:00","username":"chennes"},"added":[],"removed":[],"modified":[".github/workflows/push_crowdin_translations.yml"]},{"id":"4859a133b1a9179bf313fa60dd6e66dc422709b9","tree_id":"bd79d3edc824aac8d85a1e5190f1d73baf1768ac","distinct":true,"message":"Gui: Fix Sketcher toolbar state not persisting across workbench switches (#28674)","timestamp":"2026-04-04T02:28:49Z","url":"https://github.com/ilf-S/FreeCAD/commit/4859a133b1a9179bf313fa60dd6e66dc422709b9","author":{"name":"ayyaz20003","email":"81612629+ayyaz20003@users.noreply.github.com","date":"2026-04-04T07:28:49+05:00","username":"ayyaz20003"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T02:28:49Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Gui/ToolBarManager.cpp"]},{"id":"020cc21de36b2b79a7086615ba4204a1ff5f10d4","tree_id":"1d22cd640faafdf827221065c1eb198d08b52f63","distinct":true,"message":"Gui/TaskView: Initialize showTaskWatcher member","timestamp":"2026-04-03T22:03:21-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/020cc21de36b2b79a7086615ba4204a1ff5f10d4","author":{"name":"Gregg Jaskiewicz","email":"gryzman@gmail.com","date":"2026-03-27T23:55:30Z","username":"greggjaskiewicz"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:03:21-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Gui/TaskView/TaskView.h"]},{"id":"cde05de03237d92e3632dc1d3b424d218302b261","tree_id":"f6a5e9349edb0164c0e9cd1e3927f34f812cf768","distinct":true,"message":"App: Make ExpressionEngine graph-building methods static","timestamp":"2026-04-03T22:03:21-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/cde05de03237d92e3632dc1d3b424d218302b261","author":{"name":"Gregg Jaskiewicz","email":"gryzman@gmail.com","date":"2026-03-28T00:03:30Z","username":"greggjaskiewicz"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:03:21-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/App/PropertyExpressionEngine.cpp"]},{"id":"b4096818f8a12e1a3f885a1459f83bb84fa4394f","tree_id":"e717071a4aa75b8db8519ccdeec72aed2c890785","distinct":true,"message":"Gui: Fix OverlayManager Wheel/ContextMenu event fallthrough","timestamp":"2026-04-03T22:03:21-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/b4096818f8a12e1a3f885a1459f83bb84fa4394f","author":{"name":"Gregg Jaskiewicz","email":"gryzman@gmail.com","date":"2026-03-28T00:06:13Z","username":"greggjaskiewicz"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:03:21-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Gui/OverlayManager.cpp"]},{"id":"aab4bf329a0301ac723f3184f9e18792a875233b","tree_id":"57253e49516fffb0aef2a3b7ee08dd48c6e43604","distinct":true,"message":"Sketcher: Fix TextNodePosition enum to match addChild() order","timestamp":"2026-04-03T22:03:21-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/aab4bf329a0301ac723f3184f9e18792a875233b","author":{"name":"Gregg Jaskiewicz","email":"gryzman@gmail.com","date":"2026-03-28T00:10:14Z","username":"greggjaskiewicz"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:03:21-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.h"]},{"id":"01ba2ef1726fb8b72c7d07af93aab9b86c386799","tree_id":"5bd8b473d033af584e889ebb1b461889becf419e","distinct":true,"message":"Gui: Fix dangling pointer in SelectionObserver document name","timestamp":"2026-04-03T22:03:21-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/01ba2ef1726fb8b72c7d07af93aab9b86c386799","author":{"name":"Gregg Jaskiewicz","email":"gryzman@gmail.com","date":"2026-03-28T00:15:43Z","username":"greggjaskiewicz"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:03:21-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Gui/Selection/Selection.cpp","src/Gui/Selection/Selection.h"]},{"id":"e8a4c85a2364c3cebb9e4fe5661133f5855a284c","tree_id":"a6656883ae84ca8d9d1efdce91381144c951609a","distinct":true,"message":"Gui: Add SoFullPath cast helper to suppress UBSan warnings","timestamp":"2026-04-03T22:03:21-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/e8a4c85a2364c3cebb9e4fe5661133f5855a284c","author":{"name":"Gregg Jaskiewicz","email":"gryzman@gmail.com","date":"2026-03-28T00:16:37Z","username":"greggjaskiewicz"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:03:21-05:00","username":"chennes"},"added":["src/Gui/SoFullPathHelper.h"],"removed":[],"modified":["src/Gui/AxisOriginPyImp.cpp","src/Gui/LinkViewPyImp.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/Selection/SoFCSelection.cpp","src/Gui/Selection/SoFCSelectionAction.cpp","src/Gui/Selection/SoFCUnifiedSelection.cpp","src/Gui/ViewProvider.cpp","src/Gui/ViewProviderPyImp.cpp","src/Gui/ViewProviderVRMLObject.cpp"]},{"id":"00f547d67c35db26465fd33945a696820eb15ed3","tree_id":"3c646d5ef6dfd1f4174d8ee2f898764cb188d333","distinct":true,"message":"Gui: Fix use-after-free in QTimer lambdas capturing this","timestamp":"2026-04-03T22:03:22-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/00f547d67c35db26465fd33945a696820eb15ed3","author":{"name":"Gregg Jaskiewicz","email":"gryzman@gmail.com","date":"2026-03-28T00:17:46Z","username":"greggjaskiewicz"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:03:22-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/App/PropertyExpressionEngine.cpp","src/Gui/ManualAlignment.cpp","src/Gui/WorkbenchSelector.cpp","src/Mod/Part/Gui/ViewProviderMirror.cpp","src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp","src/Mod/Sketcher/Gui/TaskSketcherElements.cpp","src/Mod/TechDraw/Gui/TaskRichAnno.cpp"]},{"id":"a186269c235f12a8ae7ed2338a435b1ad4a7aa9b","tree_id":"959f20532fbb6f86a5fd47ae188cecc46839ef27","distinct":true,"message":"TD: allow negative values for LineSpacingFactorISO in preferences (#28711)","timestamp":"2026-04-04T03:23:05Z","url":"https://github.com/ilf-S/FreeCAD/commit/a186269c235f12a8ae7ed2338a435b1ad4a7aa9b","author":{"name":"Aakruti Ghatole","email":"ghatole.a@northeastern.edu","date":"2026-04-03T23:23:05-04:00","username":"ghatoleaakruti"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T03:23:05Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensions.ui"]},{"id":"300cd1a72bbcb812c0b6c1c41a2ee23ae7e285a0","tree_id":"70f5b26ca38391a57ee1511f4e986e212a957af2","distinct":true,"message":"Tests: Refactor temp dir creation to unify","timestamp":"2026-04-03T22:58:24-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/300cd1a72bbcb812c0b6c1c41a2ee23ae7e285a0","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T20:22:25-05:00","username":"chennes"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:58:24-05:00","username":"chennes"},"added":["tests/src/TempDirectory.h"],"removed":[],"modified":["tests/src/App/BackupPolicy.cpp","tests/src/Base/FileInfo.cpp","tests/src/Mod/Material/App/TestMaterialCards.cpp"]},{"id":"eed55a587cf685d777c16c20bb0cb61a7dcd1307","tree_id":"006215957181bf3171465b0cece5a9d6691d2ba9","distinct":true,"message":"Tests: Get (some more) tests working on Windows","timestamp":"2026-04-03T22:58:28-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/eed55a587cf685d777c16c20bb0cb61a7dcd1307","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T20:45:51-05:00","username":"chennes"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:58:28-05:00","username":"chennes"},"added":[],"removed":[],"modified":["tests/CMakeLists.txt"]},{"id":"f8bbb3beb041c2ac33ebf1a0ee06ff620eb948b0","tree_id":"61a2c32af874c4f9b096999b44abda574c6d0b36","distinct":true,"message":"Tests/Base: Adjust tests to account for Windows","timestamp":"2026-04-03T22:58:28-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/f8bbb3beb041c2ac33ebf1a0ee06ff620eb948b0","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:43:24-05:00","username":"chennes"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T22:58:28-05:00","username":"chennes"},"added":[],"removed":[],"modified":["tests/src/Base/FileInfo.cpp"]},{"id":"1af4066e3a87b5a03518aaebd86d6b4c5c47c8cb","tree_id":"3ae8db8ce408f7563ed60f0da8940a121d71862c","distinct":true,"message":"Gui: Fix Recent files and Recent Macros (#23436)","timestamp":"2026-04-04T03:58:46Z","url":"https://github.com/ilf-S/FreeCAD/commit/1af4066e3a87b5a03518aaebd86d6b4c5c47c8cb","author":{"name":"tarman3","email":"joice501790018@tutamail.com","date":"2026-04-04T06:58:46+03:00","username":"tarman3"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T03:58:46Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Gui/Action.cpp","src/Gui/CommandStd.cpp"]},{"id":"ea3fe2b524ad287f381b925d53fb8955fea12bfa","tree_id":"c476737c9c4f86931f1ae7c21703b1eeab066698","distinct":true,"message":"Bump azure/login from 2.3.0 to 3.0.0\n\nBumps [azure/login](https://github.com/azure/login) from 2.3.0 to 3.0.0.\n- [Release notes](https://github.com/azure/login/releases)\n- [Commits](https://github.com/azure/login/compare/a457da9ea143d694b1b9c7c869ebb04ebe844ef5...532459ea530d8321f2fb9bb10d1e0bcf23869a43)\n\n---\nupdated-dependencies:\n- dependency-name: azure/login\n dependency-version: 3.0.0\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","timestamp":"2026-04-03T23:09:26-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/ea3fe2b524ad287f381b925d53fb8955fea12bfa","author":{"name":"dependabot[bot]","email":"49699333+dependabot[bot]@users.noreply.github.com","date":"2026-03-23T14:37:49Z","username":"dependabot[bot]"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T23:09:26-05:00","username":"chennes"},"added":[],"removed":[],"modified":[".github/workflows/build_release.yml"]},{"id":"c842ee6ff262594b2b7a1859dc1df20e70477be7","tree_id":"f0507cbab81a0279050e31df0ff00d3008056ea2","distinct":true,"message":"Base: Remove extraneous #endif from PR merge","timestamp":"2026-04-04T07:10:09+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/c842ee6ff262594b2b7a1859dc1df20e70477be7","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-03T14:46:18-05:00","username":"chennes"},"committer":{"name":"Kacper Donat","email":"kadet1090@gmail.com","date":"2026-04-04T07:10:09+02:00","username":"kadet1090"},"added":[],"removed":[],"modified":["src/Base/PreCompiled.h"]},{"id":"9748cd342ea11e15fdd52b6af2e3c3e1c9938ee7","tree_id":"d65065c7cadac9bf38fbc4e2200655c5939e9172","distinct":true,"message":"Gui: scale FPS counter with device pixel ratio on HiDPI displays","timestamp":"2026-04-04T00:23:48-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/9748cd342ea11e15fdd52b6af2e3c3e1c9938ee7","author":{"name":"Bojan","email":"bojanpejic97@gmail.com","date":"2026-04-01T15:22:46+02:00","username":"Bojan9597"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-04T00:23:48-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Gui/View3DInventorViewer.cpp","src/Gui/View3DInventorViewer.h"]},{"id":"265a1ce816d298d905825de548be24623eb80f0e","tree_id":"622ad2dcd346cd00754b9051151562b00d2f796f","distinct":true,"message":"Merge pull request #28746 from greggjaskiewicz/asan_failure_fixes\n\nFix UBSan and ASan findings across the codebase","timestamp":"2026-04-04T00:47:37-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/265a1ce816d298d905825de548be24623eb80f0e","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-04T00:47:37-05:00","username":"chennes"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T00:47:37-05:00","username":"web-flow"},"added":["src/Gui/SoFullPathHelper.h"],"removed":[],"modified":["src/App/PropertyExpressionEngine.cpp","src/Gui/AxisOriginPyImp.cpp","src/Gui/LinkViewPyImp.cpp","src/Gui/ManualAlignment.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/OverlayManager.cpp","src/Gui/Selection/Selection.cpp","src/Gui/Selection/Selection.h","src/Gui/Selection/SoFCSelection.cpp","src/Gui/Selection/SoFCSelectionAction.cpp","src/Gui/Selection/SoFCUnifiedSelection.cpp","src/Gui/TaskView/TaskView.h","src/Gui/ViewProvider.cpp","src/Gui/ViewProviderPyImp.cpp","src/Gui/ViewProviderVRMLObject.cpp","src/Gui/WorkbenchSelector.cpp","src/Mod/Part/Gui/ViewProviderMirror.cpp","src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.h","src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp","src/Mod/Sketcher/Gui/TaskSketcherElements.cpp","src/Mod/TechDraw/Gui/TaskRichAnno.cpp"]},{"id":"9d67b27cdb58640259a4ffd3465ece68b89c1ff8","tree_id":"5566ffb013661598c5cc79f6989abfd95503232b","distinct":true,"message":"BIM: fix structure category switching on Tasks panel (#29050)","timestamp":"2026-04-04T10:09:59Z","url":"https://github.com/ilf-S/FreeCAD/commit/9d67b27cdb58640259a4ffd3465ece68b89c1ff8","author":{"name":"Furgo","email":"148809153+furgo16@users.noreply.github.com","date":"2026-04-04T12:09:59+02:00","username":"furgo16"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T10:09:59Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/BIM/ArchStructure.py"]},{"id":"415abd0fa8f2220576bc26b7307790a8787adef3","tree_id":"d42602a25b3bf140a85924b9fe28c73860c29031","distinct":true,"message":"BIM: refactor ArchStructure, move to Arch module (#28893)\n\n* BIM: migrate ArchStructure's make* functions to Arch module\n\n* BIM: add ArchStructure API docstrings, add test suite, minor refactor\n\n* BIM: replace beammode/bmode bools with StructureMode enum\n\n* BIM: remove unused Arch_Structure command","timestamp":"2026-04-04T10:27:33Z","url":"https://github.com/ilf-S/FreeCAD/commit/415abd0fa8f2220576bc26b7307790a8787adef3","author":{"name":"Furgo","email":"148809153+furgo16@users.noreply.github.com","date":"2026-04-04T12:27:33+02:00","username":"furgo16"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T10:27:33Z","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/BIM/Arch.py","src/Mod/BIM/ArchStructure.py","src/Mod/BIM/bimcommands/BimBeam.py","src/Mod/BIM/bimcommands/BimColumn.py","src/Mod/BIM/bimtests/TestArchStructure.py"]},{"id":"b8054be3aa3f1872b2f91b5466877262af947c0a","tree_id":"24c6c36e71b1d5e4f45d25774433475e2a65b8d8","distinct":true,"message":"Merge pull request #29047 from chennes/refactorTestTempDirCreation\n\nTests: Refactor temp dir creation and improve Windows support","timestamp":"2026-04-04T13:07:20+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/b8054be3aa3f1872b2f91b5466877262af947c0a","author":{"name":"Kacper Donat","email":"kadet1090@gmail.com","date":"2026-04-04T13:07:20+02:00","username":"kadet1090"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T13:07:20+02:00","username":"web-flow"},"added":["tests/src/TempDirectory.h"],"removed":[],"modified":["tests/CMakeLists.txt","tests/src/App/BackupPolicy.cpp","tests/src/Base/FileInfo.cpp","tests/src/Mod/Material/App/TestMaterialCards.cpp"]},{"id":"6dfc4b9230eed5a5c3cd6075b0dd45fb6b2003e8","tree_id":"8ff432eb55e4ae74be3c08f43bfb6c0db399fc3a","distinct":true,"message":"Merge pull request #28883 from chennes/switchCrowdinToMain\n\nActions: Switch CrowdIn push back to main branch","timestamp":"2026-04-04T11:00:09-04:00","url":"https://github.com/ilf-S/FreeCAD/commit/6dfc4b9230eed5a5c3cd6075b0dd45fb6b2003e8","author":{"name":"Connor9220","email":"billy@ivdc.com","date":"2026-04-04T11:00:09-04:00","username":"Connor9220"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T11:00:09-04:00","username":"web-flow"},"added":[],"removed":[],"modified":[".github/workflows/push_crowdin_translations.yml"]},{"id":"9dd9965fbd3c7131ee69e967e55ac89d38ae9334","tree_id":"c8e2c65d80500441a4f7e52bc822c2935d73098d","distinct":true,"message":"docs: change default Qt version from 5 to 6\n\nUpdate preference from Qt5 to Qt6 in comments.","timestamp":"2026-04-04T20:13:01+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/9dd9965fbd3c7131ee69e967e55ac89d38ae9334","author":{"name":"Wouter Klijn","email":"20139217+wuhkuh@users.noreply.github.com","date":"2026-03-30T21:36:42+02:00","username":"wuhkuh"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-04-04T20:13:01+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["cMake/FreeCAD_Helpers/ChooseQtVersion.cmake"]},{"id":"422766822dba64a0a892a01124f9a816b284341c","tree_id":"64dbedeafa48d46893c6422f19706dec6d18c3b5","distinct":true,"message":"BIM: fix BimLibrary web address concatenation on Windows","timestamp":"2026-04-04T13:32:46-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/422766822dba64a0a892a01124f9a816b284341c","author":{"name":"Roy-043","email":"70520633+Roy-043@users.noreply.github.com","date":"2026-03-30T21:56:18+02:00","username":"Roy-043"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-04T13:32:46-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Mod/BIM/bimcommands/BimLibrary.py"]},{"id":"1a7428badc7dbb7fad8589dcdc0dcb5f47e438bd","tree_id":"767ba5081f1aacc0a2e0b082bc8a0392490cf862","distinct":true,"message":"Merge pull request #29015 from theo-vt/sketcher_fix_tangent_orientation\n\nSketcher: Compute and use orientation for line-circle tangent and arcs","timestamp":"2026-04-04T20:36:56+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/1a7428badc7dbb7fad8589dcdc0dcb5f47e438bd","author":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-04-04T20:36:56+02:00","username":"maxwxyz"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-04-04T20:36:56+02:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/App/Sketch.cpp","src/Mod/Sketcher/App/Sketch.h","src/Mod/Sketcher/App/SketchObject.h","src/Mod/Sketcher/App/SketchObjectConstraints.cpp","src/Mod/Sketcher/App/planegcs/Constraints.cpp","src/Mod/Sketcher/App/planegcs/GCS.cpp","src/Mod/Sketcher/App/planegcs/GCS.h","src/Mod/Sketcher/SketcherTests/TestSketcherSolver.py"]},{"id":"2deee96cab3ea7836cd0a783c25c32059a550ecb","tree_id":"f9116951a81ff95e0ba30d22f5a5d8260774ef9a","distinct":true,"message":"Sketcher: fix inverted null check in purgeHandler leaving selection enabled","timestamp":"2026-04-04T20:53:29+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/2deee96cab3ea7836cd0a783c25c32059a550ecb","author":{"name":"Bojan","email":"bojanpejic97@gmail.com","date":"2026-04-04T02:37:23+02:00","username":"Bojan9597"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-04-04T20:53:29+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/ViewProviderSketch.cpp"]},{"id":"454db6ed438c19bdec7659b3ef7bf4213ace34da","tree_id":"d95cae28a3edd9cbfb567cbb32913d8c6297021a","distinct":true,"message":"App: Use __ModDirs__ as the authoritative list of mods to load from","timestamp":"2026-04-04T21:25:53+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/454db6ed438c19bdec7659b3ef7bf4213ace34da","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-04-02T21:10:05-05:00","username":"chennes"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-04-04T21:25:53+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/App/PropertyPythonObject.cpp"]},{"id":"efdc2b5566155c393e268139078c9d5b2b413e91","tree_id":"af29d46e8ce51f33f8cb666bf0bf0d2b47df884f","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-04-05T02:24:32Z","url":"https://github.com/ilf-S/FreeCAD/commit/efdc2b5566155c393e268139078c9d5b2b413e91","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-04-05T02:24:32Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-04-05T02:24:32Z","username":"ilf-S"},"added":["src/Gui/SoFullPathHelper.h","tests/src/TempDirectory.h"],"removed":[],"modified":["cMake/FreeCAD_Helpers/ChooseQtVersion.cmake","src/App/PropertyExpressionEngine.cpp","src/App/PropertyPythonObject.cpp","src/Base/PreCompiled.h","src/Gui/Action.cpp","src/Gui/AxisOriginPyImp.cpp","src/Gui/CommandStd.cpp","src/Gui/LinkViewPyImp.cpp","src/Gui/ManualAlignment.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/OverlayManager.cpp","src/Gui/Selection/Selection.cpp","src/Gui/Selection/Selection.h","src/Gui/Selection/SoFCSelection.cpp","src/Gui/Selection/SoFCSelectionAction.cpp","src/Gui/Selection/SoFCUnifiedSelection.cpp","src/Gui/TaskView/TaskView.h","src/Gui/ToolBarManager.cpp","src/Gui/View3DInventorViewer.cpp","src/Gui/View3DInventorViewer.h","src/Gui/ViewProvider.cpp","src/Gui/ViewProviderPyImp.cpp","src/Gui/ViewProviderVRMLObject.cpp","src/Gui/WorkbenchSelector.cpp","src/Mod/BIM/Arch.py","src/Mod/BIM/ArchStructure.py","src/Mod/BIM/bimcommands/BimBeam.py","src/Mod/BIM/bimcommands/BimColumn.py","src/Mod/BIM/bimcommands/BimLibrary.py","src/Mod/BIM/bimtests/TestArchStructure.py","src/Mod/Part/Gui/ViewProviderMirror.cpp","src/Mod/Sketcher/App/Sketch.cpp","src/Mod/Sketcher/App/Sketch.h","src/Mod/Sketcher/App/SketchObject.h","src/Mod/Sketcher/App/SketchObjectConstraints.cpp","src/Mod/Sketcher/App/planegcs/Constraints.cpp","src/Mod/Sketcher/App/planegcs/GCS.cpp","src/Mod/Sketcher/App/planegcs/GCS.h","src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.h","src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp","src/Mod/Sketcher/Gui/TaskSketcherElements.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/SketcherTests/TestSketcherSolver.py","src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensions.ui","src/Mod/TechDraw/Gui/TaskRichAnno.cpp","tests/CMakeLists.txt","tests/src/App/BackupPolicy.cpp","tests/src/Base/FileInfo.cpp","tests/src/Mod/Material/App/TestMaterialCards.cpp"]}],"head_commit":{"id":"efdc2b5566155c393e268139078c9d5b2b413e91","tree_id":"af29d46e8ce51f33f8cb666bf0bf0d2b47df884f","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-04-05T02:24:32Z","url":"https://github.com/ilf-S/FreeCAD/commit/efdc2b5566155c393e268139078c9d5b2b413e91","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-04-05T02:24:32Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-04-05T02:24:32Z","username":"ilf-S"},"added":["src/Gui/SoFullPathHelper.h","tests/src/TempDirectory.h"],"removed":[],"modified":["cMake/FreeCAD_Helpers/ChooseQtVersion.cmake","src/App/PropertyExpressionEngine.cpp","src/App/PropertyPythonObject.cpp","src/Base/PreCompiled.h","src/Gui/Action.cpp","src/Gui/AxisOriginPyImp.cpp","src/Gui/CommandStd.cpp","src/Gui/LinkViewPyImp.cpp","src/Gui/ManualAlignment.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/OverlayManager.cpp","src/Gui/Selection/Selection.cpp","src/Gui/Selection/Selection.h","src/Gui/Selection/SoFCSelection.cpp","src/Gui/Selection/SoFCSelectionAction.cpp","src/Gui/Selection/SoFCUnifiedSelection.cpp","src/Gui/TaskView/TaskView.h","src/Gui/ToolBarManager.cpp","src/Gui/View3DInventorViewer.cpp","src/Gui/View3DInventorViewer.h","src/Gui/ViewProvider.cpp","src/Gui/ViewProviderPyImp.cpp","src/Gui/ViewProviderVRMLObject.cpp","src/Gui/WorkbenchSelector.cpp","src/Mod/BIM/Arch.py","src/Mod/BIM/ArchStructure.py","src/Mod/BIM/bimcommands/BimBeam.py","src/Mod/BIM/bimcommands/BimColumn.py","src/Mod/BIM/bimcommands/BimLibrary.py","src/Mod/BIM/bimtests/TestArchStructure.py","src/Mod/Part/Gui/ViewProviderMirror.cpp","src/Mod/Sketcher/App/Sketch.cpp","src/Mod/Sketcher/App/Sketch.h","src/Mod/Sketcher/App/SketchObject.h","src/Mod/Sketcher/App/SketchObjectConstraints.cpp","src/Mod/Sketcher/App/planegcs/Constraints.cpp","src/Mod/Sketcher/App/planegcs/GCS.cpp","src/Mod/Sketcher/App/planegcs/GCS.h","src/Mod/Sketcher/Gui/EditModeInformationOverlayCoinConverter.h","src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp","src/Mod/Sketcher/Gui/TaskSketcherElements.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/SketcherTests/TestSketcherSolver.py","src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensions.ui","src/Mod/TechDraw/Gui/TaskRichAnno.cpp","tests/CMakeLists.txt","tests/src/App/BackupPolicy.cpp","tests/src/Base/FileInfo.cpp","tests/src/Mod/Material/App/TestMaterialCards.cpp"]}}