{"ref":"refs/heads/main","before":"ef41e08aebdbcc34c7df006fc58e21510d7707b4","after":"a8a575699245dbc020fa6eb6e832cd6019543ad7","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-12T02:50:36Z","pushed_at":1778640899,"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":2489872,"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/ef41e08aebdb...a8a575699245","commits":[{"id":"f4f1651e3ae25b7a24015d8ec39c51e4ef35aa57","tree_id":"24003fc02d7df91af0860fba89489b14a95765de","distinct":true,"message":"Add source-adjacent stub generation tooling","timestamp":"2026-05-01T19:18:13+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/f4f1651e3ae25b7a24015d8ec39c51e4ef35aa57","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-22T18:34:17+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-01T19:18:13+01:00","username":"tritao"},"added":["src/Tools/typing/generate_stubs.py","src/Tools/typing/stubgen/__init__.py","src/Tools/typing/stubgen/class_merge.py","src/Tools/typing/stubgen/cli.py","src/Tools/typing/stubgen/discovery.py","src/Tools/typing/stubgen/doc_lint.py","src/Tools/typing/stubgen/generator.py","src/Tools/typing/stubgen/model.py","src/Tools/typing/stubgen/module_merge.py","src/Tools/typing/stubgen/naming.py","src/Tools/typing/stubgen/parsing.py","src/Tools/typing/stubgen/render.py","src/Tools/typing/stubgen/source_inputs.py","src/Tools/typing/stubgen/type_context_rules.py"],"removed":[],"modified":["src/Tools/bindings/model/generateModel_Python.py"]},{"id":"2485a3e8ca0bdcd2e40fb3e7682122455f35cc9d","tree_id":"290166235a728e9e0026776506e62ea068025d0b","distinct":true,"message":"Move module APIs into source-adjacent stubs","timestamp":"2026-05-01T19:18:13+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/2485a3e8ca0bdcd2e40fb3e7682122455f35cc9d","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-22T18:34:38+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-01T19:18:13+01:00","username":"tritao"},"added":["src/App/FreeCAD.module.pyi","src/Base/FreeCAD.Console.module.pyi","src/Base/FreeCAD.Qt.module.pyi","src/Base/FreeCAD.Units.module.pyi","src/Gui/FreeCADGui.Selection.module.pyi","src/Gui/FreeCADGui.module.pyi","src/Mod/Part/App/Part.module.pyi","src/Tools/bindings/stubs/inputs/overlays/PySide/QtCore.pyi"],"removed":[],"modified":["src/App/Document.pyi","src/App/DocumentObject.pyi","src/Base/Metadata.pyi","src/Base/Placement.pyi","src/Base/Rotation.pyi","src/Base/Vector.pyi","src/Mod/Part/App/Arc.pyi","src/Mod/Part/App/ArcOfEllipse.pyi","src/Mod/Part/App/Conic.pyi","src/Mod/Part/App/Ellipse.pyi","src/Mod/Part/App/GeometryCurve.pyi","src/Mod/Part/App/PartFeature.pyi","src/Mod/Part/App/TopoShapeCompound.pyi","src/Mod/Part/App/TopoShapeEdge.pyi","src/Mod/Part/App/TopoShapeFace.pyi","src/Mod/Part/App/TopoShapeVertex.pyi","src/Mod/Part/App/TopoShapeWire.pyi"]},{"id":"b00da4924f80d2d1402d09ad3180d74d81b1ed4d","tree_id":"31df1f3e90f2c6fbcbd101ba2a239708bff5b7b6","distinct":true,"message":"Move PyCXX type stubs next to wrapper sources","timestamp":"2026-05-01T19:18:13+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/b00da4924f80d2d1402d09ad3180d74d81b1ed4d","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-22T18:34:59+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-01T19:18:13+01:00","username":"tritao"},"added":["src/Base/FreeCAD._ParameterGrp.pyi","src/Gui/FreeCADGui.TaskPlacement.pyi","src/Gui/FreeCADGui.UiLoader.pyi","src/Gui/FreeCADGui._AbstractSplitView.pyi","src/Gui/FreeCADGui._Control.pyi","src/Gui/FreeCADGui._MDIView.pyi","src/Gui/FreeCADGui._MainWindow.pyi","src/Gui/FreeCADGui._PyResource.pyi","src/Gui/FreeCADGui._TaskDialog.pyi","src/Gui/FreeCADGui._View3DInventor.pyi","src/Gui/FreeCADGui._View3DInventorViewer.pyi","src/Mod/Test/Gui/QtUnitGui._UnitTest.pyi"],"removed":[],"modified":[]},{"id":"dd1f83487d562cba718101d4afd0a3a366710033","tree_id":"07e21a3238e2059cab92c40ae336999c941daa37","distinct":true,"message":"Add stub smoke checks and lint integration","timestamp":"2026-05-01T19:18:44+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/dd1f83487d562cba718101d4afd0a3a366710033","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-22T18:37:22+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-01T19:18:44+01:00","username":"tritao"},"added":["src/Tools/typing/README.md","src/Tools/typing/check-stubs.sh","src/Tools/typing/generated/.gitignore","src/Tools/typing/inputs/overlays/PySide/QtCore.pyi","src/Tools/typing/smoke/pyrefly.toml","src/Tools/typing/smoke/pyrightconfig.json","src/Tools/typing/smoke/smoke.py","tools/lint/python_stubs.py"],"removed":["src/Tools/bindings/stubs/inputs/overlays/PySide/QtCore.pyi"],"modified":[".github/workflows/sub_lint.yml",".pre-commit-config.yaml","pixi.lock","pixi.toml"]},{"id":"3709c293d6d88f92b5f9106fd9ae8006c3994ad5","tree_id":"db64d384959786b75c65d25ae0c9fcd5a9850759","distinct":true,"message":"Mesh: Refactor MeshKernel::AddFacets","timestamp":"2026-05-08T19:23:41+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/3709c293d6d88f92b5f9106fd9ae8006c3994ad5","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-03-16T16:02:54+01:00","username":"wwmayer"},"committer":{"name":"Max Wilfinger","email":"max@wilfinger.de","date":"2026-05-08T19:23:41+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/Mesh/App/Core/MeshKernel.cpp","src/Mod/Mesh/App/Core/MeshKernel.h"]},{"id":"941f5f6f76cb2986ad148a08373103ea46446025","tree_id":"c7e323ca79dbfc9892828bee6ce152c5b0d374eb","distinct":true,"message":"Gui: Simplify CmdMeshAddFacet\n\n# Conflicts:\n#\tsrc/Mod/Mesh/Gui/Command.cpp","timestamp":"2026-05-08T19:24:37+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/941f5f6f76cb2986ad148a08373103ea46446025","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-03-16T16:03:39+01:00","username":"wwmayer"},"committer":{"name":"Max Wilfinger","email":"max@wilfinger.de","date":"2026-05-08T19:24:37+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/Mesh/Gui/Command.cpp"]},{"id":"46d0a4fb944adcc4324139cc21cd116a9a5902fb","tree_id":"d9d539d85aa545eaf3c800d4e0bbff1f8995585d","distinct":true,"message":"Gui: Show a hint if adding triangle fails\n\nThe command may correctly refuse to add the triangle but it doesn't show\na reason about why it fails. Now there is shown a status widget for a\nwhile about the reason.\n\nThis solves https://github.com/FreeCAD/FreeCAD/issues/28362","timestamp":"2026-05-08T19:24:46+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/46d0a4fb944adcc4324139cc21cd116a9a5902fb","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-03-16T16:08:48+01:00","username":"wwmayer"},"committer":{"name":"Max Wilfinger","email":"max@wilfinger.de","date":"2026-05-08T19:24:46+02:00","username":"maxwxyz"},"added":[],"removed":[],"modified":["src/Mod/Mesh/Gui/MeshEditor.cpp"]},{"id":"4ac1828b04547c323761b3903630b5af3473f80b","tree_id":"594720f65e3a24345a7dfa114d3a859dc4205a14","distinct":true,"message":"Base: optimize Tools::getIdentifier\n\ngetIdentifier created an ICU string and iterated over it creating an\nstd::string for each codepoint, only to append them to a buffer and\ndiscard them immediately.\n\nIterate over the UTF-8 encoded codepoints directly with the U8_NEXT\nmacro instead, and write directly to the result std::string.","timestamp":"2026-05-09T16:04:45+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/4ac1828b04547c323761b3903630b5af3473f80b","author":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T11:18:53+02:00","username":"ElementW"},"committer":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T16:04:45+02:00","username":"ElementW"},"added":[],"removed":[],"modified":["src/Base/Tools.cpp","src/Base/Tools.h"]},{"id":"64de71407680a476d97722695c0760fb8b79d3df","tree_id":"c89130061e7a54ecb0f7f6909ffd176e7f458d6a","distinct":true,"message":"Base: make FileInfo take std::strings by value and move them","timestamp":"2026-05-09T16:04:49+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/64de71407680a476d97722695c0760fb8b79d3df","author":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T13:12:32+02:00","username":"ElementW"},"committer":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T16:04:49+02:00","username":"ElementW"},"added":[],"removed":[],"modified":["src/Base/FileInfo.cpp","src/Base/FileInfo.h"]},{"id":"a57f69a3312fd75ba24c7508a3bfbdf5a52e43ca","tree_id":"86ecd57c6240f44d2f474b57f316a3157764395a","distinct":true,"message":"Base: make UnlimitedUnsigned::fromString work on std::string_view","timestamp":"2026-05-09T16:04:49+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/a57f69a3312fd75ba24c7508a3bfbdf5a52e43ca","author":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T13:13:53+02:00","username":"ElementW"},"committer":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T16:04:49+02:00","username":"ElementW"},"added":[],"removed":[],"modified":["src/Base/UnlimitedUnsigned.h","tests/src/Base/UnlimitedUnsigned.cpp"]},{"id":"31ccbf146a7c482720018f1835121f133be6a66b","tree_id":"a07411382d6679c26f3323a3ea8b2e768d293576","distinct":true,"message":"Base: make UniqueNameManager work on std::string_views","timestamp":"2026-05-09T16:04:49+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/31ccbf146a7c482720018f1835121f133be6a66b","author":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T13:14:53+02:00","username":"ElementW"},"committer":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T16:04:49+02:00","username":"ElementW"},"added":[],"removed":[],"modified":["src/Base/UniqueNameManager.cpp","src/Base/UniqueNameManager.h","src/Base/Writer.h"]},{"id":"4784ecd697e889980712e14bd63f3cd531c63f51","tree_id":"b3d75d7687e40c257b0bb09c2469b11f600388f2","distinct":true,"message":"App::Document: take string_views for label funcs","timestamp":"2026-05-09T21:19:48+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/4784ecd697e889980712e14bd63f3cd531c63f51","author":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T17:11:16+02:00","username":"ElementW"},"committer":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T21:19:48+02:00","username":"ElementW"},"added":[],"removed":[],"modified":["src/App/Document.cpp","src/App/Document.h"]},{"id":"0b439270abe75272044023cb848c312395cb5b06","tree_id":"cd6c97ab8d8002f349de2c95c1a9de088f3a6bff","distinct":true,"message":"Migrate Base::Type type name funcs to std::string_view\n\nMost callsite updates are trivial, except for DlgPropertyLink that\nbuilds and uses QByteArrays put in a data model, that used to include\nthe termination byte but now don't.","timestamp":"2026-05-11T15:08:34+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/0b439270abe75272044023cb848c312395cb5b06","author":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-09T21:14:20+02:00","username":"ElementW"},"committer":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-11T15:08:34+02:00","username":"ElementW"},"added":[],"removed":[],"modified":["src/3rdParty/PyCXX/CXX/Python3/Objects.hxx","src/App/Document.cpp","src/App/Document.h","src/App/DocumentObject.cpp","src/App/DocumentObject.h","src/App/DynamicProperty.cpp","src/App/DynamicProperty.h","src/App/ExtensionContainer.cpp","src/App/Link.cpp","src/App/MeasureManager.cpp","src/App/PropertyContainer.cpp","src/App/PropertyContainer.h","src/App/PropertyLinks.cpp","src/Base/Type.cpp","src/Base/Type.h","src/Base/UnlimitedUnsigned.h","src/Gui/Dialogs/DlgAddProperty.cpp","src/Gui/Dialogs/DlgExpressionInput.cpp","src/Gui/Dialogs/DlgPropertyLink.cpp","src/Gui/Document.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/PreferencePages/DlgSettingsNavigation.cpp","src/Gui/Selection/Selection.h","src/Gui/Selection/SelectionView.cpp","src/Gui/Selection/SelectionView.h","src/Gui/Tree.cpp","src/Gui/View3DInventor.cpp","src/Gui/View3DPy.cpp","src/Gui/View3DSettings.cpp","src/Gui/ViewProviderDocumentObject.cpp","src/Gui/ViewProviderDocumentObject.h","src/Gui/ViewProviderGeometryObject.cpp","src/Gui/ViewProviderLink.cpp","src/Gui/WidgetFactory.cpp","src/Gui/WorkbenchManager.cpp","src/Gui/WorkbenchManager.h","src/Mod/Fem/Gui/TaskFemConstraint.cpp","src/Mod/Measure/App/MeasureBase.h","src/Mod/Part/App/AttachExtension.cpp","src/Mod/Part/App/FeaturePartBox.cpp","src/Mod/Part/Gui/ViewProviderExt.cpp","src/Mod/PartDesign/App/FeatureChamfer.cpp","src/Mod/PartDesign/App/FeatureFillet.cpp","src/Mod/PartDesign/Gui/SketchWorkflow.cpp","src/Mod/Start/Gui/GeneralSettingsWidget.cpp","src/Mod/TechDraw/App/DrawPage.cpp","src/Mod/TechDraw/App/DrawView.cpp","src/Mod/TechDraw/App/DrawViewDetail.cpp","src/Mod/TechDraw/App/DrawViewPart.cpp","src/Mod/TechDraw/App/DrawViewSection.cpp","src/Mod/TechDraw/App/ShapeExtractor.cpp","src/Mod/TechDraw/Gui/QGVPage.cpp"]},{"id":"aad9f502ace41c1ec6b6f487d1a553e682221c57","tree_id":"7bfd8c7573d905976942d2480ea419891a20a7e8","distinct":true,"message":"Gui: fix Win32 FileDialog not starting in configured dir\n\nFixes #30042\n\n`SHCreateItemFromParsingName()` does not like forward slashes, and when\nan `IFileDialog` is not provided a `SetFolder()`, Windows falls back to\nthe last directory seen for the application (even across versions).","timestamp":"2026-05-11T23:13:52-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/aad9f502ace41c1ec6b6f487d1a553e682221c57","author":{"name":"Céleste Wouters","email":"foss@elementw.net","date":"2026-05-11T18:25:42+02:00","username":"ElementW"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-05-11T23:13:52-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Gui/FileDialogWin32.cpp"]},{"id":"b47131b135ca27a84477d99d45877638705e5234","tree_id":"d25c71cc4b325fe46272f3b05ffc5a6a42e1b20f","distinct":true,"message":"QSint: Don't use Up/Down keys for focus change\n\nDon't use Up/Down arrow keys because this may set focus to undesired\nwidgets.\n\nThis fixes issue 28345","timestamp":"2026-05-12T00:27:18-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/b47131b135ca27a84477d99d45877638705e5234","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-03-15T13:29:58+01:00","username":"wwmayer"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-05-12T00:27:18-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Gui/QSint/actionpanel/taskgroup_p.cpp"]},{"id":"6e25fb9d58af40e9d6f2c848eab198fde861c370","tree_id":"f19174576f2f041e095880409c9d839dbbc776b8","distinct":true,"message":"Gui: Improve DEF attribute names\n\nFor the xhtml/X3D export use more speaking names for the DEF attribute.\n\nThis fixes https://github.com/FreeCAD/FreeCAD/issues/7268","timestamp":"2026-05-12T00:33:10-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/6e25fb9d58af40e9d6f2c848eab198fde861c370","author":{"name":"wwmayer","email":"wmayer@freecad.org","date":"2026-02-08T23:20:00+01:00","username":"wwmayer"},"committer":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-05-12T00:33:10-05:00","username":"chennes"},"added":[],"removed":[],"modified":["src/Gui/SoFCDB.cpp"]},{"id":"59f91ec3185d97438a3d50a5a6e31bffb9a7536e","tree_id":"c9442fb07760bd34058dc59f1ac9673e97f96500","distinct":true,"message":"Merge pull request #29945 from maxwxyz/28362\n\nMesh: Refactor MeshKernel::AddFacets","timestamp":"2026-05-12T00:42:35-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/59f91ec3185d97438a3d50a5a6e31bffb9a7536e","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-05-12T00:42:35-05:00","username":"chennes"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-12T00:42:35-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/Mod/Mesh/App/Core/MeshKernel.cpp","src/Mod/Mesh/App/Core/MeshKernel.h","src/Mod/Mesh/Gui/Command.cpp","src/Mod/Mesh/Gui/MeshEditor.cpp"]},{"id":"39438559fdcee0db854ebe4f5ab1946c79c076a3","tree_id":"34a8c026db7fb4a7f9971ce838ba09b0b0a40680","distinct":true,"message":"Merge pull request #30008 from ElementW/chore/string-views-batch-1\n\nMigrate `FileInfo`, `Type` names, `UniqueNameManager` & `UnlimitedUnsigned` to `string_view`","timestamp":"2026-05-12T00:46:51-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/39438559fdcee0db854ebe4f5ab1946c79c076a3","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-05-12T00:46:51-05:00","username":"chennes"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-12T00:46:51-05:00","username":"web-flow"},"added":[],"removed":[],"modified":["src/3rdParty/PyCXX/CXX/Python3/Objects.hxx","src/App/Document.cpp","src/App/Document.h","src/App/DocumentObject.cpp","src/App/DocumentObject.h","src/App/DynamicProperty.cpp","src/App/DynamicProperty.h","src/App/ExtensionContainer.cpp","src/App/Link.cpp","src/App/MeasureManager.cpp","src/App/PropertyContainer.cpp","src/App/PropertyContainer.h","src/App/PropertyLinks.cpp","src/Base/FileInfo.cpp","src/Base/FileInfo.h","src/Base/Tools.cpp","src/Base/Tools.h","src/Base/Type.cpp","src/Base/Type.h","src/Base/UniqueNameManager.cpp","src/Base/UniqueNameManager.h","src/Base/UnlimitedUnsigned.h","src/Base/Writer.h","src/Gui/Dialogs/DlgAddProperty.cpp","src/Gui/Dialogs/DlgExpressionInput.cpp","src/Gui/Dialogs/DlgPropertyLink.cpp","src/Gui/Document.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/PreferencePages/DlgSettingsNavigation.cpp","src/Gui/Selection/Selection.h","src/Gui/Selection/SelectionView.cpp","src/Gui/Selection/SelectionView.h","src/Gui/Tree.cpp","src/Gui/View3DInventor.cpp","src/Gui/View3DPy.cpp","src/Gui/View3DSettings.cpp","src/Gui/ViewProviderDocumentObject.cpp","src/Gui/ViewProviderDocumentObject.h","src/Gui/ViewProviderGeometryObject.cpp","src/Gui/ViewProviderLink.cpp","src/Gui/WidgetFactory.cpp","src/Gui/WorkbenchManager.cpp","src/Gui/WorkbenchManager.h","src/Mod/Fem/Gui/TaskFemConstraint.cpp","src/Mod/Measure/App/MeasureBase.h","src/Mod/Part/App/AttachExtension.cpp","src/Mod/Part/App/FeaturePartBox.cpp","src/Mod/Part/Gui/ViewProviderExt.cpp","src/Mod/PartDesign/App/FeatureChamfer.cpp","src/Mod/PartDesign/App/FeatureFillet.cpp","src/Mod/PartDesign/Gui/SketchWorkflow.cpp","src/Mod/Start/Gui/GeneralSettingsWidget.cpp","src/Mod/TechDraw/App/DrawPage.cpp","src/Mod/TechDraw/App/DrawView.cpp","src/Mod/TechDraw/App/DrawViewDetail.cpp","src/Mod/TechDraw/App/DrawViewPart.cpp","src/Mod/TechDraw/App/DrawViewSection.cpp","src/Mod/TechDraw/App/ShapeExtractor.cpp","src/Mod/TechDraw/Gui/QGVPage.cpp","tests/src/Base/UnlimitedUnsigned.cpp"]},{"id":"a6e0eb4a14132e136b0deddaef50feffff4a40e5","tree_id":"3c49ff6862cb8e9c937a8f010dbc14a891788237","distinct":true,"message":"Gui: fix: spinbox cursor jumping on edit if nothing is selected","timestamp":"2026-05-12T07:47:09+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/a6e0eb4a14132e136b0deddaef50feffff4a40e5","author":{"name":"Alfredo Monclus","email":"alfredomonclus@gmail.com","date":"2026-05-11T13:06:55-03:00","username":"alfrix"},"committer":{"name":"Kacper Donat","email":"kadet1090@gmail.com","date":"2026-05-12T07:47:09+02:00","username":"kadet1090"},"added":[],"removed":[],"modified":["src/Gui/QuantitySpinBox.cpp"]},{"id":"12a68e8c2cd90a747adfb7c5e8ba31cd8123259c","tree_id":"a1ccf76321fd487091f5c0ea9dcd215803163f11","distinct":true,"message":"Gui: support drag box selection in 3D views\n\nExtract the box selection backend from the modal view command so it can be reused by normal 3D interaction.\n\nStart rubberband selection from left-button drag in the CAD, OpenCascade, Blender, Revit, SolidWorks and TinkerCAD navigation styles, while keeping the existing box selection commands available.\n\nThe shared path consumes the release event after finishing the rubberband selection and preserves additive selection where the navigation style already allows it.","timestamp":"2026-05-12T18:44:33+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/12a68e8c2cd90a747adfb7c5e8ba31cd8123259c","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-21T12:42:31+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-12T18:44:33+01:00","username":"tritao"},"added":["src/Gui/Selection/BoxSelection.cpp","src/Gui/Selection/BoxSelection.h"],"removed":[],"modified":["src/Gui/CMakeLists.txt","src/Gui/CommandView.cpp","src/Gui/MouseSelection.cpp","src/Gui/MouseSelection.h","src/Gui/Navigation/BlenderNavigationStyle.cpp","src/Gui/Navigation/CADNavigationStyle.cpp","src/Gui/Navigation/GestureNavigationStyle.cpp","src/Gui/Navigation/GestureNavigationStyle.h","src/Gui/Navigation/MayaGestureNavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.h","src/Gui/Navigation/OpenCascadeNavigationStyle.cpp","src/Gui/Navigation/RevitNavigationStyle.cpp","src/Gui/Navigation/SolidWorksNavigationStyle.cpp","src/Gui/Navigation/TinkerCADNavigationStyle.cpp"]},{"id":"61de785f766f242ce7972c05aa779be2313109fc","tree_id":"1e60e5a70f9bc8bccc55e9f6c2a29cf4de83723e","distinct":true,"message":"Gui: keep Ctrl+LMB selection mode in CAD and TinkerCAD\n\nTreat Ctrl+LMB as a selection gesture in the CAD and TinkerCAD navigation state tables so Ctrl-drag can enter the drag box selection path.\n\nThis keeps additive drag selection working in those styles without changing the OpenCascade Ctrl+LMB zoom behavior.","timestamp":"2026-05-12T18:44:33+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/61de785f766f242ce7972c05aa779be2313109fc","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-21T12:42:44+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-12T18:44:33+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Gui/Navigation/CADNavigationStyle.cpp","src/Gui/Navigation/TinkerCADNavigationStyle.cpp"]},{"id":"775be8eb09682fc59a86fd4ecb93ddf6d1054c00","tree_id":"40653aa8db5238d81831f1306aff5f0c678d84ff","distinct":true,"message":"Test: add drag box selection GUI regression test\n\nAdd a GUI test that drives drag selection in the 3D view and verifies plain and additive rubberband selection for the supported navigation styles.\n\nRegister the test in the Test module so it can be run with the existing FreeCAD test runner.","timestamp":"2026-05-12T18:44:33+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/775be8eb09682fc59a86fd4ecb93ddf6d1054c00","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-21T12:05:09+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-12T18:44:33+01:00","username":"tritao"},"added":["src/Mod/Test/TestRubberbandSelection.py"],"removed":[],"modified":["src/Mod/Test/CMakeLists.txt","src/Mod/Test/InitGui.py"]},{"id":"818c7b2756b658a07254305d89d56e0369ba1f30","tree_id":"1b19e07607c54b6c0170fe3ed181db6745d6a24d","distinct":true,"message":"Gui: support shift-drag box selection in gesture styles","timestamp":"2026-05-12T18:45:09+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/818c7b2756b658a07254305d89d56e0369ba1f30","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-25T18:05:16+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-12T18:45:09+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Gui/Navigation/GestureNavigationStyle.cpp","src/Gui/Navigation/MayaGestureNavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.h"]},{"id":"129a55b8cb181245355a6c94ca78270017357cff","tree_id":"ba5cd57f38f8305b0f4b4fcbd2cb4df97c9188ff","distinct":true,"message":"Test: cover shift-drag selection in gesture styles","timestamp":"2026-05-12T18:45:09+01:00","url":"https://github.com/ilf-S/FreeCAD/commit/129a55b8cb181245355a6c94ca78270017357cff","author":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-04-25T18:05:21+01:00","username":"tritao"},"committer":{"name":"Joao Matos","email":"joao@tritao.eu","date":"2026-05-12T18:45:09+01:00","username":"tritao"},"added":[],"removed":[],"modified":["src/Mod/Test/TestRubberbandSelection.py"]},{"id":"758570d19c79cc4cf8b1e198b5568e7263e8e6d8","tree_id":"2152c8c6425f026ca8f202a6942efd3c26c2a819","distinct":true,"message":"Merge pull request #29334 from tritao/freecad-python-stubs-core\n\nTools: Add Python typing stubs generator","timestamp":"2026-05-12T19:54:42+02:00","url":"https://github.com/ilf-S/FreeCAD/commit/758570d19c79cc4cf8b1e198b5568e7263e8e6d8","author":{"name":"Kacper Donat","email":"kacper@kadet.net","date":"2026-05-12T19:54:42+02:00","username":"kadet1090"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-12T19:54:42+02:00","username":"web-flow"},"added":["src/App/FreeCAD.module.pyi","src/Base/FreeCAD.Console.module.pyi","src/Base/FreeCAD.Qt.module.pyi","src/Base/FreeCAD.Units.module.pyi","src/Base/FreeCAD._ParameterGrp.pyi","src/Gui/FreeCADGui.Selection.module.pyi","src/Gui/FreeCADGui.TaskPlacement.pyi","src/Gui/FreeCADGui.UiLoader.pyi","src/Gui/FreeCADGui._AbstractSplitView.pyi","src/Gui/FreeCADGui._Control.pyi","src/Gui/FreeCADGui._MDIView.pyi","src/Gui/FreeCADGui._MainWindow.pyi","src/Gui/FreeCADGui._PyResource.pyi","src/Gui/FreeCADGui._TaskDialog.pyi","src/Gui/FreeCADGui._View3DInventor.pyi","src/Gui/FreeCADGui._View3DInventorViewer.pyi","src/Gui/FreeCADGui.module.pyi","src/Mod/Part/App/Part.module.pyi","src/Mod/Test/Gui/QtUnitGui._UnitTest.pyi","src/Tools/typing/README.md","src/Tools/typing/check-stubs.sh","src/Tools/typing/generate_stubs.py","src/Tools/typing/generated/.gitignore","src/Tools/typing/inputs/overlays/PySide/QtCore.pyi","src/Tools/typing/smoke/pyrefly.toml","src/Tools/typing/smoke/pyrightconfig.json","src/Tools/typing/smoke/smoke.py","src/Tools/typing/stubgen/__init__.py","src/Tools/typing/stubgen/class_merge.py","src/Tools/typing/stubgen/cli.py","src/Tools/typing/stubgen/discovery.py","src/Tools/typing/stubgen/doc_lint.py","src/Tools/typing/stubgen/generator.py","src/Tools/typing/stubgen/model.py","src/Tools/typing/stubgen/module_merge.py","src/Tools/typing/stubgen/naming.py","src/Tools/typing/stubgen/parsing.py","src/Tools/typing/stubgen/render.py","src/Tools/typing/stubgen/source_inputs.py","src/Tools/typing/stubgen/type_context_rules.py","tools/lint/python_stubs.py"],"removed":[],"modified":[".github/workflows/sub_lint.yml",".pre-commit-config.yaml","pixi.lock","pixi.toml","src/App/Document.pyi","src/App/DocumentObject.pyi","src/Base/Metadata.pyi","src/Base/Placement.pyi","src/Base/Rotation.pyi","src/Base/Vector.pyi","src/Mod/Part/App/Arc.pyi","src/Mod/Part/App/ArcOfEllipse.pyi","src/Mod/Part/App/Conic.pyi","src/Mod/Part/App/Ellipse.pyi","src/Mod/Part/App/GeometryCurve.pyi","src/Mod/Part/App/PartFeature.pyi","src/Mod/Part/App/TopoShapeCompound.pyi","src/Mod/Part/App/TopoShapeEdge.pyi","src/Mod/Part/App/TopoShapeFace.pyi","src/Mod/Part/App/TopoShapeVertex.pyi","src/Mod/Part/App/TopoShapeWire.pyi","src/Tools/bindings/model/generateModel_Python.py"]},{"id":"43e1ee8eb36f844b1df6f0eee3bcbdce409601e4","tree_id":"1001ea6d90c814b4642979d4f3e8832bb2b81f9b","distinct":true,"message":"Part: Sync material widget state with face selection (#28734)\n\n* Fix #27716\n\n---------\n\nSigned-off-by: Manuel Semedo \nCo-authored-by: Chris Hennes ","timestamp":"2026-05-12T21:37:24-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/43e1ee8eb36f844b1df6f0eee3bcbdce409601e4","author":{"name":"Manuel Semedo","email":"semedomanel@gmail.com","date":"2026-05-13T03:37:24+01:00","username":"semedooo"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-12T21:37:24-05:00","username":"web-flow"},"added":["src/Mod/Part/parttests/TaskFaceAppearancesTest.py"],"removed":[],"modified":["src/Mod/Part/CMakeLists.txt","src/Mod/Part/Gui/TaskFaceAppearances.cpp","src/Mod/Part/Gui/TaskFaceAppearances.h","src/Mod/Part/TestPartGui.py"]},{"id":"707bd23f890044cf6ee406120bc76074f0bb0022","tree_id":"cb1b43224add6a806fbbd83f19bce71a9cf703a2","distinct":true,"message":"Merge pull request #29547 from tritao/rubberband-selection\n\nGui: support drag box selection in 3D views","timestamp":"2026-05-12T21:38:46-05:00","url":"https://github.com/ilf-S/FreeCAD/commit/707bd23f890044cf6ee406120bc76074f0bb0022","author":{"name":"Chris Hennes","email":"chennes@pioneerlibrarysystem.org","date":"2026-05-12T21:38:46-05:00","username":"chennes"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-05-12T21:38:46-05:00","username":"web-flow"},"added":["src/Gui/Selection/BoxSelection.cpp","src/Gui/Selection/BoxSelection.h","src/Mod/Test/TestRubberbandSelection.py"],"removed":[],"modified":["src/Gui/CMakeLists.txt","src/Gui/CommandView.cpp","src/Gui/MouseSelection.cpp","src/Gui/MouseSelection.h","src/Gui/Navigation/BlenderNavigationStyle.cpp","src/Gui/Navigation/CADNavigationStyle.cpp","src/Gui/Navigation/GestureNavigationStyle.cpp","src/Gui/Navigation/GestureNavigationStyle.h","src/Gui/Navigation/MayaGestureNavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.h","src/Gui/Navigation/OpenCascadeNavigationStyle.cpp","src/Gui/Navigation/RevitNavigationStyle.cpp","src/Gui/Navigation/SolidWorksNavigationStyle.cpp","src/Gui/Navigation/TinkerCADNavigationStyle.cpp","src/Mod/Test/CMakeLists.txt","src/Mod/Test/InitGui.py"]},{"id":"a8a575699245dbc020fa6eb6e832cd6019543ad7","tree_id":"3286bf97018d625cb2c1179c46df10867d31adac","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-05-13T02:54:58Z","url":"https://github.com/ilf-S/FreeCAD/commit/a8a575699245dbc020fa6eb6e832cd6019543ad7","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-13T02:54:58Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-13T02:54:58Z","username":"ilf-S"},"added":["src/App/FreeCAD.module.pyi","src/Base/FreeCAD.Console.module.pyi","src/Base/FreeCAD.Qt.module.pyi","src/Base/FreeCAD.Units.module.pyi","src/Base/FreeCAD._ParameterGrp.pyi","src/Gui/FreeCADGui.Selection.module.pyi","src/Gui/FreeCADGui.TaskPlacement.pyi","src/Gui/FreeCADGui.UiLoader.pyi","src/Gui/FreeCADGui._AbstractSplitView.pyi","src/Gui/FreeCADGui._Control.pyi","src/Gui/FreeCADGui._MDIView.pyi","src/Gui/FreeCADGui._MainWindow.pyi","src/Gui/FreeCADGui._PyResource.pyi","src/Gui/FreeCADGui._TaskDialog.pyi","src/Gui/FreeCADGui._View3DInventor.pyi","src/Gui/FreeCADGui._View3DInventorViewer.pyi","src/Gui/FreeCADGui.module.pyi","src/Gui/Selection/BoxSelection.cpp","src/Gui/Selection/BoxSelection.h","src/Mod/Part/App/Part.module.pyi","src/Mod/Part/parttests/TaskFaceAppearancesTest.py","src/Mod/Test/Gui/QtUnitGui._UnitTest.pyi","src/Mod/Test/TestRubberbandSelection.py","src/Tools/typing/README.md","src/Tools/typing/check-stubs.sh","src/Tools/typing/generate_stubs.py","src/Tools/typing/generated/.gitignore","src/Tools/typing/inputs/overlays/PySide/QtCore.pyi","src/Tools/typing/smoke/pyrefly.toml","src/Tools/typing/smoke/pyrightconfig.json","src/Tools/typing/smoke/smoke.py","src/Tools/typing/stubgen/__init__.py","src/Tools/typing/stubgen/class_merge.py","src/Tools/typing/stubgen/cli.py","src/Tools/typing/stubgen/discovery.py","src/Tools/typing/stubgen/doc_lint.py","src/Tools/typing/stubgen/generator.py","src/Tools/typing/stubgen/model.py","src/Tools/typing/stubgen/module_merge.py","src/Tools/typing/stubgen/naming.py","src/Tools/typing/stubgen/parsing.py","src/Tools/typing/stubgen/render.py","src/Tools/typing/stubgen/source_inputs.py","src/Tools/typing/stubgen/type_context_rules.py","tools/lint/python_stubs.py"],"removed":[],"modified":[".pre-commit-config.yaml","pixi.lock","pixi.toml","src/3rdParty/PyCXX/CXX/Python3/Objects.hxx","src/App/Document.cpp","src/App/Document.h","src/App/Document.pyi","src/App/DocumentObject.cpp","src/App/DocumentObject.h","src/App/DocumentObject.pyi","src/App/DynamicProperty.cpp","src/App/DynamicProperty.h","src/App/ExtensionContainer.cpp","src/App/Link.cpp","src/App/MeasureManager.cpp","src/App/PropertyContainer.cpp","src/App/PropertyContainer.h","src/App/PropertyLinks.cpp","src/Base/FileInfo.cpp","src/Base/FileInfo.h","src/Base/Metadata.pyi","src/Base/Placement.pyi","src/Base/Rotation.pyi","src/Base/Tools.cpp","src/Base/Tools.h","src/Base/Type.cpp","src/Base/Type.h","src/Base/UniqueNameManager.cpp","src/Base/UniqueNameManager.h","src/Base/UnlimitedUnsigned.h","src/Base/Vector.pyi","src/Base/Writer.h","src/Gui/CMakeLists.txt","src/Gui/CommandView.cpp","src/Gui/Dialogs/DlgAddProperty.cpp","src/Gui/Dialogs/DlgExpressionInput.cpp","src/Gui/Dialogs/DlgPropertyLink.cpp","src/Gui/Document.cpp","src/Gui/FileDialogWin32.cpp","src/Gui/MouseSelection.cpp","src/Gui/MouseSelection.h","src/Gui/Navigation/BlenderNavigationStyle.cpp","src/Gui/Navigation/CADNavigationStyle.cpp","src/Gui/Navigation/GestureNavigationStyle.cpp","src/Gui/Navigation/GestureNavigationStyle.h","src/Gui/Navigation/MayaGestureNavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.h","src/Gui/Navigation/OpenCascadeNavigationStyle.cpp","src/Gui/Navigation/RevitNavigationStyle.cpp","src/Gui/Navigation/SolidWorksNavigationStyle.cpp","src/Gui/Navigation/TinkerCADNavigationStyle.cpp","src/Gui/PreferencePages/DlgSettingsNavigation.cpp","src/Gui/QSint/actionpanel/taskgroup_p.cpp","src/Gui/QuantitySpinBox.cpp","src/Gui/Selection/Selection.h","src/Gui/Selection/SelectionView.cpp","src/Gui/Selection/SelectionView.h","src/Gui/SoFCDB.cpp","src/Gui/Tree.cpp","src/Gui/View3DInventor.cpp","src/Gui/View3DPy.cpp","src/Gui/View3DSettings.cpp","src/Gui/ViewProviderDocumentObject.cpp","src/Gui/ViewProviderDocumentObject.h","src/Gui/ViewProviderGeometryObject.cpp","src/Gui/ViewProviderLink.cpp","src/Gui/WidgetFactory.cpp","src/Gui/WorkbenchManager.cpp","src/Gui/WorkbenchManager.h","src/Mod/Fem/Gui/TaskFemConstraint.cpp","src/Mod/Measure/App/MeasureBase.h","src/Mod/Mesh/App/Core/MeshKernel.cpp","src/Mod/Mesh/App/Core/MeshKernel.h","src/Mod/Mesh/Gui/Command.cpp","src/Mod/Mesh/Gui/MeshEditor.cpp","src/Mod/Part/App/Arc.pyi","src/Mod/Part/App/ArcOfEllipse.pyi","src/Mod/Part/App/AttachExtension.cpp","src/Mod/Part/App/Conic.pyi","src/Mod/Part/App/Ellipse.pyi","src/Mod/Part/App/FeaturePartBox.cpp","src/Mod/Part/App/GeometryCurve.pyi","src/Mod/Part/App/PartFeature.pyi","src/Mod/Part/App/TopoShapeCompound.pyi","src/Mod/Part/App/TopoShapeEdge.pyi","src/Mod/Part/App/TopoShapeFace.pyi","src/Mod/Part/App/TopoShapeVertex.pyi","src/Mod/Part/App/TopoShapeWire.pyi","src/Mod/Part/CMakeLists.txt","src/Mod/Part/Gui/TaskFaceAppearances.cpp","src/Mod/Part/Gui/TaskFaceAppearances.h","src/Mod/Part/Gui/ViewProviderExt.cpp","src/Mod/Part/TestPartGui.py","src/Mod/PartDesign/App/FeatureChamfer.cpp","src/Mod/PartDesign/App/FeatureFillet.cpp","src/Mod/PartDesign/Gui/SketchWorkflow.cpp","src/Mod/Start/Gui/GeneralSettingsWidget.cpp","src/Mod/TechDraw/App/DrawPage.cpp","src/Mod/TechDraw/App/DrawView.cpp","src/Mod/TechDraw/App/DrawViewDetail.cpp","src/Mod/TechDraw/App/DrawViewPart.cpp","src/Mod/TechDraw/App/DrawViewSection.cpp","src/Mod/TechDraw/App/ShapeExtractor.cpp","src/Mod/TechDraw/Gui/QGVPage.cpp","src/Mod/Test/CMakeLists.txt","src/Mod/Test/InitGui.py","src/Tools/bindings/model/generateModel_Python.py","tests/src/Base/UnlimitedUnsigned.cpp"]}],"head_commit":{"id":"a8a575699245dbc020fa6eb6e832cd6019543ad7","tree_id":"3286bf97018d625cb2c1179c46df10867d31adac","distinct":true,"message":"merge upstream (auto-resolve CI; keep packaging & our workflow) [skip ci]","timestamp":"2026-05-13T02:54:58Z","url":"https://github.com/ilf-S/FreeCAD/commit/a8a575699245dbc020fa6eb6e832cd6019543ad7","author":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-13T02:54:58Z","username":"ilf-S"},"committer":{"name":"ilf-S","email":"ilf-S@users.noreply.github.com","date":"2026-05-13T02:54:58Z","username":"ilf-S"},"added":["src/App/FreeCAD.module.pyi","src/Base/FreeCAD.Console.module.pyi","src/Base/FreeCAD.Qt.module.pyi","src/Base/FreeCAD.Units.module.pyi","src/Base/FreeCAD._ParameterGrp.pyi","src/Gui/FreeCADGui.Selection.module.pyi","src/Gui/FreeCADGui.TaskPlacement.pyi","src/Gui/FreeCADGui.UiLoader.pyi","src/Gui/FreeCADGui._AbstractSplitView.pyi","src/Gui/FreeCADGui._Control.pyi","src/Gui/FreeCADGui._MDIView.pyi","src/Gui/FreeCADGui._MainWindow.pyi","src/Gui/FreeCADGui._PyResource.pyi","src/Gui/FreeCADGui._TaskDialog.pyi","src/Gui/FreeCADGui._View3DInventor.pyi","src/Gui/FreeCADGui._View3DInventorViewer.pyi","src/Gui/FreeCADGui.module.pyi","src/Gui/Selection/BoxSelection.cpp","src/Gui/Selection/BoxSelection.h","src/Mod/Part/App/Part.module.pyi","src/Mod/Part/parttests/TaskFaceAppearancesTest.py","src/Mod/Test/Gui/QtUnitGui._UnitTest.pyi","src/Mod/Test/TestRubberbandSelection.py","src/Tools/typing/README.md","src/Tools/typing/check-stubs.sh","src/Tools/typing/generate_stubs.py","src/Tools/typing/generated/.gitignore","src/Tools/typing/inputs/overlays/PySide/QtCore.pyi","src/Tools/typing/smoke/pyrefly.toml","src/Tools/typing/smoke/pyrightconfig.json","src/Tools/typing/smoke/smoke.py","src/Tools/typing/stubgen/__init__.py","src/Tools/typing/stubgen/class_merge.py","src/Tools/typing/stubgen/cli.py","src/Tools/typing/stubgen/discovery.py","src/Tools/typing/stubgen/doc_lint.py","src/Tools/typing/stubgen/generator.py","src/Tools/typing/stubgen/model.py","src/Tools/typing/stubgen/module_merge.py","src/Tools/typing/stubgen/naming.py","src/Tools/typing/stubgen/parsing.py","src/Tools/typing/stubgen/render.py","src/Tools/typing/stubgen/source_inputs.py","src/Tools/typing/stubgen/type_context_rules.py","tools/lint/python_stubs.py"],"removed":[],"modified":[".pre-commit-config.yaml","pixi.lock","pixi.toml","src/3rdParty/PyCXX/CXX/Python3/Objects.hxx","src/App/Document.cpp","src/App/Document.h","src/App/Document.pyi","src/App/DocumentObject.cpp","src/App/DocumentObject.h","src/App/DocumentObject.pyi","src/App/DynamicProperty.cpp","src/App/DynamicProperty.h","src/App/ExtensionContainer.cpp","src/App/Link.cpp","src/App/MeasureManager.cpp","src/App/PropertyContainer.cpp","src/App/PropertyContainer.h","src/App/PropertyLinks.cpp","src/Base/FileInfo.cpp","src/Base/FileInfo.h","src/Base/Metadata.pyi","src/Base/Placement.pyi","src/Base/Rotation.pyi","src/Base/Tools.cpp","src/Base/Tools.h","src/Base/Type.cpp","src/Base/Type.h","src/Base/UniqueNameManager.cpp","src/Base/UniqueNameManager.h","src/Base/UnlimitedUnsigned.h","src/Base/Vector.pyi","src/Base/Writer.h","src/Gui/CMakeLists.txt","src/Gui/CommandView.cpp","src/Gui/Dialogs/DlgAddProperty.cpp","src/Gui/Dialogs/DlgExpressionInput.cpp","src/Gui/Dialogs/DlgPropertyLink.cpp","src/Gui/Document.cpp","src/Gui/FileDialogWin32.cpp","src/Gui/MouseSelection.cpp","src/Gui/MouseSelection.h","src/Gui/Navigation/BlenderNavigationStyle.cpp","src/Gui/Navigation/CADNavigationStyle.cpp","src/Gui/Navigation/GestureNavigationStyle.cpp","src/Gui/Navigation/GestureNavigationStyle.h","src/Gui/Navigation/MayaGestureNavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.cpp","src/Gui/Navigation/NavigationStyle.h","src/Gui/Navigation/OpenCascadeNavigationStyle.cpp","src/Gui/Navigation/RevitNavigationStyle.cpp","src/Gui/Navigation/SolidWorksNavigationStyle.cpp","src/Gui/Navigation/TinkerCADNavigationStyle.cpp","src/Gui/PreferencePages/DlgSettingsNavigation.cpp","src/Gui/QSint/actionpanel/taskgroup_p.cpp","src/Gui/QuantitySpinBox.cpp","src/Gui/Selection/Selection.h","src/Gui/Selection/SelectionView.cpp","src/Gui/Selection/SelectionView.h","src/Gui/SoFCDB.cpp","src/Gui/Tree.cpp","src/Gui/View3DInventor.cpp","src/Gui/View3DPy.cpp","src/Gui/View3DSettings.cpp","src/Gui/ViewProviderDocumentObject.cpp","src/Gui/ViewProviderDocumentObject.h","src/Gui/ViewProviderGeometryObject.cpp","src/Gui/ViewProviderLink.cpp","src/Gui/WidgetFactory.cpp","src/Gui/WorkbenchManager.cpp","src/Gui/WorkbenchManager.h","src/Mod/Fem/Gui/TaskFemConstraint.cpp","src/Mod/Measure/App/MeasureBase.h","src/Mod/Mesh/App/Core/MeshKernel.cpp","src/Mod/Mesh/App/Core/MeshKernel.h","src/Mod/Mesh/Gui/Command.cpp","src/Mod/Mesh/Gui/MeshEditor.cpp","src/Mod/Part/App/Arc.pyi","src/Mod/Part/App/ArcOfEllipse.pyi","src/Mod/Part/App/AttachExtension.cpp","src/Mod/Part/App/Conic.pyi","src/Mod/Part/App/Ellipse.pyi","src/Mod/Part/App/FeaturePartBox.cpp","src/Mod/Part/App/GeometryCurve.pyi","src/Mod/Part/App/PartFeature.pyi","src/Mod/Part/App/TopoShapeCompound.pyi","src/Mod/Part/App/TopoShapeEdge.pyi","src/Mod/Part/App/TopoShapeFace.pyi","src/Mod/Part/App/TopoShapeVertex.pyi","src/Mod/Part/App/TopoShapeWire.pyi","src/Mod/Part/CMakeLists.txt","src/Mod/Part/Gui/TaskFaceAppearances.cpp","src/Mod/Part/Gui/TaskFaceAppearances.h","src/Mod/Part/Gui/ViewProviderExt.cpp","src/Mod/Part/TestPartGui.py","src/Mod/PartDesign/App/FeatureChamfer.cpp","src/Mod/PartDesign/App/FeatureFillet.cpp","src/Mod/PartDesign/Gui/SketchWorkflow.cpp","src/Mod/Start/Gui/GeneralSettingsWidget.cpp","src/Mod/TechDraw/App/DrawPage.cpp","src/Mod/TechDraw/App/DrawView.cpp","src/Mod/TechDraw/App/DrawViewDetail.cpp","src/Mod/TechDraw/App/DrawViewPart.cpp","src/Mod/TechDraw/App/DrawViewSection.cpp","src/Mod/TechDraw/App/ShapeExtractor.cpp","src/Mod/TechDraw/Gui/QGVPage.cpp","src/Mod/Test/CMakeLists.txt","src/Mod/Test/InitGui.py","src/Tools/bindings/model/generateModel_Python.py","tests/src/Base/UnlimitedUnsigned.cpp"]}}