# Some configuration options for other environments # rpmbuild --without=bundled_zipios: don't use bundled version of zipios++ %bcond_without bundled_zipios # rpmbuild --with=bundled_pycxx: use bundled version of pycxx %bcond_with bundled_pycxx # rpmbuild --without=bundled_smesh: don't use bundled version of Salome's Mesh %bcond_without bundled_smesh # rpmbuild --without=bundled_gtest: don't use bundled version of gtest and gmock %bcond_with bundled_gtest # rpmbuild --without=tests exclude tests in %%check %bcond_without tests # rpmbuild --without=debug_info don't generate package with debug info %bcond_without debug_info Name: freecad Epoch: 1 Version: weekly.2025.06.23 Release: 1.20250910005332806317.main.1197.g7a1fc31e7%{?dist} Summary: A general purpose 3D CAD modeler Group: Applications/Engineering License: LGPL-2.0-or-later URL: https://www.freecad.org/ Source0: freecad-sources.tar.gz # Maintainers: keep this list of plugins up to date # List plugins in %%{_libdir}/%%{name}/lib, less '.so' and 'Gui.so', here %global plugins AssemblyApp AssemblyGui CAMSimulator DraftUtils Fem FreeCAD Import Inspection MatGui Materials Measure Mesh MeshPart Part PartDesignGui Path PathApp PathSimulator Points QtUnitGui ReverseEngineering Robot Sketcher Spreadsheet Start Surface TechDraw Web _PartDesign area flatmesh libDriver libDriverDAT libDriverSTL libDriverUNV libE57Format libMEFISTO2 libSMDS libSMESH libSMESHDS libStdMeshers libarea-native %global exported_libs libOndselSolver # See FreeCAD-main/src/3rdParty/salomesmesh/CMakeLists.txt to find this out. %global bundled_smesh_version 7.7.1.0 # See /src/3rdParty/PyCXX/CXX/Version.h to find this out. %global bundled_pycxx_version 7.1.9 # See /src/3rdParty/OndselSolver/CMakeLists.txt to find this out. %global bundled_ondsel_solver_version 1.0.1 # Utilities BuildRequires: cmake gcc-c++ gettext doxygen swig graphviz gcc-gfortran desktop-file-utils tbb-devel %if %{with tests} BuildRequires: xorg-x11-server-Xvfb IfcOpenShell-python3 %if %{without bundled_gtest} BuildRequires: gtest-devel gmock-devel %endif %endif # Development Libraries BuildRequires:boost-devel Coin4-devel eigen3-devel freeimage-devel fmt-devel libglvnd-devel libicu-devel libspnav-devel libXmu-devel med-devel mesa-libEGL-devel mesa-libGLU-devel netgen-mesher-devel netgen-mesher-devel-private opencascade-devel openmpi-devel python3 python3-devel python3-matplotlib python3-pivy python3-pybind11 python3-pyside6-devel python3-shiboken6-devel pyside6-tools qt6-qttools-static qt6-qtsvg-devel vtk-devel xerces-c-devel yaml-cpp-devel #pcl-devel %if %{without bundled_smesh} BuildRequires: smesh-devel %endif %if %{without bundled_zipios} BuildRequires: zipios++-devel %endif %if %{without bundled_pycxx} BuildRequires: python3-pycxx-devel %endif # For appdata %if 0%{?fedora} BuildRequires: libappstream-glib %endif # Packages separated because they are noarch, but not optional so require them # here. Requires: %{name}-data = %{epoch}:%{version}-%{release} # Obsolete old doc package since it's required for functionality. Obsoletes: %{name}-doc < 0.22-1 Requires: hicolor-icon-theme fmt python3-matplotlib python3-pivy python3-collada python3-pyside6 qt6-assistant %if %{with bundled_smesh} Provides: bundled(smesh) = %{bundled_smesh_version} %endif %if %{with bundled_pycxx} Provides: bundled(python-pycxx) = %{bundled_pycxx_version} %endif Provides: bundled(libondselsolver) = %{bundled_ondsel_solver_version} Recommends: python3-pysolar IfcOpenShell-python3 # plugins and private shared libs in %%{_libdir}/freecad/lib are private; # prevent private capabilities being advertised in Provides/Requires %global plugin_exclude %( for i in %{plugins}; do echo -n "\|$i\(Gui\)\?"; done ) # prevent declaring Requires for internal FreeCAD libraries %global lib_exclude %( for i in %{exported_libs}; do echo -n "\|$i"; done ) %global __requires_exclude_from ^%{_libdir}/%{name}/(lib|Mod)/.* %global __provides_exclude_from ^%{_libdir}/%{name}/Mod/.* %global __provides_exclude ^(libFreeCAD.*%{plugin_exclude})\.so.* %global __requires_exclude ^(libFreeCAD.*%{plugin_exclude}%{lib_exclude})\.so.* %description FreeCAD is a general purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler, aimed directly at mechanical engineering and product design but also fits a wider range of uses in engineering, such as architecture or other engineering specialities. It is a feature-based parametric modeler with a modular software architecture which makes it easy to provide additional functionality without modifying the core system. %package data Summary: Data files for FreeCAD BuildArch: noarch Requires: %{name} = %{epoch}:%{version}-%{release} %description data Data files for FreeCAD %package libondselsolver-devel Summary: Development file for OndselSolver BuildArch: noarch Requires: %{name} = %{epoch}:%{version}-%{release} %description libondselsolver-devel Development file for OndselSolver #path that contain main FreeCAD sources for cmake %global tests_resultdir %{_datadir}/%{name}/tests_result/%{_arch} %if %{without debug_info} %global debug_package %{nil} %global _enable_debug_packages 0 %endif %prep %setup -T -a 0 -q -c -n FreeCAD-1.0.2 %build # Deal with cmake projects that tend to link excessively. LDFLAGS='-Wl,--as-needed -Wl,--no-undefined'; export LDFLAGS %cmake \ -DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \ -DCMAKE_INSTALL_DATADIR=%{_datadir}/%{name} \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ -DCMAKE_INSTALL_DATAROOTDIR=%{_datadir} \ -DRESOURCEDIR=%{_datadir}/%{name} \ -DFREECAD_USE_EXTERNAL_PIVY=TRUE \ -DFREECAD_USE_EXTERNAL_FMT=TRUE \ -DFREECAD_USE_PCL:BOOL=OFF \ -DFREECAD_QT_VERSION:STRING=6 \ -DOpenGL_GL_PREFERENCE=GLVND \ -DUSE_OCC=TRUE \ %if %{without bundled_pycxx} -DPYCXX_INCLUDE_DIR=$(pkg-config --variable=includedir PyCXX) \ -DPYCXX_SOURCE_DIR=$(pkg-config --variable=srcdir PyCXX) \ %endif %if %{without bundled_smesh} -DFREECAD_USE_EXTERNAL_SMESH=TRUE \ %endif %if %{without bundled_zipios} -DFREECAD_USE_EXTERNAL_ZIPIOS=TRUE \ %endif %if %{with tests} -DENABLE_DEVELOPER_TESTS=TRUE \ %if %{without bundled_gtest} -DFREECAD_USE_EXTERNAL_GTEST=TRUE \ %else -DINSTALL_GTEST=OFF \ -DINSTALL_GMOCK=OFF \ %endif %else -DENABLE_DEVELOPER_TESTS=FALSE \ %endif -DONDSELSOLVER_BUILD_EXE=TRUE \ -DBUILD_GUI=TRUE %cmake_build %install %cmake_install # Symlink binaries to /usr/bin mkdir -p %{buildroot}%{_bindir} ln -s ../%{_lib}/%{name}/bin/FreeCAD %{buildroot}%{_bindir}/FreeCAD ln -s ../%{_lib}/%{name}/bin/FreeCADCmd %{buildroot}%{_bindir}/FreeCADCmd # Remove header from external library that's erroneously installed rm -rf %{buildroot}%{_libdir}/%{name}/include/E57Format rm -rf %{buildroot}%{_includedir}/gmock rm -rf %{buildroot}%{_includedir}/gtest rm -rf %{buildroot}%{_libdir}/%{name}/%{_lib}/cmake rm -rf %{buildroot}%{_libdir}/%{name}/%{_lib}/pkgconfig %check desktop-file-validate %{buildroot}%{_datadir}/applications/org.freecad.FreeCAD.desktop %{?fedora:appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml} %if %{with tests} mkdir -p %{buildroot}%tests_resultdir if %ctest &> %{buildroot}%tests_resultdir/ctest.result ; then echo "ctest OK" else echo "**** Failed ctest ****" touch %{buildroot}%tests_resultdir/ctest.failed cat %{buildroot}%tests_resultdir/ctest.result fi %endif # Bug maintainers to keep %%{plugins} macro up to date. # # Make sure there are no plugins that need to be added to plugins macro %define plugin_regexp /^\\\(libFreeCAD.*%(for i in %{plugins}; do echo -n "\\\|$i"; done)\\\)\\\(\\\|Gui\\\)\\.so/d %define exported_libs_regexp /^\\\(%(for i in %{exported_libs}; do echo -n "\\\|$i"; done)\\\)\\.so/d new_plugins=`ls %{buildroot}%{_libdir}/%{name}/%{_lib} | sed -e '%{plugin_regexp}' -e '%exported_libs_regexp'` if [ -n "$new_plugins" ]; then echo -e "\n\n\n**** ERROR:\n" \ "\nPlugins not caught by regexps:" \ "\n" $new_plugins \ "\n\nPlugins in %{_libdir}/%{name}/lib do not exist in" \ "\nspecfile %%{plugins} or %%{exported_libs_regexp} macro." \ "\nPlease add these to %%{plugins} or %%{exported_libs}" \ "\nmacro at top of specfile" \ "\nand rebuild.\n****\n" 1>&2 exit 1 fi # Make sure there are no entries in the plugins macro that don't match plugins for p in %{plugins}; do if [ -z "`ls %{buildroot}%{_libdir}/%{name}/%{_lib}/$p*.so`" ]; then set +x echo -e "\n\n\n**** ERROR:\n" \ "\nExtra entry in %%{plugins} macro with no matching plugin:" \ "'$p'.\n\nPlease remove from %%{plugins} macro at top of" \ "\nspecfile and rebuild.\n****\n" 1>&2 exit 1 fi done # Make sure there are no entries in the exported_libs_regexp macro that don't match plugins for d in %{exported_libs}; do if [ -z "`ls %{buildroot}%{_libdir}/%{name}/%{_lib}/$d*.so`" ]; then set +x echo -e "\n\n\n**** ERROR:\n" \ "\nExtra entry in %%{exported_libs} macro with no matching lib:" \ "'$d'.\n\nPlease remove from %%{exported_libs} macro at top of" \ "\nspecfile and rebuild.\n****\n" 1>&2 exit 1 fi done %post /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/update-desktop-database &> /dev/null || : /usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || : %postun if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi /usr/bin/update-desktop-database &> /dev/null || : /usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || : %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor/scalable/apps &>/dev/null || : %files %{_bindir}/* %{_metainfodir}/* %dir %{_libdir}/%{name} %{_libdir}/%{name}/bin/ %{_libdir}/%{name}/%{_lib}/ %{_libdir}/%{name}/Ext/ %{_libdir}/%{name}/Mod/ %{_datadir}/applications/* %{_datadir}/icons/hicolor/* %{_datadir}/pixmaps/* %{_datadir}/mime/packages/* %{_datadir}/thumbnailers/* #find a way to configure in cmake with %%name to avoid conflict with different package name %{python3_sitelib}/freecad/* %if %{with tests} %tests_resultdir/* %endif %files data %{_datadir}/%{name}/ %{_docdir}/%{name}/LICENSE.html %{_docdir}/%{name}/ThirdPartyLibraries.html %files libondselsolver-devel %{_datadir}/pkgconfig/OndselSolver.pc %{_includedir}/OndselSolver/* %changelog * Wed Sep 10 2025 Super User - 1:weekly.2025.06.23-1.20250910005332806317.main.1197.g7a1fc31e7 - add git information (github-actions[bot]) - Revert "Part: Remove mode from Offset, keep in Offset2D" (Benjamin Nauck) - Gui: Make datum planes bigger (Kacper Donat) - Gui: Add generic getViewProvider (Kacper Donat) - Sketcher: Constraint symbol size follow-up (#23590) (PaddleStroke) - CI: Disable implicit bool conversion linter warning (Kacper Donat) - Gui: add theming abilities to interactive gizmos (captain0xff) - PartDesign: FeatureLinearPattern fix Axis-Y not working (#23637) (PaddleStroke) - Gui: Fix segfault in TaskAttacher on cancel (Kacper Donat) - Update KineticNCBeamicon2_post.py (#23602) (zophon) - CAM: Dogbone - fix for Pocket (#22250) (tarman3) - Part: Remove transparency cap at 50%% for face color override (PaddleStroke) - PartDesign: Reorder fields in Hole dialog (Kacper Donat) - Core: Fix alpha-transparency issue in face color override. (#23532) (PaddleStroke) - Part: Remove mode from Offset, keep in Offset2D (Benjamin Nauck) - TD: Finish removal of Link and Landmark from GUI (Chris Hennes) - updating docblock locations. (Ian 'z0r0' Abreu) - reverting author metadata (Ian 'z0r0' Abreu) - Adding license documentation to interface class docblocks. (Ian 'z0r0' Abreu) - Cleaning up xml file generation, and erroneous export annotations from interface bindings. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for TechDraw. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for Robot, Spreadsheet, Surface. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for Import, Measure, Mesh, Points. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for Fem. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for CAM. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for assembly (Ian 'z0r0' Abreu) - Gui: add theming abilities to interactive gizmos (captain0xff) - PartDesign: FeatureLinearPattern fix Axis-Y not working (#23637) (PaddleStroke) - Gui: Fix segfault in TaskAttacher on cancel (Kacper Donat) - Update KineticNCBeamicon2_post.py (#23602) (zophon) - CAM: Dogbone - fix for Pocket (#22250) (tarman3) - Part: Remove transparency cap at 50%% for face color override (PaddleStroke) - PartDesign: Reorder fields in Hole dialog (Kacper Donat) - Core: Fix alpha-transparency issue in face color override. (#23532) (PaddleStroke) - Part: Remove mode from Offset, keep in Offset2D (Benjamin Nauck) - TD: Finish removal of Link and Landmark from GUI (Chris Hennes) - Draft: Remove relative to WP option from Draft_Scale (#23716) (Roy-043) - BIM: fix transparency of windows (Roy-043) - Draft: fix display of Building US dim text (#23674) (Roy-043) - [ArchStairs] Fix-hideSubobjects (Paul Lee) - Draft: fix focus on Length input behavior (Roy-043) - [ArchComponent] Fix 1st Addition Placment & MovableChildren Includes Railings (Paul Lee) - BIM: fix Arch_Reference colors (Roy-043) - BIM+Draft: change object related version info to log messages (Roy-043) - Draft: Improve ShapeString execute function (Roy-043) - BIM: Fix sun ray creation in Arch Site solar study, suppress ladybug log messages (#23524) (Furgo) - Draft: Remove relative to WP option from Draft_Scale (#23716) (Roy-043) - BIM: fix transparency of windows (Roy-043) - Draft: fix display of Building US dim text (#23674) (Roy-043) - [ArchStairs] Fix-hideSubobjects (Paul Lee) - Draft: fix focus on Length input behavior (Roy-043) - [ArchComponent] Fix 1st Addition Placment & MovableChildren Includes Railings (Paul Lee) - BIM: fix Arch_Reference colors (Roy-043) - BIM+Draft: change object related version info to log messages (Roy-043) - Draft: Improve ShapeString execute function (Roy-043) - BIM: Fix sun ray creation in Arch Site solar study, suppress ladybug log messages (#23524) (Furgo) - Fix various typos Found via codespell (luzpaz) - [TD]fix horizontal/vertical test for dimensions (wandererfan) - Toponaming: Remove updateElementReferences call in getLinks methods. (#23525) (drwho495) - Tests: Add unit tests for FileInfo (wmayer) - Base: Modernize FileInfo (wmayer) - Fix various typos Found via codespell (luzpaz) - [TD]fix horizontal/vertical test for dimensions (wandererfan) - Toponaming: Remove updateElementReferences call in getLinks methods. (#23525) (drwho495) - Fem: Add default solver to new analysis - fixes #23043 (marioalexis) - Fem: Update old ElementGeometry*D with new properties (marioalexis) - FEM: improve gmsh binary lookup logic (Adrian Insaurralde Avalos) - Fem: Use Netgen bindings entirely in external program (marioalexis) - FEM: Fix the shell to shell contact example (#23533) (FEA-eng) - FEM: Better defaults for mesh export (#23553) (FEA-eng) - Fem: Add support for 2D geometries to Centrif constraint (marioalexis) - Sketcher: fix invalid constraint on first dimension (#23024) (theo-vt) - Fix Link MaterialOverride 0.0 transparency bug (PaddleStroke) - Gui: Correct linter problems (tetektoza) - Gui: Handle proper naming for Link objects in Clarify Selection (tetektoza) - Gui: Skip creating submenu for Object and Other types in Clarify Select (tetektoza) - Gui: Remember right click position before menu pop-up for ClarifySelect (tetektoza) - Gui: Move Clarify Selection higher in Tools submenu hierarchy (tetektoza) - Gui: Add Clarify Selection radius multiplier option (tetektoza) - Core: Fix 'Expression editor' handling with keyboard (B0cho) - Tests: Correct testcases after scene graph reordering in Clarify Select (tetektoza) - Gui: Add solid selection spport for top-lvl objects in pick menu (tetektoza) - Gui: Break up condition for Clarify Selection to separate variables (tetektoza) - Gui: Allow long press timeout for Clarify Selection to be configurable (tetektoza) - Gui: Align to use translated strings in SelectionView (tetektoza) - Gui: Add variable names for grouping thresholds in SelectionView (tetektoza) - Gui: Replace usage of dynamic_cast with freecad_cast in SelectionView (tetektoza) - Gui: Use cleaner variable naming for menu items in SelectionView (tetektoza) - Gui: Use assignment in if statement for menus iterator (tetektoza) - Gui: Convert Clarify Selection usage in SelectionSingleton to instance (tetektoza) - Gui: Merge standard delayed paths with delayed priority paths (tetektoza) - Gui: Use QByteArray directly in setData without intermediate variable (tetektoza) - Gui: Use variable assignment directly in if statement (tetektoza) - Gui: Use copy for currentSelections in Clarify Selection tool (tetektoza) - Gui: Add a comment explaining invoke(0) call in NavigationStyle (tetektoza) - Gui: Extract helper methods for navigation context menu (tetektoza) - Gui: Use QStringLiteral for selected element (tetektoza) - Gui: Fix typo in SelectionView (tetektoza) - Gui: Check for nullptr in activeWindow in CommandView directly (tetektoza) - Gui: Use freecad_cast where possible in CommandView for ClarifySelection (tetektoza) - Gui: Use designated initializer in CommandView (tetektoza) - Gui: Initialize SbVec2s point directly in CommandView (tetektoza) - Part/Gui: Rename Pick Geometry tool to Clarify Selection (tetektoza) - Gui: Add support for toggling PickGeometry with long-press LMB (tetektoza) - Core/Gui: Render primitives on top of the scene in PickGeometry (tetektoza) - Core: Add preselect on hovered menu items in PickGeometry tool (tetektoza) - Core: Respect highlighting for preselection too (tetektoza) - Gui: Add a context menu to select obstructed items (from RT fork) (realthunder) - Core: Move 'Result' message below 'Expression' input (B0cho) - Core: Show 'Expression' completer under cursor position (B0cho) - Core: Fix 'QTextEdit' background-color (B0cho) - Core: Make too long 'Result' message elide in Expression editor (B0cho) - Core: Remove redundant spacers from Expression editor (B0cho) - Core: Fix 'Result' message text not wrapped in Expression editor (B0cho) - Core: Switch widget from 'ExpressionLineEdit' to 'ExpressionTextEdit' (B0cho) - Sketcher: fix invalid constraint on first dimension (#23024) (theo-vt) - Fix Link MaterialOverride 0.0 transparency bug (PaddleStroke) - add git information (github-actions[bot]) - add pull configuration (filippor) - enable automatic build (filippor) - add git information (github-actions[bot]) - add sync (filippor) - add github action (filippor) - add tests in test-farm (filippor) - add packit configuration (filippor) - Update spec file (filippor) - Gui: Correct linter problems (tetektoza) - [CAM] fix to ensure tool change command is issued forsame tool number, new spindle speed (#23691) (David Kaufman) - [CAM] change default TC name to 5mm endmill (#23692) (David Kaufman) - Gui: Handle proper naming for Link objects in Clarify Selection (tetektoza) - Gui: Skip creating submenu for Object and Other types in Clarify Select (tetektoza) - Gui: Remember right click position before menu pop-up for ClarifySelect (tetektoza) - Gui: Move Clarify Selection higher in Tools submenu hierarchy (tetektoza) - Gui: Add Clarify Selection radius multiplier option (tetektoza) - Gui: Fix preview rendering issues (Kacper Donat) - Core: Fix 'Expression editor' handling with keyboard (B0cho) - Add test causing crash and fix map sorting function. (#22889) (Weston Schmidt) - [CAM] create adaptive epic (#23414) (David Kaufman) - [CAM] LeadInOut new features (#22669) (David Kaufman) - CAM: fix G0 regression in drilling (#22602) (J-Dunn) - Base: UnitsSchema: use basic imperial conversion constants (Ladislav Michl) - Base: add back Imperial for Civil Engineering unit conversions (Ladislav Michl) - Base: pass format specifiers to UnitsSchemasData::runSpecial (Ladislav Michl) - Base: QuantityFormat: avoid storing formatting defaults (Ladislav Michl) - Base: refactor unit formatting defaults (Ladislav Michl) - Gui: fix 'Minimum fractional inch' preference visibility (Ladislav Michl) - Base: Quantity: attribute pressure quantities to pressure unit (Ladislav Michl) - Base: Quantity: remove redundant 'this' (Ladislav Michl) - Base: UnitsApi: remove nowhere called init() (Ladislav Michl) - Base: make UnitsApi::toNumber method of Quantity (Ladislav Michl) - Base: make UnitsApi::toString method of Quantity (Ladislav Michl) - Gui: do not misuse UnitApi to format numbers in property editor (Ladislav Michl) - Part: Revolution: do not copy style of sketches (PaddleStroke) - Part: do not copy visual of sketch (PaddleStroke) - Update gui_groups.py (Roy-043) - Bump actions/labeler from 6.0.0 to 6.0.1 (dependabot[bot]) - Tests: Correct testcases after scene graph reordering in Clarify Select (tetektoza) - Gui: Add solid selection spport for top-lvl objects in pick menu (tetektoza) - Gui: Break up condition for Clarify Selection to separate variables (tetektoza) - Gui: Allow long press timeout for Clarify Selection to be configurable (tetektoza) - Gui: Align to use translated strings in SelectionView (tetektoza) - Gui: Add variable names for grouping thresholds in SelectionView (tetektoza) - Gui: Replace usage of dynamic_cast with freecad_cast in SelectionView (tetektoza) - Gui: Use cleaner variable naming for menu items in SelectionView (tetektoza) - Gui: Use assignment in if statement for menus iterator (tetektoza) - Gui: Convert Clarify Selection usage in SelectionSingleton to instance (tetektoza) - Gui: Merge standard delayed paths with delayed priority paths (tetektoza) - PartDesign: Fix pattern Add/remove buttons #23626 (PaddleStroke) - Part: Make dragger attach to the midpoint / axis for circular edges and faces (Max Wilfinger) - BIM: update Views Panel and Status Bar icons and some more (#23561) (marcuspollio) - Bump actions/labeler from 5.0.0 to 6.0.0 (dependabot[bot]) - Bump actions/stale from 9.1.0 to 10.0.0 (dependabot[bot]) - PartDesign: Correct typo in multiple solids error (#23642) (FEA-eng) - FEM: Add property to disable PaStiX mixed precision for the ccx solver (#23539) (FEA-eng) - PartDesign: Polar pattern: Spacings off by one. (PaddleStroke) - Update translations 2025-09-03 (Chris Hennes) - FEM: Amplitude support for final temperature field (#23530) (FEA-eng) - [pre-commit.ci] pre-commit autoupdate (pre-commit-ci[bot]) - Draft: check if autogroup exists (Roy-043) - CI: Add new entries to codespellignore file (luzpaz) - [CAM] Make sure CAMAsset location exists (#23618) (sliptonic) - Fix missed string update (Max Wilfinger) - TechDraw: Remove duplicate import (Ryan Kembrey) - Draft: change task panel title of Draft_CubicBezCurve to Title Case (Roy-043) - Measurement: Provide correct VP name for COM (#23329) (tetektoza) - TechDraw: Remove unused functions (#21483) (mosfet80) - Feature/sketcher constraint symbol size (#23366) (George Peden) - Gui: Use QByteArray directly in setData without intermediate variable (tetektoza) - Gui: Use variable assignment directly in if statement (tetektoza) - Gui: Use copy for currentSelections in Clarify Selection tool (tetektoza) - Gui: Add a comment explaining invoke(0) call in NavigationStyle (tetektoza) - Gui: Extract helper methods for navigation context menu (tetektoza) - Gui: Use QStringLiteral for selected element (tetektoza) - Gui: Fix typo in SelectionView (tetektoza) - Gui: Check for nullptr in activeWindow in CommandView directly (tetektoza) - Gui: Use freecad_cast where possible in CommandView for ClarifySelection (tetektoza) - Gui: Use designated initializer in CommandView (tetektoza) - Gui: Initialize SbVec2s point directly in CommandView (tetektoza) - Part/Gui: Rename Pick Geometry tool to Clarify Selection (tetektoza) - Gui: Add support for toggling PickGeometry with long-press LMB (tetektoza) - Core/Gui: Render primitives on top of the scene in PickGeometry (tetektoza) - Core: Add preselect on hovered menu items in PickGeometry tool (tetektoza) - Core: Respect highlighting for preselection too (tetektoza) - Gui: Add a context menu to select obstructed items (from RT fork) (realthunder) - Gui: remove duplicated checkbox (captain0xff) - App: Fix safe mode and home directory (Chris Hennes) - Draft: Fix some prefs GUI texts (related to Title Case) (#23573) (Roy-043) - PartDesign: fix the draggers for pad type and hole (captain0xff) - CAM: Fix Task panels for expression in App::PropertyLink (#22955) (tarman3) - CAM: Fix uccnc postprocessor for G2|G3 (#23194) (tarman3) - CAM: correct grbl_post retract heights (#23010) (J-Dunn) - CAM: Fix missed gcode save dialog (#23517) (tarman3) - Part: disable dragger for the thickness operation (captain0xff) - [CAM] Fix ramp dressup performance (#21944) (David Kaufman) - [CAM] Add UI elements for viewing and editing tool controller parameters from within the operation edit UI (#23180) (David Kaufman) - Fem: Update CalculiX test (marioalexis) - Fem: Use maximum increments for electromagnetic mode (marioalexis) - Fem: Rename CalculiX time properties (marioalexis) - Fem: Enable time increments for non-transient analysis (marioalexis) - Syntax error (PaddleStroke) - updating docblock locations. (Ian 'z0r0' Abreu) - reverting author metadata (Ian 'z0r0' Abreu) - AddonManager: ignore everything but dirs in getVerboseAddOnsInfo Before this PR addon manager was displaying manifest.json files along with backup files. Now those are ignored. Fixes #23545 (luzpaz) - Adding license documentation to interface class docblocks. (Ian 'z0r0' Abreu) - Core: Move 'Result' message below 'Expression' input (B0cho) - Core: Show 'Expression' completer under cursor position (B0cho) - Core: Fix 'QTextEdit' background-color (B0cho) - Core: Make too long 'Result' message elide in Expression editor (B0cho) - Core: Remove redundant spacers from Expression editor (B0cho) - Core: Fix 'Result' message text not wrapped in Expression editor (B0cho) - Core: Switch widget from 'ExpressionLineEdit' to 'ExpressionTextEdit' (B0cho) - Assembly: Solver message taskbox. UI setup, App not implemented yet. (#23420) (PaddleStroke) - Gui: Show Axis Cross on top (Kacper Donat) - Gui: SoFCPlacementIndicatorKit add missing headers (Kacper Donat) - PartDesign: set the linear dragger increment based on the zoom level (captain0xff) - Gui: Add Property View delete key binding (Pieter Hijma) - PartDesign: fix draggers for chamfer with two dimensions (captain0xff) - CAM: use dict constructor for Command in VCarve (jffmichi) - Core: Record module failure information during startup (Chris Hennes) - PartDesign: Fix revolution's Toponaming support (#23342) (drwho495) - Sketcher: Disable autoscale if new constraint value is below precision (tetektoza) - BIM: Add T slot profile option (#23334) (Edgar Robles) - Update clang-tidy checks to remove avoid-do-while (Chris Hennes) - Update translations 2025-08-30 (Chris Hennes) - PartDesign: Highlight profile for profile based features (Kacper Donat) - BIM: fix self.Type regression for Wall, Stairs and Structure (#23476) (Roy-043) - Mesh: fix #18801 - simply call `gmsh` if gmsh executable path is empty (Adrian Insaurralde Avalos) - PartDesign: Enable selecting a sketch as base plane of another sketch (#23428) (PaddleStroke) - BIM: Remove wrong IfcType for Column/Beam (David Balch) - FEM: Add support for CalculiX truss elements (#23224) (FEA-eng) - FEM: Update DlgSettingsFemZ88.ui (FEA-eng) - Gui: Fix Property View copy bug (Pieter Hijma) - TD: remove unused clearLineSets() (Ladislav Michl) - TD: Fix compiler warnings (wmayer) - TD: Fix loading project files (wmayer) - TD: Fix crash on selecting 3D edge for dimension (wmayer) - PartDesign: TaskExtrudeParameters improve ui by letting line visible (PaddleStroke) - Sketcher: Fix Assertion Crash when selecting a Constraint in a group (#23491) (matthiasdanner) - [TD]fix ISOLineSpacing preference not applied (wandererfan) - FEM: Add defined temperature field with CalculiX (*TEMPERATURE) (#23277) (FEA-eng) - Mesh: Gmsh dropdown to sentence case (Roy-043) - BIM: fix trailing whitespace and refine source comment grammar (#23496) (luzpaz) - Part: remove trailing whitespace (luzpaz) - Core: Datums: Make getDirection and getBasePoint aware of LCS position (PaddleStroke) - Revert "Gui: Mark mouse move action handled to skip digging nodes" (Kacper Donat) - Assembly: Fix inconsistent positioning in distance joint validation (Mathieu GRENET) - [TD]allow finding child view outside clip rectangle (wandererfan) - Merge pull request #23192 from tetektoza/fix/22253_fix_losing_expression_during_sketcher_tools_usage (tetektoza) - Gui: Allow switch to panning after canceling sketcher rubber band selection (Bas Ruigrok) - Sketcher: Cancel rubber band selection with RMB (Bas Ruigrok) - Cleaning up xml file generation, and erroneous export annotations from interface bindings. (Ian 'z0r0' Abreu) - Sketcher: Don't show the context menu after rubber band selection (Bas Ruigrok) - Gui: Reset navigation flags when the new mode is not IDLE or when the mouse buttons are released (Bas Ruigrok) - Core: Do not clear highlight if filter rejected selection (tetektoza) - Gui: Mark mouse move action handled to skip digging nodes (Kohei Takahashi) - Quickmeasure: Make measuring holes easier (#23385) (theo-vt) - Gui: Widen the default customize dialog (#22714) (Ryan K) - Finalizing Python interface bindings for TechDraw. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for Robot, Spreadsheet, Surface. (Ian 'z0r0' Abreu) - Base: Allow all valid Python 3 identifier characters (Chris Hennes) - Sketcher: Use different colors for touch/window selection (#23261) (tetektoza) - Finalizing Python interface bindings for Import, Measure, Mesh, Points. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for Fem. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for CAM. (Ian 'z0r0' Abreu) - Finalizing Python interface bindings for assembly (Ian 'z0r0' Abreu) - PartDesign: Change preview parameter to opacity from transparency (Kacper Donat) - PartDesign: Implement preview for Booleans (Kacper Donat) - Part: Add transform property to SoPreviewShape (Kacper Donat) - [pre-commit.ci] auto fixes from pre-commit.com hooks (pre-commit-ci[bot]) - Test: Add test cases for Persistence::validateXMLString (wmayer) - App: Fix output string to XML (wmayer) - Update gui_snaps.py (Roy-043) - Part: Improve TopoShape::findPlane (wmayer) - TechDraw: remove trailing whitespace (luzpaz) - PartDesign: remove trailing whitespace Removed from src/Mod/PartDesign/App/FeatureExtrude.cpp (luzpaz) - Bump actions/dependency-review-action from 4.7.2 to 4.7.3 (dependabot[bot]) - Remove unused DAGFilter (Jiří Pinkava) - Draft: Call autogroup in make_hatch to put hatch in active group if any (#23464) (tetektoza) - Assembly: Update OndselSolver to the latest version. (Jacob Oursland) - FEM: Add tied contact with CalculiX (#23327) (FEA-eng) - Mesh: Add boost/agorithm/string.hpp to PCH (Chris Hennes) - PartDesign: add interactive gizmos (captain0xff) - Link: MaterialOverride: fix transparency inversion (PaddleStroke) - Part: Remove PartDesign header (marioalexis) - TechDraw: Change navigation cursors to SVG (Max Wilfinger) - Gui: Use BitmapFactory for generating cursors (Max Wilfinger) - Gui: Change navigation cursors to SVG (Max Wilfinger) - Fem: Update CalculiX test files (marioalexis) - Fem: Remove code duplication in MeshSetsGetter class (marioalexis) - Fem: Update body heat source element getter for CalculiX (marioalexis) - Fem: Add support for 2D geometries to Pressure constraint - fixes #12778 (marioalexis) - Fem: Add support for 2D geometries to HeatFlux constraint (marioalexis) - Fem: Add support for 2D geometries to Contact constraint - fixes #13280 (marioalexis) - Fem: Add support for 2D geometries to Tie constraint - fixes #13280 (marioalexis) - Fem: Update electrostatic element getter for CalculiX (marioalexis) - Fem: Improve meshtools.get_ccx_elements* functions (marioalexis) - Sketcher: Introduce Select All (Ctrl + A) (#23289) (tetektoza) - PD: Fix creation of pad from base feature (wwmayer) - Fix various typos Found via codespell (luzpaz) - PartDesign: Fix symmetric regression & LengthAlongSketchNormal (#23418) (PaddleStroke) - Gui: Fix reloading of themes (Kacper Donat) - Update UI strings from Crowdin reports for consistency (Max Wilfinger) - Draft: Add edge-face intersection snap (Roy-043) - Update translations (Chris Hennes) - Mesh: Change 1 missed dialog title to Title Case (#23422) (Roy-043) - Addon Manager: Sync with upstream 2025-08-27 (Chris Hennes) - Gui: Do not compute preview while restoring (Kacper Donat) - App: refactor to use unique_ptr (Chris Hennes) - Gui: Refactor to not use std::ranges (Chris Hennes) - App: Fix problems with temp dir creation (Chris Hennes) - Gui: Detect new versions and offer to migrate (Chris Hennes) - App: Add directory versioning for data and config (Chris Hennes) - App: Migrate directory handling to helper class (Chris Hennes) - Gui: Move style parameters to yaml files (Kacper Donat) - Gui: Various fixes to official themes (MisterMakerNL) - Gui: Show placement and plane in attacher (Kacper Donat) - App: Add helpers for guarding property overrides. (Kacper Donat) - Measure: Fix quick measure command (wwmayer) - Gui: Add more translations to expr dialog (Pieter Hijma) - Gui: Make expr dialog input validation themeable (Pieter Hijma) - Fem: Acquire the GIL before running Python code (marioalexis) - Fem: Fix crash when writing mesh to z88 file (wwmayer) - [ArchStructure] Fix Regression : FaceMaker (Paul Lee) - PartDesign: Update missed error message about multiple solids (#23392) (FEA-eng) - Assembly: Update Ondsel Solver to the latest (Pieter Hijma) - Gui: Add translations expression dialog VarSets (Pieter Hijma) - Gui: Process minor review comments (Pieter Hijma) - Gui: Process comments DWG expression dialog (Pieter Hijma) - Gui: Process comments DWG expression dialog (Pieter Hijma) - Gui: Process review comments expr dialog (Pieter Hijma) - Gui: Improve presenting VarSets in expr dialog (Pieter Hijma) - Gui: Stop remember state expression dialog (Pieter Hijma) - Gui: Improve layout expression dialog for varsets (Pieter Hijma) - Fem: Fix file suffixes (wwmayer) - CAM: QTableView height too small in tasks panel #22957 (#23067) (corpix) - Remove gui_utils import from make_arc_3points.py (Roy-043) - Fix autouic warnings about duplicate names in ui files (Adrian Insaurralde Avalos) - Gui: Fix crash in FileDialog::getSaveFileName (wwmayer) - PartDesign: Patterns: Tooltips. (paddle) - PartDesign: Transform rework (PaddleStroke) - Toponaming: Remove updateElementReferences call in PropertyLinkSub (#23263) (drwho495) - Sketcher: Circle DSH: move diameter constraint. Fix #22267 (#22862) (PaddleStroke) - MeshPart: "Trim by plane" -> "Trim With Plane" (#23361) (Roy-043) - Assembly: Screw Joint, fix distance name to Thread Pitch (PaddleStroke) - [Core] Fix #15558: Direct expression in ternary operator (#22938) (Frank David Martínez M) - Update ondsel solver (paddle) - Draft: Implement hints for creation tools (#23244) (Roy-043) - PartDesign: Extrude 2 sides (#21794) (PaddleStroke) - Material: Add missing include for PCH (Chris Hennes) - PartDesign: Remove message taskbox and use regular warnings instead. (paddle) - PartDesign: Remove unnecessary warning. (paddle) - PartDesign: Rename Transformed::Mode enum (paddle) - Part: Add PatternParametersWidget (paddle) - Gui: Move ComboLink from PartDesign to Gui. (paddle) - PartDesign: add linear pattern spacing and extent icons. (paddle) - Draft: fix 2 issues with Draft_SelectPlane (Roy-043) - Mesh: In ReaderOBJ replace std::atoi with std::stoi (wmayer) - Tests: Add test case for ReaderOBJ (wmayer) - Mesh: Improve OBJ mesh import (wmayer) - Draft: Support relative paths for hatch patterns (Roy-043) - Sketcher: Set total angle to make evaluation choose it when typing in OVP (#23193) (tetektoza) - Bim: Fix direction of panel waves (#23271) (Roy-043) - Replace preference page icons (MisterMakerNL) - Assembly: Move label change logic to onChange (PaddleStroke) - Part: Start listing BoundBox properties for Expression Editor (tetektoza) - Mesh: Fix crash MeshPy::setPoint & MeshPy::movePoint (wmayer) - Tools: Small improvements to translation extraction (Chris Hennes) - Simplify repr() function (xtemp09) - [ArchWindow] Clone and Link to Support Sill Change (Paul Lee) - Sketcher: Port and fix internal faces from RealThunder's branch (paddle) - Gui: Update header in about dialog before the 1.1 release (#22991) (Max Wilfinger) - Assembly: Fix untranslatable string in CommandInsertNewPart.py (#23355) (PaddleStroke) - Sketcher: fix constraint icon size (#22940) (PaddleStroke) - BIM: add interactive sun position and ray visualization to Arch Site (#22516) (Furgo) - Draft: task_orthoarray.py make some strings translatable (Roy-043) - Measure: Extend angle measurements (wmayer) - PD: Increase the tolerance to check for planar surfaces (wmayer) - Measure: Fix some linter warnings (wmayer) - Measure: Improve TaskMeasure dialog (wmayer) - Measure: Allow any surface type for MeasureArea (wmayer) - Measure: Fix TaskMeasure (wmayer) - Measure: Fix several crashes in Measurement (wmayer) - Measure: Implement quick measure as command and make it toggable (wmayer) - Measure: Fix crash in Measurement::length() when selecting infinite edge (e.g. PD datum line) (wmayer) - Fix UI strings reported on Crowdin (#23297) (Max Wilfinger) - Addon Manager: Sync with upstream 2025-08-24 (Chris Hennes) - BIM: Load QIcon for Material Editor from bytes (tetektoza) - Clean SoDatumLabel.cpp (#23217) (mosfet80) - FEM: Update write_step_output.py (FEA-eng) - Assembly: Allow editing joint references (tetektoza) - Assembly: toggle grounded: handle case of grounded joint selection. (PaddleStroke) - CMake: remove unused PYSIDE_WRAP_UI macro (Jiří Pinkava) - Sketcher: Fix construction lines becoming solid after box selection (tetektoza) - Core: Fixing missing python bindings. (#23054) (Ian Abreu) - Gui: Fix Document Recovery screen (Kacper Donat) - Assembly: Auto close on deleted doc for dialogs to avoid segfaults (tetektoza) - Bump actions/checkout from 4.2.2 to 5.0.0 (dependabot[bot]) - Part: Check for straight splines or Bezier curves (wmayer) - [TD]fix crash in vertex show/hide (wandererfan) - App: Remove build dependency to Coin3D (wmayer) - Part: Fix crash in MultiFuse::execute() (wmayer) - Gui: Hold the GIL when clearing the form attribute (wmayer) - FEM: Extract postprocessing data only if available. Fixes #22193 (#23127) (Stefan Tröger) - Sketcher: Fix constraint selection in groups (#22937) (matthiasdanner) - Gui: Change default WB list in preferences (Max Wilfinger) - [TD]Fix no delete of cosmetic in clip group (#22838) (WandererFan) - Part: Relax boolean requirements (Kacper Donat) - Fix source string mistakes reported on Crowdin (#23157) (Max Wilfinger) - Gui: Perspective camera set focal distance to rotation center depth to fix zooming at new rotation center (Bas Ruigrok) - FEM: Update writeFenicsXDMF.py (FEA-eng) - PartDesign: Prevent Hole from claiming other features as children (Kacper Donat) - Part: Fix 2D Offset of Face (Kacper Donat) - Gui: Try to load Theme Parameters from file (Kacper Donat) - Gui: Add YamlParameterSource for StyleParameters (Kacper Donat) - Base: Add moment to the internal unit schema (Ladislav Michl) - Base: Quantity: Assign work unit to all energy quantities (Ladislav Michl) - BIM: change shortcut for Arch_Space (Roy-043) - Add import init_draft_statusbar to 2 other functions (Roy-043) - Core: 2 Report View context menu items to Title Case (Roy-043) - Bring back placement argument type check (Roy-043) - Do not import the Draft module (Roy-043) - Techdraw: Undo/redo when dragging views and rework projection group drag (#22875) (theo-vt) - PartDesign: Unify deletion behavior (Kacper Donat) - PartDesign: Do not copy visuals from ShapeBinder (Kacper Donat) - PartDesign: Properly forward BaseFeature transform edit requests to Body (Kacper Donat) - CAM: Remove tool body with Job onDelete (#22924) (tarman3) - CAM: Do not show models of the toolbits in Job dialog (#22893) (tarman3) - [CAM] Roadmap epic to improve core dressups (#23259) (David Kaufman) - FEM: fix source comment typos Found via codespell (luzpaz) - Draft: more logical placement for 3 point arcs (Roy-043) - PartDesign: Fix small typo in multiple solids error (#23299) (FEA-eng) - PartDesign: Update error message about multiple solids (#23286) (FEA-eng) - [CAM] Add roadmap epic for fixing user pain points (#23253) (David Kaufman) - CAM: Roadmap epic for circular hole improvements (#23001) (sliptonic) - TechDraw: Fix frames resizing on select/hover (Ryan Kembrey) - Tests: Add unit tests for FileInfo (wmayer) - Base: Modernize FileInfo (wmayer) - Start: Add caching for performance for thumbnails on start page (#23186) (tetektoza) - Update DlgSettingsGeneral.ui (Roy-043) - Bump github/issue-metrics from 3.22.3 to 3.23.0 (dependabot[bot]) - Split Material Exceptions.h into source and header (Johannes Thyssen Tishman) - Part: Fix WireJoiner error handling (#23241) (Benjamin Nauck) - Part: Assign proper row and column to compound body property in prefs (tetektoza) - Sketcher: Revert DPI adjustment error #22941 (#23237) (PaddleStroke) - Update gui_labels.py (Roy-043) - PartDesign: Remove use of user parameters from Body constructor (marioalexis) - Sheet: Verify that UnitExpression is valid (wmayer) - Gui: Don't use this pointer after valueChanged in EditableDatumLabel (tetektoza) - Bump actions/dependency-review-action from 4.7.1 to 4.7.2 (dependabot[bot]) - Fem: Fix module import in solver CalculiX object (marioalexis) - Bump github/issue-metrics from 3.22.1 to 3.22.3 (dependabot[bot]) - [pre-commit.ci] auto fixes from pre-commit.com hooks (pre-commit-ci[bot]) - FEM: Update color bar when switching postprocessing frames. Fixes #22284 (Stefan Tröger) - FEM: Keep result pipeline and only reload data. Fixes #20542 (Stefan Tröger) - FEM: Update color bar of children when switching postprocessing frames (Stefan Tröger) - Fix segfault where DatumLine does not have a refSubSHape (Valentin Rusu) - FEM: Update commands.py (FEA-eng) - TechDraw: Fix tooltip in Gui/CommandAnnotate.cpp Typo fix (luzpaz) - Update CommandBody.cpp (Roy-043) - Addon Manager: Sync with upstream 2025-08-18 (Chris Hennes) - Part: Fix wrong capitalization of Display options property group (Kacper Donat) - Toponaming: Update element references of PropertyLinks everytime the program needs to access the values (#22785) (drwho495) - Bump prefix-dev/setup-pixi from 0.8.14 to 0.9.0 (dependabot[bot]) - Sketcher: Coinmanager: remove dpi (#22941) (PaddleStroke) - Update translations (Chris Hennes) - Draft: fix handling of MouseDelay (improved) (#23011) (Roy-043) - TechDraw: add transactions to multiple commands (#22795) (theo-vt) - App: Remove use of dangerous localtime() function (Chris Hennes) - CI: Try to gain more disk space for the CodeQL run (Chris Hennes) - TechDraw: Fix balloon annotation unlinked after undo-redo (#22805) (theo-vt) - [Meas]Fix visibility at load (#23145) (WandererFan) - FEM: Fix post processing branch working with data extraction. Fixes #23030 (Stefan Tröger) - FEM: Amplitude support for rigid body constraint (#22898) (FEA-eng) - Fem: Add option to create conformal mesh from Netgen (marioalexis) - Fem: Create CalculiX output from .dat file - fixes #22983 (marioalexis) - Fem: Set Elmer equation priority based on the order of definition - fixes #21351 (marioalexis) - FEM: Add support for CalculiX membrane elements (#22912) (FEA-eng) - Mesh: Revert Triangle menu text to Add Triangle (#23168) (Roy-043) - Part: Fix toponaming issues. (#23151) (drwho495) - PartDesign: Enable compounds for PD bodies (Max Wilfinger) - Sketcher: fix cropping of some icons on hidpi screens (captain0xff) - PartDesign: Use sketch as neutral plane for Draft (continuation of 20135) (#21901) (Benjamin Nauck) - OpenSCAD: make openscadexecutable path resolution more consistent (Dmitry Moskowski) - GUI: start cleaning up Parameter Editor Begins to address a few issues brought up in #17351 (luzpaz) - OpenSCAD: tweak tooltips (#23159) (Roy-043) - FEM: Purge tool deletes all result objects. Fixes #23028 (Stefan Tröger) - Addon Manager: Fix macro icon encoding bug (Chris Hennes) - Part: Prevent crash on cross-section of invalid object (Kacper Donat) - Bump korthout/backport-action from 3.2.1 to 3.3.0 (dependabot[bot]) - PartDesign: Hole: fallback to getProfileNormal when a non-cylindrical surface is used (theo-vt) - Bump github/issue-metrics from 3.22.0 to 3.22.1 (dependabot[bot]) - remove edit value option from non dimensional constraints (Matthias Danner) - PartDesign: Hole use the default PartDesign context menu items (theo-vt) - Addon Manager: Sync with upstream (Chris Hennes) - Points: Replace defines with constexpr (wmayer) - Points: Optimize translation of imported points (wmayer) - Points: Add method PointKernel::moveGeometry (wmayer) - Gui: Add helper function Command::getActiveDocument() to get active App document (wmayer) - Revert "Materials: Check if m_uuid is empty before adding to recents" (Johannes Thyssen Tishman) - [Feature Request] [Draft] [UI/UX] Allow to turn dimension arrows on/off individually (#11941) (Vincenzo Calligaro) - Gui: Add GuiExport to SoToggleSwitch (Kacper Donat) - Addon Manager: Sync with upstream (Chris Hennes) - [TD]fix weld symbol not attached to leader (wandererfan) - Sketcher: Fix dimension extension overshoot length (Kacper Donat) - PartDesign: Use Style Parameters for theming previews (Kacper Donat) - Gui: Add ParameterDefinition to Style Parameters (Kacper Donat) - Gui: Make StyleParameterManager::resolve return optional result (Kacper Donat) - Gui: Rename StyleParameters::Length to StyleParameters::Numeric (Kacper Donat) - Gui: StyleParameters - use Base::Color instead of QColor (Kacper Donat) - Base: Allow constexpr Color (Kacper Donat) - Fix various typos (luzpaz) - Change links to weekly releases (Max Wilfinger) - Fem: Fix VTK check version (marioalexis) - PartDesign: Implement preview for Draft (Kacper Donat) - Start: Fix bug causing to show in wb selector (Benjamin Nauck) - [pre-commit.ci] pre-commit autoupdate (pre-commit-ci[bot]) - Core: Add setting to hide the TaskWatcher (#22857) (theo-vt) - Sketcher: Move root point to a SoSkipBoundingGroup (#22874) (PaddleStroke) - Gui: Restore proper object names for panels (Kacper Donat) - [TD]fix editable fields click handles (wandererfan) - TechDraw: Rework view frames (#22869) (Ryan K) - CAM: Fix seach tool controller in Operations group (#22728) (tarman3) - Toponaming: Fix bad element map in Part Design Bodies (#22767) (drwho495) - Core: Fit all : Do not process SoSkipBoundingGroup (PaddleStroke) - [TD]Ensure changed expression value is processed (wandererfan) - CAM: Fix bug with loop completion (#22877) (sliptonic) - Add deduction guide for `Base::Overloads` (Andrés Barreiro) - Measure: give a hint to ::getShape so that compound shapes may be resolved (theo-vt) - Draft: toolbar names to title case (Roy-043) - Update TaskSectionView.ui (FC-FBXL5) - Sketcher: Refactor TaskSketcherMessages to move most of the logic into Core to be reused by Assembly (paddle) - Sketcher: Rename "Solver messages" to "Sketch edit". Add setting button to the solver message box. In which there're grid, snap and ordering widgets. (paddle) - Draft: update WP Proxy string for consistency (#23012) (Roy-043) - Gui: Add support for renaming properties (Pieter Hijma) - Fem: Fix VTK submodule import (marioalexis) - Fix crash on set constraints to virtual space Reverting fix for show only filtered constraints (Matthias Danner) - Creating a roadmap for CAM development (#22591) (sliptonic) - Bump actions/cache from 4.2.3 to 4.2.4 (dependabot[bot]) - Improve wording and grammar in README introduction (Sunless) - Py3.13: Update PyCXX to version 7.1.11 (wmayer) - Core: Add logic for updating exprs on prop rename (Pieter Hijma) - App: Fix ExtensionPython macro (marioalexis) - Core: Add test for a prop rename with expression (Pieter Hijma) - [Gui] add carriage return to warnings (Syres916) - Sketcher: Add missing finishEditing() for points (Bas Ruigrok) - Bump actions/download-artifact from 4.3.0 to 5.0.0 (dependabot[bot]) - Fix missed strings for UI consistency Fix ellipsis rendering (Max Wilfinger) - FEM: Update FemConstraintDisplacement.cpp (FEA-eng) - Update sub_weeklyBuild.yml (Max Wilfinger) - CI: add debug entitlement to macOS weekly builds. (Jacob Oursland) - CI: ccache configuration tweaks. (Jacob Oursland) - CMake: add FREECAD_3DCONNEXION_SUPPORT to CMakePresets.json (Jacob Oursland) - Core: Fix 'Expression' and 'Vector' editor outhanging the screen (#22426) (Krzysztof) - Gui: Fix null check issue in navlib (Benjamin Nauck) - Gui: Fix crash with navlib (Max Wilfinger) - Part: Cleanup setupCoinGeometry method (Kacper Donat) - PartDesign: disable final model while selecting on dressups (fillet/chamfer) (Alfredo Monclus) - Gui: refactor: change Preview button label to Confirm Selection (Alfredo Monclus) - PartDesign: Add preview TaskBox to all feature task dialogs (Kacper Donat) - PartDesign: Add support for preview for transforms (Kacper Donat) - PartDesign: Add transparent previews (Kacper Donat) - PartDesign: Return to previous feature after edit (Kacper Donat) - Draft: Update UI strings for consistency (#22331) (Max Wilfinger) - Gui: Fix about image path (Ladislav Michl) - TechDraw: Fix default toolbar cosmetic circle name (Ryan Kembrey) - TechDraw: Fix cosmetic circle menu (Ryan Kembrey) - TechDraw: Clarify and group cosmetic circle commands (Ryan Kembrey) - Start: Walks the parent tree to close the tab (#22572) (Carlos Nihelton) - Gui: Add about image for dev version (qewer33) - Fix drawing of angle constraints beyond the centerpoint and for negative angles (Matthias Danner) - Draft: project point in split operation and copy original wire (#22452) (Roy-043) - PartDesign: Fix regression in mirror (Ryan Kembrey) - [Core] Add Boolean Functions to expressions (AND, OR, NOT) (#22506) (Frank David Martínez M) - TechDraw: Update UI strings for consistency (Ryan Kembrey) - PartDesign: Update UI strings for consistency and correct for new fuctions and typos (Max Wilfinger) - Material: Update UI strings for consistency (Max Wilfinger) - Part: Update UI strings for consistency (Max Wilfinger) - Gui: Update UI strings for consistency (Max Wilfinger) - Assembly: Update UI strings for consistency (Ryan Kembrey) - BIM: Update UI string for consistency (Ryan Kembrey) - CAM: Update UI strings for consistency (Ryan Kembrey) - Help: Update UI strings for consistency (Ryan Kembrey) - Test: Update UI strings for consistency (Ryan Kembrey) - Measure: Update UI strings for consistency (Ryan Kembrey) - MeshPart: Update UI strings for consistency (Ryan Kembrey) - Sketcher: Fix UI strings (Max Wilfinger) - DAGView: Update UI strings for consistency (Max Wilfinger) - Contributing: Clarify use of Draft and On hold (Chris Hennes) - Gui: Remove toggleskiprecomputes todos (Benjamin Nauck) - Fix various typos (#22836) (luzpaz) - CI: add more codespellignore words (Luz Paz) - Draft: fix size of file button in Hatch task panel (Roy-043) - Base: Clean up ParameterManager::LoadDocument (Chris Hennes) - Draft: fix display of cross-shaped cursor (Roy-043) - BIM: ArchPanel: FontFile parameter name has changed (Roy-043) - CAM: revert grbl_post regression (#22569) (J-Dunn) - Try to auto-fix any invalid generated helix (Florian Foinant-Willig) - Tests: Add tests for timestamp-based backups (Chris Hennes) - [TD]more stringent test for bsplines as circles (wandererfan) - Core: Generation of FEM interface bindings (#22581) (Ian Abreu) - Part: Remove redundant Part Import and Export tools from the menu (#22116) (FEA-eng) - Core: Generation of python bindings for Techdraw (#22565) (Ian Abreu) - Core: Generation of python bindings for Assembly (#22574) (Ian Abreu) - Core: Fix func expression simplify (Pieter Hijma) - Core: Add tests for expression simplify and eval (Pieter Hijma) - CI: ccache fix (#22899) (Jackson Oursland) - Tests: Add test for two face loft (Syres916) - PD: Fix loft between curved faces (Ladislav Michl) - Core: Set ::Remove flag before calling breakLinks (#22759) (theo-vt) - Sketcher: Make ArcLength constraint more interactable (tetektoza) - Sketcher: Make symmetric constraint more interactable (tetektoza) - Sketcher: Make angle constraint more interactable (tetektoza) - Sketcher: Make radius/diameter constraint more interactable (tetektoza) - Sketcher: Make distance constraint more interactable (tetektoza) - Part: Enable SwitchToTask as a preference (#22136) (tetektoza) - [Spreadsheet] Add icons to the context menu (#22773) (xtemp09) - Stylesheet: Update QComboBox and QListView styles for varset dialog (#22861) (MisterMaker) - CI: formatting GitHub CI workflows. (Jacob Oursland) - CI: address actions/cache warning and always upload cache. (Jacob Oursland) - FEM: Add support for amplitudes with CalculiX (#22851) (FEA-eng) - FEM: Add support for references for CalculiX's initial temperature (#22864) (FEA-eng) - Core: Support enum editor in VarSet dialog (Pieter Hijma) - Assembly: Fix https://github.com/FreeCAD/FreeCAD/issues/22815 (PaddleStroke) - Sketcher: Fix external geometry out-of-bounds vector access (#22181) (Johannes Wüller) - Bump prefix-dev/setup-pixi from 0.8.12 to 0.8.14 (dependabot[bot]) - CI: use OpenBLAS on macOS weekly builds. (Jacob Oursland) - CI: recursively fixup RPATHs on macOS. (Jacob Oursland) - AssemblyGui: CmakeLists typo (PaddleStroke) - App: Fix XML namespace issue in Branding (Chris Hennes) - Assembly: Replace "Activated" property by the core "Suppressed" mecha… (#22409) (PaddleStroke) - [TD]light changes for style and clarity (wandererfan) - [TD]fix BrokenView does not handle shells (wandererfan) - [TD]prevent detail object deletion during task dialog (wandererfan) - Draft: show dotted lineTracker in Trimex extrude mode (#22509) (Roy-043) - Draft: fix handling of MouseDelay (Roy-043) - Update default sun path diagram scale (Furgo) - fixing unnecessary list import (Ian 'z0r0' Abreu) - BIM: fix profile rotation of elbow pipe connector (Roy-043) - Gui: Fix #12199 missing font family Courier on MacOS (Lee Matos) - Sketcher: Change the style of the curves in creation to match the construction/defining flag (#22407) (theo-vt) - PartDesign: Hole: get direction from cylindrical surface rather than normal (#22393) (theo-vt) - Gui: add 'Select group contents' context menu item (#22082) (Furgo) - Assembly: Task Watcher. (paddle) - Assembly: Add 'Activate assembly' command. (paddle) - Core: TaskView: add updateWatcher when an object is set in edit. And add a timer when active document changes. (paddle) - Draft: Enable Draft Edit for Draft Labels (#13445) (alafr) - TaskView: Add 'Permanent task box' framework. (#22750) (PaddleStroke) - Assembly: Use icon overlay for unconnected joints instead of annoying warning. (#22662) (PaddleStroke) - Part: Add error handling to TopoShape::isLinearEdge (Chris Hennes) - Assembly: utils: tiny fix (PaddleStroke) - Sketcher: Clean up some old commented out code (Chris Hennes) - CI: fix macOS on x86_64 weekly builds (Jacob Oursland) - Gui: Allow expressions in the VarSet dialog (#22719) (Pieter Hijma) - Sketcher: Fix increment of parabola constraint tag (Chris Hennes) - Stylesheets: Fix missing arrows (Kacper Donat) - Fix various source comment typos Found via codespell (Luz Paz) - Sketcher: Extract "processFace" function (Chris Hennes) - Sketcher: Resolve "Declaration hides variable" (Chris Hennes) - Sketcher: Resolve "Type confusion" CodeQL critical warning (Chris Hennes) - Sketcher: Display arc angle and length constraints beyond center point (#22651) (matthiasdanner) - CI: set minimum macOS SDK to 10.13. (Jacob Oursland) - Change Py::Int to Py::Long (theo-vt) - GUI: Switch DAGModel to use qreal instead of float (Chris Hennes) - App: Update setContent call for Qt 6.8 (Chris Hennes) - Assembly: Fix infinite loop with subassembly. Fix #19319 (#22685) (PaddleStroke) - Base: Disable default entity resolution (Chris Hennes) - [Gui] Property Editor allow double-click of separators (Syres916) - Assembly: Fix insert sub-assemblies positioning issues (#22677) (PaddleStroke) - Assembly: Fix flexible sub-assemblies cannot be deleted (#19100) (PaddleStroke) - Weekly build fixes (#22699) (Jackson Oursland) - Assembly: Simulation active only if proper joint available (#22711) (PaddleStroke) - Assembly: Insert tool : fix error when removing object (PaddleStroke) - [Sketcher] Ensure All Reference Constraints are Read Only in the Property Editor (Syres916) - BIM: hide base of railings (Roy-043) - CMake: remove unused FREECAD_USE_OCC_VARIANT. (Jacob Oursland) - Gui: Replace use of traceback with sys._getframe() (Chris Hennes) - Tests: Save/restore Materials user prefs (Chris Hennes) - Tests: Ensure tests use a fixture that inits app (Chris Hennes) - CI: pin weekly build to compilers 1.10 to avoid libc++ 19 issue. (Jacob Oursland) - pixi: pin compilers to 1.10 to avoid libcxx 19 compile failures. (Jacob Oursland) - codespell: add 'DocumentIn' to list PR replaces #22667 (luzpaz) - CAM: Add missing initializers (Chris Hennes) - Assembly: VPAssemblyLink: remove warning leftover (PaddleStroke) - Assembly: Fix flexible subassemblies have no transform gizmo when selected (#22670) (PaddleStroke) - Add "Clear Recent files list" item (#22638) (xtemp09) - Part: Feature Offset2D fix #22563 (tomate44) - Core: Generation of Mesh interface bindings (#22623) (Ian Abreu) - Core: Generation of Spreadsheet interface bindings (#22624) (Ian Abreu) - CI: add backport workflow to aid in backporting. (Jacob Oursland) - Gui: Add header to InputHint.h (Fixes #22654) (luzpaz) - TD: Remove incorrect allocation failure handler (Chris Hennes) - PartDesign: Add migration tag (Pieter Hijma) - CI: Remove 3rd party and generated code from CodeQL analysis (Chris Hennes) - TD: Switch to non-buffer-based format string interpretation (Chris Hennes) - Base: Add missing header to PCH (Chris Hennes) - TD: Fix multiplication result converted to larger type (Chris Hennes) - Sketcher: Fix multiplication result converted to larger type (Chris Hennes) - Reverse Engineering: Fix multiplication result converted to larger type (Chris Hennes) - Part: Fix multiplication result converted to larger type (Chris Hennes) - MeshPart: Fix multiplication result converted to larger type (Chris Hennes) - Mesh: Fix multiplication result converted to larger type (Chris Hennes) - Inspection: Fix multiplication result converted to larger type (Chris Hennes) - FEM: Fix multiplication result converted to larger type (Chris Hennes) - CAM: Fix multiplication result converted to larger type (Chris Hennes) - Gui: Fix multiplication result converted to larger type (Chris Hennes) - CAM: Fix the format spec used with size_t (Chris Hennes) - Assembly: Fix unconnected Joints always touched (PaddleStroke) - Draft: fix hang on snapping to large point cloud (Roy-043) - Sketcher: Add tests for ensuring accessing works for both old and new api (Benjamin Nauck) - Fix https://github.com/FreeCAD/FreeCAD/issues/21936 (PaddleStroke) - Sketcher: Add support for more than 3 points (Benjamin Nauck) - Sketcher: Initialize constraint members in class declaration (Benjamin Nauck) - [Points] Add e57 to import file extensions (Syres916) - BIM: Prevent opening several Layer Managers - issue #17983 (Yorik van Havre) - BIM: Hide stairs base object on creation - Fixes #22436 (Yorik van Havre) - Sketcher: fix for issue 12925 (wmayer) - BIM: BimBox: improve length, width and height inputs (Roy-043) - FEM: Add cavity radiation with CalculiX (#22593) (FEA-eng) - Gui: clean up and fix active window handling (jffmichi) - Gui: use correct cast with getActiveView (jffmichi) - Gui: simplify and fix setCurrentViewMode (jffmichi) - TechDraw: fix dock/undock/fullscreen for TechDraw view (jffmichi) - Gui: enable dock/undock/fullscreen for all MDI widgets (jffmichi) - Base: Switch from toTimeSpec to toTimeZone for Qt 6.9 compatibility (Chris Hennes) - Gui: Fix compiler warnings (Chris Hennes) - Sketcher: Dimension: Offset the label when moving mouse (#22387) (PaddleStroke) - Sketcher: Add second arc helper on diameter constraint (#22579) (matthiasdanner) - fixing imports (Ian 'z0r0' Abreu) - Removal of comments. (Ian 'z0r0' Abreu) - Tests: Add tests for 'Standard' backup policy (#22566) (Chris Hennes) - Sketcher: Fix random gray icon (#22502) (PaddleStroke) - [Stylesheet] Update dark theme tree color and tab bar background (#22596) (MisterMaker) - Include PNG files in images_classic source group (MisterMakerNL) - CMake: Move creation of qt.conf (Chris Hennes) - CMake: Explictly add QtOpenGLWidgets (Chris Hennes) - Part: Align to selection - implement for 1 non-planar face selection (#22365) (Max Wilfinger) - Sketcher: Declare tr function for DrawSketchHandler (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerBSpline (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerTranslate (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerSlot (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerScale (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerRotate (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerRectangle (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerPolygon (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerLineSet (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerLine (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerFillet (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerExtend (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerEllipse (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerCircle (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerBSpline (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerArcSlot (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerArcOfParabola (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerArcOfHyperbola (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerArcOfEllipse (Kacper Donat) - Sketcher: Use generic tool hints table for DrawSketchHandlerArc (Kacper Donat) - Gui: Add standardized HintsTable for InputHints (Kacper Donat) - removing List, Dict typing refs. (Ian 'z0r0' Abreu) - initial commit (Ian 'z0r0' Abreu) - Sketcher: Improve constraint transfer in `SketchObject::trim()` (Ajinkya Dahale) - Sketcher: Skip checks in `deriveConstraintsForPieces` when risky (Ajinkya Dahale) - Assembly: Fix error message flexible assembly #22561 (PaddleStroke) - Remove unnecessary “using std::numbers::pi” (mosfet80) - Remove boost::filesystem includes (Chris Hennes) - Import: Fix export crash when hidden object in Part. (#14567) (PaddleStroke) - Sketcher: Only autoscale if the datum being edited is the scale defining datum (#22419) (theo-vt) - PD: Fix crash in Loft::getSectionShape (wmayer) - FEM: Add hard contact with CalculiX (#22513) (FEA-eng) - CI: Update weekly build dependencies for VFX Reference Platform. (Jacob Oursland) - Bump github/issue-metrics from 3.21.0 to 3.22.0 (dependabot[bot]) - Bump prefix-dev/setup-pixi from 0.8.11 to 0.8.12 (dependabot[bot]) - Assembly: Fix crash 20614 (#22538) (PaddleStroke) - remove unnecessary std::numbers::pi; (Mos) - Sketcher: manage legacy negative circle-line distance (#22203) (Florian Foinant-Willig) - Attacher: Orient normals correctly for Midpoint (Kacper Donat) - Assembly: Fixes bug for origins in Sub-`AssemblyLink` (#22415) (Tayler Miller) - Sketcher: Fix Constraint Filter Handling (#22072) (matthiasdanner) - Sketcher: Fix #13927 (#22427) (PaddleStroke) - Gui: NaviCube recreate frame buffer if invalid (#22454) (Bas Ruigrok) - Bump step-security/harden-runner from 2.12.2 to 2.13.0 (dependabot[bot]) - [pre-commit.ci] pre-commit autoupdate (pre-commit-ci[bot]) - Gui: Fix missing PCH include (Chris Hennes) - CAM: remove redundant move after drilling (jffmichi) - Core: Remember export information on a per document basis (#22067) (theo-vt) - CORE: Tree context menu upgraded with 'Std_ToggleSkipRecompute' (B0cho) - CORE: 'Std_ToggleSkipRecompute' implemented, no icon (B0cho) - Bump prefix-dev/setup-pixi from 0.8.10 to 0.8.11 (dependabot[bot]) - Update Addon Manager submodule (Chris Hennes) - Add custom template path support for WebGL export (#21695) (Ilya Baidakov) - Sketcher: add ConstraintLineByAngle helper. (#22273) (PaddleStroke) - Adding PNG back for now (MisterMakerNL) - Stylesheets: Fix file chooser buttons not displaying dots (Kacper Donat) - Stylesheets: Fix jumping entries on Windows (Kacper Donat) - Stylesheets: Fix property editor headers (Kacper Donat) - Stylesheets: Fix empty line between header and content in QSInt (Kacper Donat) - Stylesheets: Properly utilize AccentColor (Kacper Donat) - Gui: Add blend function to style parameters (Kacper Donat) - Build: Fix built-in copying PreferencePacks (Kacper Donat) - Stylesheets: Unify border on ScrollBars (Kacper Donat) - Stylesheets: Remove QTabBar color inconsistencies (Kacper Donat) - Stylesheets: Remove padding and marign resets. (Kacper Donat) - Gui: Rename FreeCAD_stylesheet.qss into FreeCAD.qss (Kacper Donat) - Measure: Use string based addObject as workaround as type is an alias (#22462) (Syres916) - Use correct flag (theo-vt) - update addonManager (mosFet) - FEM: Add offset property for CalculiX's shell section (#22385) (FEA-eng) - Bump github/codeql-action from 3.29.1 to 3.29.2 (dependabot[bot]) - FEM: Add thermal contact with CalculiX (#22121) (FEA-eng) - [TD]Revert property type changes (wandererfan) - Sketcher: clean planegcs/Geo (#22378) (Florian Foinant-Willig) - Gui: Increase orthographicFocalDistance to get more near and far distance slack (Bas Ruigrok) - [TechDraw] Improve TaskFillTemplate tool (#22400) (Syres916) - Sketcher: assign the old geometries' GeometryId[s] to new geometries after scaling (#22263) (theo-vt) - Allow open wires in Part::getProfileNormal (theo-vt) - [ArchWindow] subVolume Support Multi-Material (bug fix) (#22279) (paul) - [TechDraw] fix regression from PR19502 (Syres916) - BIM: fix Height and Width inversion for rectangular pipes (Roy-043) - [ArchWindowPresets] Further Fix Sill Change (Paul Lee) - Remove debug print statement (Furgo) - Import: DXF, fix CodeQL errors (Furgo) - Import: DXF, make straight polylines Draft-editable (Furgo) - Import: DXF, correctly transfer Draft.Line points to make them editable (Furgo) - Import: DXF, fix typo in individual shapes import mode (Furgo) - Import: DXF, add suggestions and improve UI copy. (Furgo) - Import: DXF, deduplicate Part primitives creation (Furgo) - Import: DXF, first working version of dimensions import (Furgo) - Import: DXF, make ellipses parametric (Furgo) - Import: DXF, first working version of Draft objects import (Furgo) - Import: DXF, first working version for import as Part primitives (Furgo) - Import: DXF, add dedicated import dialog (Furgo) - Gui: add WaitCursor API (Furgo) - Import: DXF importer, refactor preferences UI (Furgo) - Pixi: update pixi.lock. (Jacob Oursland) - Pixi: update pixi.toml with required pixi version. (Jacob Oursland) - [TD]ComplexSection fixes (wandererfan) - [TD]property type changes (wandererfan) - Import: improve DXF C++ importer support for BLOCK and INSERT entities (#22045) (Furgo) - Draft: 1st downgrade of lofts and sweep should be de-parametrization (Roy-043) - BIM: store Classification prefix setting (Roy-043) - Gui: Implement style parameters for built-in themes (#20528) (MisterMaker) - Fix crash on out-of-bound vector access (#22397) (Fermín Olaiz) - CAM: silence unnecessary log for preferences change when no change was actually made (Samuel Abels) - CAM: Adaptive: Fix NULL input shapes when top of stock equals top of model (fix #22073) (Dan Taylor) - Update Help menu. Remove outdated links; add Developers handbook (#22283) (Max Wilfinger) - CAM: fix: CAM tests use files from user asset dir (Samuel Abels) - BIM: fix autojoin behavior (#22303) (Roy-043) - Gui: move geometry data to separate classes from dragger components (captain0xff) - Gui: add SoToggleSwitch class (captain0xff) - CAM: Vcarve fix (tarman3) - [pre-commit.ci] pre-commit autoupdate (pre-commit-ci[bot]) - Sketcher: Add tooltip for autoscale feature (#22252) (FEA-eng) - build and install debug build explicitly (Zbyněk Winkler) - update python debugger type to debugpy (Zbyněk Winkler) - Improve compatibility with VSCode (Zbyněk Winkler) - remove conda dir since we have pixi (Zbyněk Winkler) - FEM: Update ElementGeometry1D.ui (#22134) (FEA-eng) - Bump step-security/harden-runner from 2.12.1 to 2.12.2 (dependabot[bot]) - Part: Enable solid creation by default for Loft and Sweep (#22098) (FEA-eng) - Draft: gui_utils.py minor improvement for autogroup (Roy-043) - Draft: make_sketch.py should not use view direction (#22249) (Roy-043) - BIM: Add an option to preload IFC types during document opening (#21450) (tetektoza) - Copy subvolume before changing its Placement (Zbyněk Winkler) - BIM: check OutListRecursive in addComponents (Roy-043) - BIM: improve Arch_MergeWalls (#22262) (Roy-043) - BIM: fix visibility handling of objects hosted by additions (Roy-043) - BIM: fix handling of Project coin nodes (#22244) (Roy-043) - [BIM] Stop combobox sizeAdjustPolicy warning (Syres916) - BIM: fix profile selection (#22223) (Roy-043) - BIM: fix Arch_SectionPlane 'Toggle Cutview' issue (Roy-043) - Sandbox: Update UI strings for consistency (Ryan Kembrey) - BIM: fix default radius for rectangular pipe connector (Roy-043) - Sketcher: Update missed UI strings (#22363) (Max Wilfinger) - Sketcher: Autoscale: do not scale dimension's position if it is a radius or diameter (#22308) (theo-vt) - Gui: Fix too small link icon on high dpi (#22359) (Kacper Donat) - Gui: Add ThemeTokenManager class to contain theme parameters (Kacper Donat) - fixing typos (Ian Abreu) - adding sanity fix (Ian Abreu) - Adding simple check (Ian Abreu) - [TechDraw] Fix Qt6 compatability of FillTemplateFields tool (Syres916) - Update DraftGui.py (Roy-043) - CAM: Fix origin indicator for Job (Kacper Donat) - Fix various typos Found via codespell (Luz Paz) - correcting to use Tool vs. ToolController (Ian Abreu) - initial fix (Ian Abreu) - pixi: Update pixi.lock. (Jacob Oursland) - pixi: Add freecad-stubs for python autocompletion. (Jacob Oursland) - pixi: Pin occt to 7.8 due to bugs in 7.9.0. (Jacob Oursland) - pixi: Pin versions for compatibility with VFX Reference Platform. (Jacob Oursland) - Materials: Add import for unimplemented fields (David Carter) - [pre-commit.ci] auto fixes from pre-commit.com hooks (pre-commit-ci[bot]) - FEM: Update Command.cpp (FEA-eng) - FEM: Update commands.py (FEA-eng) - FEM: Update TaskPostFrames.ui (FEA-eng) - Core: Update DlgSettingsLightSources.ui (FEA-eng) - Core: Fix property rename test (Pieter Hijma) - Materials: Add support for embedded images (David Carter) - FEM: Update Command.cpp (FEA-eng) - Gui: refactor SoRotationDragger (captain0xff) - CAM: Changes in warnings of old Array (tarman3) - Sketcher: Update UI strings for consistency (#22167) (Max Wilfinger) - CAM: Fix: rename vbit and threadmill back to v-bit and thread-mill to avoid backward compatibility issues (Samuel Abels) - CAM: Fix: shape parameters coming from the attributes section in the fctb file were not normalized (Samuel Abels) - remove unused import of PartGui (Samuel Abels) - Avoid triggering circular imports by using traceback instead of inspect (Samuel Abels) - CAM: Fix: Tool editor ignored shape attributes if they were not in the Shape group. Now it reads all except Base (Samuel Abels) - CAM: make ToolBitShape more robust against invalidly typed parameters in toolbit files (e.g. Flutes with string value) (Samuel Abels) - CAM: Fix: Remove invalid normalization of shape name (Samuel Abels) - Inform Coin to use EGL when on Wayland (#21917) (Bas Ruigrok) - BIM: fix setting of self.Type (Roy-043) - Draft: fix setting of self.Type (Roy-043) - TechDraw: ActiveView rework (#22107) (Ryan K) - codespell: add 3 false positives to ignore list Added `InvertIn, LeadIn, linez` ref: https://github.com/FreeCAD/FreeCAD/pull/22137/files (Luz Paz) - Remove unused deprecated functions (Andrea) - [pre-commit.ci] auto fixes from pre-commit.com hooks (pre-commit-ci[bot]) - Update src/Mod/Fem/femtaskpanels/task_constraint_centrif.py (Max Wilfinger) - Update src/Mod/Fem/femtaskpanels/task_constraint_centrif.py (Max Wilfinger) - Update src/Mod/Fem/femcommands/commands.py (Max Wilfinger) - Update src/Mod/Fem/Gui/DlgSettingsFemCcx.ui (Max Wilfinger) - Update src/Mod/Fem/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Fem/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Fem/App/AppFem.cpp (Max Wilfinger) - FEM: Update UI strings for consistency (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Workbench.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Workbench.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Workbench.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Workbench.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Workbench.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Spreadsheet/Gui/Workbench.cpp (Max Wilfinger) - Spreadsheet: Update UI strings for consistency (Max Wilfinger) - Update src/Mod/Robot/Gui/Command.cpp (Max Wilfinger) - [pre-commit.ci] auto fixes from pre-commit.com hooks (pre-commit-ci[bot]) - Update src/Mod/Robot/Gui/TaskTrajectoryDressUpParameter.ui (Max Wilfinger) - Update src/Mod/Robot/Gui/CommandTrajectory.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/CommandTrajectory.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/CommandTrajectory.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/CommandTrajectory.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/CommandInsertRobot.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/CommandInsertRobot.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/CommandInsertRobot.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Robot/Gui/Command.cpp (Max Wilfinger) - Robot: Update UI strings for consistency (Max Wilfinger) - Update src/Mod/Surface/Gui/TaskSections.ui (Max Wilfinger) - Update src/Mod/Surface/Gui/TaskFillingEdge.ui (Max Wilfinger) - Update src/Mod/Surface/Gui/TaskFillingVertex.ui (Max Wilfinger) - Update src/Mod/Surface/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Surface/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Surface/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Surface/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Surface/App/FeatureFilling.cpp (Max Wilfinger) - Update src/Mod/Surface/App/FeatureFilling.cpp (Max Wilfinger) - Surface: Update UI strings for consistency (Max Wilfinger) - Update src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp (Max Wilfinger) - Update src/Mod/ReverseEngineering/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/ReverseEngineering/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/ReverseEngineering/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp (Max Wilfinger) - ReverseEngineering: Update UI strings for consistency (Max Wilfinger) - Update src/Mod/Mesh/Gui/DlgSettingsMeshView.ui (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/App/MeshPy.xml (Max Wilfinger) - Update src/Mod/Mesh/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Mesh/App/MeshPy.xml (Max Wilfinger) - Update src/Mod/Mesh/App/AppMeshPy.cpp (Max Wilfinger) - Mesh: Update UI strings for consistency (Max Wilfinger) - Update src/Mod/Points/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Points/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Points/Gui/Command.cpp (Max Wilfinger) - Update src/Mod/Points/Gui/Command.cpp (Max Wilfinger) - Points: Update UI strings for consistency (Max Wilfinger) - Inspection: Update UI strings for consistency (Max Wilfinger) - Sketcher: fix Esc can leave setting synchronization (Karliss) - CAM: gracefully handle tool numbers that are strings in the tool library JSON (Samuel Abels) - CAM: Fix: ToolBitShapeCustom properties not editable if they had no type specified in the schema (Samuel Abels) - Contributing: Add requirement to clearly mark ownership for cherry-picked PRs (#22001) (Kacper Donat) - Start: Update UI strings for consistency (Max Wilfinger) - Use vtkUnstructuredGrid::GetLinks instead of vtkUnstructuredGrid::GetCellLinks for VTK >= 9.3 (Jakub Klinkovský) - OpenSCAD: Update UI strings for consistency (Max Wilfinger) - CAM: fix toolbit editor shape resolution for high DPI displays (Samuel Abels) - CAM: reduce default size of toolbit editor dialog (Samuel Abels) - CAM: Fix: Tools without icon now display the thumbnail from the FCStd file (Samuel Abels) - CAM: Fix: Chipload is not written to fctb file (Samuel Abels) - CAM: store tool quantities in user units, not metric (Samuel Abels) - Apply suggestions from code review (Chris Hennes) - FEM: Fix data extraction checkbox typo (#22225) (FEA-eng) - Clean EditableDatumLabel.cpp (mosfet80) - Gui: Selectively disable MSVC 4251 warning (Chris Hennes) - CAM: Fix: custom shape attributes not showing in toolbit editor (Samuel Abels) - FEM: Fix missing VTK headers in PreCompiled.h (Chris Hennes) - Bump github/codeql-action from 3.29.0 to 3.29.1 (dependabot[bot]) - [BIM][Draft] QCheckBox fix regressions introduced by PR #21939 (#22199) (Syres916) - Draft: Remove redundant QGroupBoxes from some of the array panels (#21980) (tetektoza) - Gui: Use no_except=true for getExtensionByType in ViewProviderDragger (Kacper Donat) - Import: DXF reporter, add unsupported indicator (Furgo) - Import: DXF reporter, add filename to report (Furgo) - Import: DXF parser, correctly pass line no. and handle (Furgo) - Import: DXF backend/frontend, report more unsupported features info (Furgo) - Import: DXF parser, fix macOS linker issue (Furgo) - Import: DXF parser, remove original unsupported features count and warning (Furgo) - Import: DXF importer, add code comments to C++ to Python stats passing function (Furgo) - Import: DXF parser, add entities in paperspace count (Furgo) - Import: DXF parser, add DXF block count (Furgo) - Import: DXF backend, frontent; add time measurement (Furgo) - Import: DXF frontend, improve scale reporting (Furgo) - Import: DXF parser, disable now redundant unsupported entities reporting (Furgo) - Import: DXF parser/imported improve unsupported features count (Furgo) - Import: DXF parser/importer, improve scale reporting (Furgo) - Import: DXF Python frontend, implement stats reporter (Furgo) - Import: DXF importer, add Python bindings (Furgo) - Import: DXF importer, populate stats reporting structure (Furgo) - Import: DXF parser, add stats reporting structure (Furgo) - BIM: satisfy github-advanced-security (Gaël Écorchard) - PD: Correctly handle single solid rule for loft with and without base (wmayer) - PD: Use isSingleSolidRuleSatisfied() for pipe feature (wmayer) - PD: Fix regression about single-solid check (wmayer) - Update ImageBuilder.py (Roy-043) - BIM: fix geometry under node tags (Gaël Écorchard) - BIM: remove unused variable `DEBUG` (Gaël Écorchard) - BIM: improve style of importDAE.py (Gaël Écorchard) - BIM: Use labels in DAE export (Gaël Écorchard) - Draft : fix Label Justification (#13444) (alafr) - Sketcher: Add contextual input hints to constraint commands (InputHints Phase 2) (#21751) (George Peden) - Refactor slot op. (#21799) (sliptonic) - CAM: Load preferences before activating the workbench (#21981) (Samuel) - FEM: fix typos (Luz Paz) - Gui: Fix wildcard call disconnects warnings Qt6.9 (#22096) (Kacper Donat) - Gui: prevent hover tooltip from covering menu items (#22019) (tiagomscardoso) - Gui: Remove adjustCameraPosition() (Bas Ruigrok) - PartDesign: Remove use of adjustCameraPosition() (Bas Ruigrok) - Part: Remove use of adjustCameraPosition() (Bas Ruigrok) - Sketcher: Make TAB clear the field if user hasn't valid input (tetektoza) - TechDraw: Add command tool label for vertex group (#22118) (Ryan K) - Spreadsheet: Only use validator when when prefix is not '=' (Benjamin Nauck) - Tools: Add ExpressionLineEdit to QtDesigner plugin (wmayer) - FEM: Eliminate unused proxy member (Chris Hennes) - TD: Remove calls to now-empty clearLineSets() method (Chris Hennes) - TD: Add missing override (Chris Hennes) - CAM: Add missing initializers (Chris Hennes) - CAM: Add initializer for retract_mode (Chris Hennes) - Gui: Drop name of unused parameter in PropertyBoolItem (Chris Hennes) - Gui: Make narrowing conversion float->int explicit (Chris Hennes) - Gui: Mark widget as [[maybe_unused]] (Chris Hennes) - Gui: Implicit capture of this is deprecated (Chris Hennes) - Sketcher: Make TAB lock the label if user has typed previously (tetektoza) - Sketcher: Add QLabel header for newly added locked icon (tetektoza) - Sketcher: Force cycling back to first labels on OVP if they are not set (tetektoza) - Sketcher: Initialize lock icon only once (tetektoza) - Sketcher: Adjust P&D mode to new enter behavior (tetektoza) - Sketcher: Change enter behavior on OVP to put OVP in lock state only (tetektoza) - CAM: Dressup Tag some fixes (tarman3) - CAM: Engrave - Fix step down for closed profile (tarman3) - Core: Add tests for undo/redo property rename (Pieter Hijma) - Core: Add undo/redo support to property renaming (Pieter Hijma) - CI: Update test names in runner (Chris Hennes) - Tests: Refactor tests with better names, etc. (Chris Hennes) - Tests: Add test framework for BackupPolicy (Chris Hennes) - App: Extract BackupPolicy into its own file (Chris Hennes) - CAM: fix: broken import in tests (Samuel Abels) - CAM: Remove obsolete images (Samuel Abels) - CAM: move DetachedDocumentObject into a dedicated module for better reuse (Samuel Abels)