{"ref":"refs/heads/main","before":"c71609d6f5b72dbdfef08b8f67c50b713c14e243","after":"51be0f1f7ce9e2feb7292c5006df95f1c6938c14","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-07-25T02:29:47Z","pushed_at":1785033387,"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":2661629,"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/c71609d6f5b7...51be0f1f7ce9","commits":[{"id":"bfe1295b6b213ae9cd31625a761ea11d29822f56","tree_id":"7e6fbef298e680d09dd5ec8637443b551268a863","distinct":true,"message":"Merge pull request #30579 from PaddleStroke/sk_perp_hintlines\n\nSketcher: Perpendicular & parallel autoconstraints hint lines","timestamp":"2026-07-25T10:45:55+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/bfe1295b6b213ae9cd31625a761ea11d29822f56","author":{"name":"PaddleStroke","email":"pierrelouis.boyer@gmail.com","date":"2026-07-25T10:45:55+02:00","username":"PaddleStroke"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-07-25T10:45:55+02:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/Sketcher/Gui/DrawSketchControllableHandler.h","src/Mod/Sketcher/Gui/DrawSketchDefaultHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandler.cpp","src/Mod/Sketcher/Gui/DrawSketchHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandlerLine.h","src/Mod/Sketcher/Gui/DrawSketchHandlerLineSet.h","src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.cpp","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.h","src/Mod/Sketcher/Gui/SketcherSettings.cpp","src/Mod/Sketcher/Gui/SketcherSettingsAppearance.ui","src/Mod/Sketcher/Gui/SketcherSettingsDisplay.ui","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.h"]},{"id":"ae325b7f005e3f437d7095e8ca0622164798997f","tree_id":"8b6eeb28ab942426e351bc535809725d692d811d","distinct":true,"message":"ConsoleSequencer: log to console instead of printf\n\nWhen running CLI scripts using ConsoleSequencer, OCCT operations with progress indicator would output to stdout. It now properly outputs to the FreeCAD log.","timestamp":"2026-07-25T10:47:46+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/ae325b7f005e3f437d7095e8ca0622164798997f","author":{"name":"Louis Gombert","email":"louisgombert@gmail.com","date":"2026-07-14T18:10:49+02:00","username":"Lgt2x"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-07-25T10:47:46+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Base/Sequencer.cpp"]},{"id":"e61bb66e0c416afe52d9e570484bffb56d6d6f2b","tree_id":"f8a355337bf0d51ad0e6dbec1d6794f7f03e7612","distinct":true,"message":"Draft: persist grid settings in documents\n\nDraft grid spacing, mainline frequency, and grid size are currently stored as global Draft preferences. This makes grid geometry user-local instead of document-local, so reopening or sharing a document can lose the intended Draft grid context.\n\nUse the document settings API to store those grid geometry values in Document.Meta through the Draft namespace. Preferences remain the fallback when a document has no setting, and invalid document values fall back to existing preference/default handling.\n\nOnly the grid geometry settings are moved here. Grid visibility, color, transparency, and other UI preferences remain global preferences.\n\nRefs #20457","timestamp":"2026-07-26T01:21:01+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/e61bb66e0c416afe52d9e570484bffb56d6d6f2b","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-06-10T15:17:23+01:00","username":"tritao"},"committer":{"name":"Max Wilfinger","email":"6246609+maxwxyz@users.noreply.github.com","date":"2026-07-26T01:21:01+02:00","username":"maxwxyz"},"added":["src/Mod/Draft/drafttests/test_grid_settings.py"],"removed":[],"modified":["src/Mod/Draft/CMakeLists.txt","src/Mod/Draft/TestDraft.py","src/Mod/Draft/draftguitools/gui_selectplane.py","src/Mod/Draft/draftguitools/gui_snapper.py","src/Mod/Draft/draftguitools/gui_trackers.py","src/Mod/Draft/draftutils/params.py"]},{"id":"eb83243c3c5ea81c3c8397d58bc74822a3ac9ae9","tree_id":"414501ba5769e95d129e604748c4cce71ad9492f","distinct":true,"message":"Start: Display Assembly icon","timestamp":"2026-07-25T20:09:45-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/eb83243c3c5ea81c3c8397d58bc74822a3ac9ae9","author":{"name":"Max Wilfinger","email":"max@wilfinger.de","date":"2026-07-25T15:57:39+02:00","username":"maxwxyz"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-07-25T20:09:45-05:00","username":"chennes"},"added":["src/Mod/Start/Gui/Resources/icons/AssemblyWorkbench.svg"],"removed":[],"modified":["src/Mod/Start/Gui/Resources/Start.qrc"]},{"id":"51be0f1f7ce9e2feb7292c5006df95f1c6938c14","tree_id":"3e1941cbd35205ff7eaa53c71d448963250a3589","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-07-26T02:36:26Z","url":"https://github.com/ilf-S/FreeCAD/commit/51be0f1f7ce9e2feb7292c5006df95f1c6938c14","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-07-26T02:36:26Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-07-26T02:36:26Z","username":"ilf-S"},"added":["src/Mod/Draft/drafttests/test_grid_settings.py","src/Mod/Start/Gui/Resources/icons/AssemblyWorkbench.svg"],"removed":[],"modified":["src/Base/Sequencer.cpp","src/Mod/Draft/CMakeLists.txt","src/Mod/Draft/TestDraft.py","src/Mod/Draft/draftguitools/gui_selectplane.py","src/Mod/Draft/draftguitools/gui_snapper.py","src/Mod/Draft/draftguitools/gui_trackers.py","src/Mod/Draft/draftutils/params.py","src/Mod/Sketcher/Gui/DrawSketchControllableHandler.h","src/Mod/Sketcher/Gui/DrawSketchDefaultHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandler.cpp","src/Mod/Sketcher/Gui/DrawSketchHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandlerLine.h","src/Mod/Sketcher/Gui/DrawSketchHandlerLineSet.h","src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.cpp","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.h","src/Mod/Sketcher/Gui/SketcherSettings.cpp","src/Mod/Sketcher/Gui/SketcherSettingsAppearance.ui","src/Mod/Sketcher/Gui/SketcherSettingsDisplay.ui","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.h","src/Mod/Start/Gui/Resources/Start.qrc"]}],"head_commit":{"id":"51be0f1f7ce9e2feb7292c5006df95f1c6938c14","tree_id":"3e1941cbd35205ff7eaa53c71d448963250a3589","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-07-26T02:36:26Z","url":"https://github.com/ilf-S/FreeCAD/commit/51be0f1f7ce9e2feb7292c5006df95f1c6938c14","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-07-26T02:36:26Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-07-26T02:36:26Z","username":"ilf-S"},"added":["src/Mod/Draft/drafttests/test_grid_settings.py","src/Mod/Start/Gui/Resources/icons/AssemblyWorkbench.svg"],"removed":[],"modified":["src/Base/Sequencer.cpp","src/Mod/Draft/CMakeLists.txt","src/Mod/Draft/TestDraft.py","src/Mod/Draft/draftguitools/gui_selectplane.py","src/Mod/Draft/draftguitools/gui_snapper.py","src/Mod/Draft/draftguitools/gui_trackers.py","src/Mod/Draft/draftutils/params.py","src/Mod/Sketcher/Gui/DrawSketchControllableHandler.h","src/Mod/Sketcher/Gui/DrawSketchDefaultHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandler.cpp","src/Mod/Sketcher/Gui/DrawSketchHandler.h","src/Mod/Sketcher/Gui/DrawSketchHandlerLine.h","src/Mod/Sketcher/Gui/DrawSketchHandlerLineSet.h","src/Mod/Sketcher/Gui/EditModeCoinManager.cpp","src/Mod/Sketcher/Gui/EditModeCoinManager.h","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.cpp","src/Mod/Sketcher/Gui/EditModeCoinManagerParameters.h","src/Mod/Sketcher/Gui/SketcherSettings.cpp","src/Mod/Sketcher/Gui/SketcherSettingsAppearance.ui","src/Mod/Sketcher/Gui/SketcherSettingsDisplay.ui","src/Mod/Sketcher/Gui/ViewProviderSketch.cpp","src/Mod/Sketcher/Gui/ViewProviderSketch.h","src/Mod/Start/Gui/Resources/Start.qrc"]}}