Release notes 1.0

FreeCAD 1.0 was released on DD MM 2023, get it from the Download page. This page lists all new features and changes.

Older FreeCAD release notes can be found in the Feature list.

Placeholder for an eye-catching image selected by the admins from the user showcases forum.

Further user interface improvements

 * It is now possible to set a default transparency for new Part or PartDesign objects in the Preferences. Pull request #7103
 * A button has been added to switch the colors of the 3D view background gradient in the Preferences. Pull request #7155
 * Commands to store and recall a temporary working view have been added. Pull request #7525
 * Value changes with the mouse wheel in 'input fields' (a widget type used to enter values in task panels, for example by Draft Line) are disabled if the widget doesn't have the focus and the ComboBoxWheelEventFilter switch is enabled. This prevents unwanted value changes while scrolling, as already was the case for spin and combo boxes. |Pull request #7561
 * The toolbar button for Edit Mode has been removed. Pull request #7570
 * The toolbar buttons for Print, Copy, Paste and Cut have been removed. Pull request #7571 and commit ea9a04e

New Python API

 * BSplineSurfacePy::scaleKnotsToBounds: Scales the U and V knots lists to fit the specified bounds. Pull request #7258 and Pull request #7385
 * BSplineCurvePy::scaleKnotsToBounds: Scales the knots list to fit the specified bounds. Pull request #7385


 * ShapeFix_EdgeConnectPy: Root class for fixing operations. commit 4d4adb93
 * ShapeFix_EdgePy: Fixing invalid edge. commit 4089cbfb
 * ShapeFix_FaceConnectPy: Rebuilds connectivity between faces in shell. commit a0eb2e9d
 * ShapeFix_FacePy: Class for fixing operations on faces. commit b6cd635c
 * ShapeFix_FixSmallFacePy: Class for fixing operations on faces. commit 4c2946c8
 * ShapeFix_FixSmallSolidPy: Fixing solids with small size. commit b70d8d37
 * ShapeFix_FreeBoundsPy: Intended to output free bounds of the shape. commit 1ee1aee1
 * ShapeFix_RootPy: Root class for fixing operations. commit f3e941a3
 * ShapeFix_ShapePy: Class for fixing operations on shapes. commit 87db9dcc
 * ShapeFix_ShapeTolerancePy: Modifies tolerances of sub-shapes (vertices, edges, faces). commit 125d5b63
 * ShapeFix_ShellPy: Root class for fixing operations. commit f3e941a3
 * ShapeFix_SolidPy: Root class for fixing operations. commit 8d568793
 * ShapeFix_SplitCommonVertexPy: Class for fixing operations on shapes. commit 4b44c54c
 * ShapeFix_SplitToolPy: Tool for splitting and cutting edges. commit bbecc3f2
 * ShapeFix_WireframePy: Provides methods for fixing wireframe of shape. commit 6843a461
 * ShapeFix_WirePy: Class for fixing operations on wires. commit 94f6279a
 * ShapeFix_WireVertexPy: Fixing disconnected edges in the wire. commit 8c6ffc99

Removed Python API

 * FreeCAD.EndingAdd: replaced by FreeCAD.addImportType. Pull request #7167
 * FreeCAD.EndingGet: replaced by FreeCAD.getImportType. Pull request #7167

Further Arch improvements

 * Profile objects now support modification of the profile type after creation. Pull request #7217

Draft Workbench

 * The inaccuracy of Draft Snap Near when snapping to curves was fixed. In addition, Draft Snap Perpendicular can now also snap to faces and find multiple points. To snap to a vertex (e.g. a Draft Point) Draft Snap Endpoint must now be used instead of Draft Snap Near. Pull request #7132
 * To make working with layers easier their drag and drop behavior was modified. If you drop an object from a Std Group, or a group-like object such as an Arch BuildingPart, on a layer, it is no longer removed from the group, and vice versa. This works without holding down the key. Pull request #7462
 * The Draft PointArray command now supports more point object types. Any object with a shape and vertices, as well as a mesh and a point cloud can be used. Pull request #7597

Further Draft improvements

 * Several Draft PathArray related issues have been fixed. Pull request #7506
 * The Draft Edit command has received several improvements. For wires, B-splines and Bézier curves a Close/Open option has been added to the edge context menu. For B-splines and Bézier curves a Reverse option has been added to the same menu as well. The task panels have been cleaned up. Pull request #7527 and Pull request #7541

