FreeCAD 0.21 was released on 2 August 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.
General
The default backup file naming scheme is now FCBak. The older format (FCStd#) is deprecated and will be removed in a future version. Users with the old scheme enabled will be warned on startup. Pull request #9668
User interface
The Navigation Cube has been updated. The cube is no longer shown in perspective if the 3D view is in orthographic view mode. Corner faces have been made hexagonal and larger so that they are easier to click. Borders have been added around the buttons. Default font selection and sizing has been improved. The Mini-cube menu now includes a checkbox to toggle the movability of the cube. Several new parameters have been added, see the Navigation Cube page for more information. Pull request #7876, Pull request #8266, Pull request #8646 and Pull request #9356.
Persistent section cut of intersecting objects. Click on the image to see the animation.
The Section Cut tool now allows to cut intersecting objects. This is useful for assemblies where intersections of touching objects can sometimes not be avoided due to numerical issues. Pull request #8252.
The File toolbar has been split. The buttons for Undo, Redo and Refresh have been moved to the new Edit toolbar. The buttons for Cut, Copy and Paste have been moved to the new Clipboard toolbar. The button for What's This? has been moved to the new Help toolbar. Pull request #7620
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 parameter is enabled. This prevents unwanted value changes while scrolling, as was already the case for spin and combo boxes. Pull request #7561
There is the new orbit style Free Turntable. It can either be enabled in the Preferences or by pressing the button in the Status bar and then using the menu Settings → Orbit). Pull Request #8048
All transparency settings use now the uniform spin button step of 5%: One click on the button in a dialog or the property editor changes the transparency by 5%. Keep the button pressed to change several 5% steps at once. Pull request #7723
The Output window has been renamed to Report view for uniformity with the UI. Pull Request #7739
The Image Workbench has been removed. To insert an Image Plane the Std Import command can now be used. Double-click an Image Plane to change its orientation and scale. The new Std ViewLoadImage command replaces the Image Open command. Pull Request #8955
Added object creation functions vector, matrix, rotation, placement as well as matrix functions mrotate, mrotatex, mrotatey, mrotatez, mtranslate for use in Expressions. Pull request #8603.
Several edit mode issues have been fixed and the Tree view context menus for Arch objects have been improved. Objects that can be edited now have an Edit option in that menu. The Set colors option was removed for objects without a face or that can only have a single face. Pull request #8122
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 Ctrl key. Pull request #7462
The Tree view context menus for Draft objects have been improved. Objects that can be edited with the Draft Edit command, or that have a dedicated edit solution, now have an Edit option in that menu. The Set colors option was removed for objects without a face or that can only have a single face. Pull request #7970
The properties of Draft annotation objects have been unified. Draft Text, Draft Dimension and Draft Label objects now all have a Font Name, a Font Size and a Text Color property. The Display Mode options have been made consistent as well and are now: Screen and World. Issue #7861 and Pull request #8081
In the task panel of the Draft SetStyle command the Texts/dims button has been replaced by the Annotations button. Pressing this button will process all annotations, including Draft Labels. Dim overshoot, Ext lines and Ext overshoot parameters have been added. Several minor additional issues were also fixed. Pull request #8190, Pull request #8195, Pull request #8196 and Pull request #9514.
Undo/Redo did not work properly for the Draft modification commands on Windows. Pull request #8267
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
Using Esc to exit a command no longer switches off continue mode. Pull request #7611
The Draft Snap toolbar was changed to a standard toolbar. Keyboard shortcuts can now be assigned to snaps. But using them during a command only works if none of the input boxes in the task panel has the focus as they 'catch' the so-called in-command shortcuts. Pull request #7656
Iso-contours, depicting the y-component of the absolute magnetic flux density in and around a copper wire that is flown through by electric current at a frequency of 100 kHz. For more info about this model, see section 14 of the Elmer Tutorials.
There is the new Contours filter filter that allows to draw iso-lines or iso-contours. Iso-contours are connected mesh nodes that have the same result field value. A typical example are electric field lines.
Simulation result of the imaginary part of the current density in a crucible that was heated electrically by a surrounding coil. This model is available via the FEM Examples. For more info about this model, see section 16 of the Elmer Tutorials.
The Magnetodynamic 2D equation was added. With this it is possible to perform electromagnetic simulations in 2D.
Simulation result of the imaginary part of the magnetic flux density in and around a copper wire that is flown through by electric current at a frequency of 100 kHz. This model is available via the FEM Examples. For more info about this model, see section 14 of the Elmer Tutorials.
The Magnetodynamic equation was added. With this it is possible to perform electromagnetic simulations.
Simulation result of an iron U-wire that is deformed by pressing the ends of the U together. For more info about this model, see section 8 of the Elmer Tutorials.
The Deformation equation was added. With this it is possible to perform nonlinear elasticity analyses (deformation).
The flow velocity constraint and initial flow velocity constraint were completely rewritten. It is now also possible to specify a velocity via a math formula (to define a velocity profile). Pull request #8963 and Pull request #8964 Note: This is a breaking change. Analyses with existing flow velocity and initial flow velocity constraints will not work anymore. You have to create new flow velocity constraints in the analysis to make existing analyses work. Also note: until FreeCAD 0.21 the results of the flow solver were wrong (fluid density and viscosity were a factor 1000 too high). Therefore the necessary recreation of the velocity constraint also assures the results will be correct.
It is now possible to define in the displacement constraint displacements as equations (displacement according to the current solver time).
The body heat source constraint has now 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 is used for calculations. 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
The preferences have a new option to define which solver should automatically be added when creating a new analysis.
Usability improvements:
If you are in the FEM workbench when loading a FreeCAD file containing an analysis, the analysis gets activated automatically (you have immediate access to all FEM toolbar buttons).
The toolbar only has buttons for solvers installed on your system. Unavailable solvers are no longer displayed.
The UX on multiple PartDesign task dialogs for selecting geometries has been improved, now no longer requiring the use of separate buttons for adding or removing geometries to the selection. Pull request #8990
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
When creating a Clone it will now inherit the colors of the cloned object. Pull request #9547
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, Work Coordinate Systems (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
Sketcher Workbench
Dragging of B-spline knots. Click on the image to see the animation.
B-spline knots can now be dragged around and constrained like any other sketch point.
Sketches can now be seamlessly edited from the front or back. When working from the back, vertices (and all geometries and constraints) are equally selectable and the section view is switched automatically.
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.
Basic visual layers functionality was introduced, for now only 3 hardcoded layers are supported. Expect further improvements down the road.
This PR also removes the "Edit controls" widget from the task panel as all it's contents have been moved to other places or removed. The rendering order options have been moved to the Sketcher edit tools toolbar.
Pull request #8716 and Pull request #9590
The Sketcher toolbar has been split in two: 'Sketcher-edit-mode' and 'Sketcher' (i.e. 'not edit mode'). The Sketcher toolbars that are only for edit-mode are hidden in non-edit-mode, and those only for non-edit-mode are hidden in edit-mode. The Structure toolbar is also hidden in Sketcher. Pull request #7655
Carbon copy if possible now uses constraint names in the expressions it creates instead of an index based reference, making it more reliable. Pull request #7688
The Sketcher 'Solver Message' taskbox has been simplified. The auto-remove-redundant checkbox has been moved to the Constraint taskbox setting button menu. The auto-update checkbox has been moved to the menu of the update button. Pull request #8864
The SurfaceFinishSymbols tool was added to allow for the creation of surface finish symbols describing roughness, lay and waviness, but also denoting the type of surface treatment. It supports both ISO and ASME styles. As shown in the image, the existing LeaderLine tool can be used to properly refer oriented symbols to the edges of an object.
Deprecated DrawViewPart functions were removed: replaceCenterLine, replaceCosmeticEdge, replaceCosmeticVertex and replaceGeomFormat.
3D dimensions can now be created in the same way as 2D dimensions (apart from the fact that the geometry has to be selected in a 3D view). This eliminates the need to link them manually to 3D geometry. Pull request #8141
A function to remove overlapping edges returned by the hidden line removal algorithm was added, including a new setting (in advanced preferences) for the number of passes of this function. Pull request #9280
Compilation
Since this release FreeCAD can only be compiled using Qt 5.x and Python 3.x. The lowest supported Qt version is 5.12, the lowest supported Python version is 3.8.
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
Known Limitations
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 FreeCAD-0.21 → Preferences → Display.