Further FEM improvements

 * There is now an [[Image:FEM_ConstraintInitialPressure.svg|24px]] initial pressure constraint to set the initial internal pressure of fluids. Pull request #7364
 * The [[Image:FEM_ConstraintBodyHeatSource.svg|24px]] body heat source constraint now has a task panel and it is possible to set the heat for several bodies or to use several constraints for different bodies in one analysis. Pull request #7367
 * It is now possible to open (and this way visualize) *.pvtu files (partitioned VTK unstructured grid data). A *.pvtu file is also the result of an Elmer simulation, when more than one CPU core was used. Pull request #7159
 * Critical Strain Ratio has been added to the VTK result pipeline. It gives an indication of ductile rupture for materials with a "MaterialMechanicalNonlinear" object. Pull request #7467

Further Mesh improvements

 * Support to add transparencies to a mesh. Forum thread and Commit f88305e

Further PartDesign improvements

 * In the Hole dialog, the deprecated screw head types (cheese head, cap screw etc.) have been removed. They were deprecated since FreeCAD 0.19. Holes using these types are transformed to custom countersinks/counterbore holes with the diameter and depth used by the types. Pull request #7654

Path Workbench

 * Camotics integration. If camotics (version 1.2.2 or later) is installed, a new icon will be added to the Path toolbar. Select a Path Job and press the button to open the Camotics dialog. Then drag the slider to generate a simulated solid at any point in the job. You can also launch the full camotics application to run the animated simulaton. This results in a silent post-processing of the job and creation of a camotics project file. Pull request #6637


 * Additional substitution strings for automatic output naming. If output is being split into multiple files, the filenames can automatically substitute the toolcontroller label, WCS, or operation label. This is in addition to the other existing substitution strings like date, job name, etc.


 * Implemented Chipbreaking option for peck style drill cycles. Chipbreaking emits a G73 cycle which causes the control to make a very small retraction move to break the chip without fully retracting the bit from the hole. G73 is supported natively by LinuxCNC. Some other postprocessors will have to interpret the G73 and emit control appropriate codes or decompose the retraction into G1/G0 moves. Postprocessor support for G73 decomposition has been added to the "refactored" postprocessors.Pull request #7469

Further Sketcher improvements

 * The toolbar button for Constrain refraction (Snell's law) has been removed. Commit ef62fc3
 * The toolbar buttons for Select redundant constraints and Select conflicting constraints have been removed. Pull request #7568
 * The toolbar button for Stop operation has been removed. Pull request #7569
 * The 'Edit controls' section in the Sketcher dialog has been made optional. Pull request #7572
 * The toolbar button for Select unconstrained DoF has been removed. Pull request #7603
 * The Element widget has been reworked to simplify the UI and enable simpler selection of the different parts of each geometry : Edge, start point, end point and mid point. Pull request #7567

Further TechDraw improvements

 * Support for adjustable gaps for extension lines of dimensions was added. Pull request #7133
 * Removed deprecated functions: DrawViewPart::replaceCenterLine, DrawViewPart::replaceCosmeticEdge, DrawViewPart::replaceCosmeticVertex and DrawViewPart::replaceGeomFormat.
 * Navigation modes to match 3d window
 * Improved face detection algorithm
 * PrintAll function
 * Bitmap hatching 6582
 * Section dialog preview
 * Convert all templates to "plain svg" (implemented for latin script templates only)
 * View stacking order 6012
 * Use separate thread for hidden line removal and face finding
 * replace ActiveView Svg creation with simple screen capture
 * complex section views

Compilation
Since this release FreeCAD can only be compiled using Qt 5.x and Python 3.x. The lowest supported Python version is 3.8 according to the FreeCAD 1.0 development goals.

To compile FreeCAD see the instructions for Windows, Linux and MacOS.

The supported operating systems are:
 * Windows 7, 8, 10 and 11
 * Linux Ubuntu Focal Fossa (20.04) and newer
 * MacOS: 10.12 Sierra or newer

32bit Windows
Since FreeCAD 0.19 we no longer officially support 32bit Windows. FreeCAD might work on these systems, but no support is given.

Remote Desktop under Windows
Depending on the OpenGL graphics capabilities of a computer, it might be that one encounters a crash when running FreeCAD via remote desktop. To fix this upgrade your OpenGL driver. Only if this doesn't help:
 * Download this OpenGL library for 64bit Windows and extract it.
 * Rename the DLL file to opengl32sw.dll and copy it to the bin subfolder of FreeCAD's installation folder (overwrite the existing DLL there).

MacOS: Start Workbench shows blank page
If the Start Workbench shows only a blank page, you must enable the option Use software OpenGL in the menu.