Release notes 1.0

From FreeCAD Documentation
(Redirected from Release notes 0.22)
This page contains changes which are not marked for translation.
FreeCAD 1.0 is under development, there is no expected released date yet.

Are features missing? Mention them in the Release notes for v1.0 forum thread.

See Help FreeCAD for ways to contribute to FreeCAD.

All images on this page must use the _relnotes_1.0 suffix

FreeCAD 1.0 was released on D Month 2024, 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.


The long standing Topological naming problem has finally been fixed thanks to the joint effort and hard work of several developers. The Realthunder's fix has been carefully implemented and improved to work in the master version of FreeCAD. The project took over a year and the implementation has been finalized with the following PR enabling the fix. Extensive testing and bug fixing will follow.

Pull request #13705

FreeCAD has a new logo. It was selected from the 5 winners of the public contest.

Pull request #14284

User interface

A rotation center indicator has been added. This indicator is shown when the view is rotated by dragging the mouse. It can optionally be disabled in the preferences. There are also settings for its color, transparency and size.

Pull request #9909 and Pull request #10790

Click on the image if the animation does not start.
Selection filters were added, facilitating the selection of vertices, edges and faces.

Pull request #10271

For more flexibility, the task panel is now a stand-alone dockable widget but the old layout has been kept as the default.

Pull request #10681 and Pull request #10848

The appearance of the Transform tool dragger has been improved. It now also has a set of planar draggers for moving objects along the 3 default planes.

Pull request #10706

Realthunder's feature allowing for the overlay of dock widgets (tree and task transparency) has been added.

Pull request #7888

The light source position can now be set in in the preferences (Preferences → Display).

Pull request #11146

The Preferences window was redesigned to replace the tabs with a tree view.

Pull request #11018

TabBar workbench selector was added. It can be enabled and configured in Preferences → Workbenches.

Pull request #12270

A new universal measurement tool was added, replacing the old Part Measure tools.

Pull request #9750 and following

Click on the image if the animation does not start.
The Align to selection view tool was added, making it possible to enter views normal to faces or following edge directions.

Pull request #13906

Further user interface improvements

  • A project unit system was introduced. Pull request #9521
  • The Section Cut tool now also works in a perspective view. Pull request #10143
  • An option to sort workbenches alphabetically (available after right-clicking in Preferences → Workbenches) was added. Pull request #10363
  • A Find file filter and a Find in files filter were added to the Std DlgMacroExecute dialog. Pull request #10714
  • The View menu and the View toolbar have been revised. Pull request #10761
  • The stop button was removed from the Macro toolbar. The record button now switched to a stop button when recording is in progress. Pull request #10836
  • The reset button in the Preferences now shows a menu with options to reset the settings at different levels: all, in the current group or in the current tab. Pull request #10688 and Pull request #11038
  • The Help Module was merged so that it's no longer necessary to download an add-on to make use of it. Pull request #11008
  • Preferences to customize the current theme were added. Pull request #10238
  • Default selection settings were changed to make the selection of objects in the 3D window easier. Pull request #11187
  • A meters-only unit scheme named Meter decimal was added since the MKS (m/kg/s/degree) system doesn't always result in dimensions being displayed in meters - millimeters are still used for values below 0.1 m while for some applications (e.g. civil engineering) a unit system that actually changes the display of all dimensions to meters is useful. Pull request #11365
  • Additional marker sizes (20, 25 and 30px) were added to Preferences → Display → 3D View → Marker size in order to assist users of 4K screens. Pull request #11524
  • A Toggle transparency option was added to the View and context menus to quickly switch transparency on or off for selected objects. Pull request #10805
  • A Lock toolbars command was added. With it toolbar positions can be locked or unlocked. It is available in the View menu and the toolbar area context menu. Pull request #11596
  • Default shape color was adjusted to improve the appearance of the models. Pull request #12380 and Pull request #12488
  • Items within Part and Group containers can now be sorted by drag and drop. Pull request #12293
  • Visibility icons (eye symbol) are added to tree objects if the Show visibility icon option is checked in Preferences → Display → UI. Pull request #12298
  • A frozen status (Toggle freeze option in the context menu in the tree) was added, making it possible to turn off the parametric behavior of an object (so that it doesn't change even if the objects it depends on change). Pull request #12580
  • Navigation animations have been improved. Animations now use an easing function and have a fixed duration which can be changed in Preferences → Display → Navigation. Pull request #10881 and Pull request #12205
  • The buttons for the default views are now grouped under a single button. The individual buttons are still available in the additional Individual views toolbar. Pull request #12878
  • The name of the current active document is now also displayed in the window title bar. Pull request #12035
  • A command to display the Property View panel was added. Pull request #12024
  • The integration of 3Dconnexion devices with FreeCAD on Windows was improved. Pull request #12929
  • A Quick Measure feature was added. It uses the Status bar to display key measurement information (edge length, face area, distance/angle between points/edges) about the current selection in the 3D view. Pull request #12217
  • Toolbars can now be dragged and dropped to the status and menu bars. Pull request #13571
  • A Reload stylesheet button was added to aid the stylesheet development. It doesn't belong to any toolbar by default, it has to be added manually from Tools → Customize → Toolbars → View. Pull request #13982
  • Document icons (including the Open and Save ones, among others) were improved and unified. Pull request #13865
  • The Fit all icon was replaced for clarity. Pull request #14180
  • Multiple icons (such as New) were improved. Pull request #14278 and Pull request #14434
  • Icons of the Sketcher and Part Design task panel headers were improved. Pull request #13968
  • In headless mode the interactive Python console now features tab-completion, provided the readline module is available. Pull request #14213
  • An option to display internal names in the tree view was added. It's disabled by default and can be activated in Preferences → Display → UI → Hide Internal Names. Pull request #14237
  • The Help button was removed from the Preferences because it was non-functional. Pull request #14695
  • Default stylesheets were improved significantly and are now offered in two variants other than classic - light and dark. Pull request #13772

Core system and API


  • Vector functions from the Vector API can now be used in Expressions. Pull request #8603.
  • The Python editor now matches indentation of the previous line when pressing the enter key. Pull request #11356.
  • The name of the property holding the reference object(s) of an attachment has changed from DataSupport to DataAttachmentSupport. Pull request #12714.
  • Introduced App::VarSet, a property container as a core feature. The VarSet allows users to define properties that can be used in models just as with spreadsheet aliases and other previous property containers (Dynamic Data, Path PropertyBags, and Assembly 4 Variables). Pull Request #12135


New Python API

Removed Python API

Changed Python API

  • To save/restore custom data from a Python feature, the previously called methods __getstate__/__setstate__ have been renamed to dumps/loads. This is due to internal changes in Python-3.11. Pull request #10769 and Pull request #12243.

Addon Manager

Assembly Workbench

A built-in Assembly workbench was finally added to FreeCAD. It uses the open-source Ondsel solver. Basic functionalities (joints) are already available. Further development is in progress.

Pull request #10427, Pull request #10764, Pull request #12406 and more

Further Assembly improvements

BIM Workbench

Further BIM improvements

CAM Workbench

Further CAM improvements

  • Rest machining was reimplemented to take input from the G-code of earlier operations (instead of using the internals of Area operations). This enables support for rest machining in Area operations after non-Area ones (most notably Adaptive). Pull request #11939
  • G43 tool height compensation was added to the centroid CAM post-processor. Pull request #12652
  • A Feed retract option was added to drilling operation settings for reaming and boring. Pull request #13254
  • A new CAM simulator based on low-level OpenGL functions (faster and more precise) was added. Pull request #13884
  • The Vcarve operation was reworked to include features commonly available in other CAM software (Step down, Finishing pass, Head movement optimization and debugVoronoi method) making it possible to drastically improve the carved surface quality while increasing the carving speed up to 50%. Pull request #14093
  • Machinability material models were added along with a few materials. Pull request #14460

Draft Workbench

Further Draft improvements

FEM Workbench

The position of the color legend labels was adjusted to make the top ones less likely to be covered by the navigation cube. The default font and color of the labels was changed to increase the visibility and preferences were added to allow label color and size modification.

Pull request #10552

The FEM PostFilterLinearizedStresses command can now use the stress tensor components for linearized stress computations. Previously, only Von Mises, Tresca and principal (major/intermediate/minor) stresses could be used for this.

Pull request #11724

Support for cyclic symmetry via tie constraint in CalculiX was added, making it possible to analyze models with rotational periodic symmetry using a single repetitive sector.

Pull request #12289

Support for 2D (plane stress, plane strain and axisymmetric) analyses was added for the CalculiX solver. They are configured in the same way as simulations with shell elements but there are some additional restrictions described on the aforementioned wiki page. The new Model Space option has to be set properly. Pull request #12562
As the first step towards the support for hexahedral elements, their generation using Gmsh subdivision technique is now possible thanks to the new Gmsh property Subdivision Algorithm. It can also be used to create quadrilateral elements. Pull request #12698
New View properties were added to the results pipeline objects. Mesh edge color and width can now be changed for the Surface with Edges display mode. Node size can be modified for the Nodes mode. There is also a transparency setting for all modes. Pull request #13066
FEM constraints can now be suppressed (right-click on a constraint and select Suppress) and thus ignored by the solvers. This way, it's possible to modify the analysis setup without having to delete the currently not needed constraints. Pull request #12359
Support for the CalculiX's rigid body constraint was added, finally making it possible to simulate torsion of arbitrary components and apply remote loads, among others. Pull request #13900

Further FEM improvements


The material handling system, including the editor, has been completely reworked. Further improvements in this regard will follow.

Pull request #10690

Appearance preview was added to show the materials in the same way they will be shown in documents.

Pull request #11628

The new material system is now used for appearance properties.

Pull request #13294

Further Material improvements

  • Dialogs to view the Appearance and Material properties of an object were added and available as Inspect Appearance and Inspect Material tools. Pull request #13967


Further Mesh improvements

OpenSCAD Workbench

Further OpenSCAD improvements

Part Workbench

Part Scale tool was added to allow for easy scaling of shapes without having to use tools from the Draft Workbench.

Pull request #10583

Part Mirror now supports reference objects, such as a Part Plane to define an arbitrary mirror plane in addition to the standard XY, XZ, and YZ planes.

Pull request #11535

Further Part improvements

  • The Frenet property is now enabled by default for the Part Sweep tool to avoid a common rendering issue. Pull request #11590
  • Now all the Part icons use the blue theme and the primitives use the same icon for the toolbar and the tree. Pull request #14074
  • The Create sketch command was added to the Part toolbar and menu since operations such as extrusion typically use sketches as input. Pull request #14318
  • A new attachment mode called XY parallel to plane was added. It results in an attachment similar to Object's XY but with the XY plane translated to pass through a selected vertex. In contrast to the Translate origin attachment mode, it does not move the origin in 2D/Sketcher. It can be used with origin planes, datum planes and sketches, but also with any object with a Placement property. Pull request #14372

Part Design Workbench

More modes were added to the revolution and groove features - to first/last, up to face and two dimensions.

Pull request #7193

Pad and pocket task panels were improved (reordered UI elements, Select face option hidden when unnecessary and so on).

Pull request #10392

Offset mode was added for linear and polar pattern. The previous mode was renamed Overall Length.

Pull request #10377

Experimental support for multiple solids within a Body was added. It can be enabled in the preferences (for new Bodies) or in the properties of an existing Body.

Pull request #13960

Up to shape mode was added for Pad, making it possible to end the extrusion on multiple faces, as opposed to Up to face mode which allows the selection of only a single face.

Pull request #11392 and Pull request #14433

Further PartDesign improvements

  • The Make thickness inwards option is now enabled by default for the Thickness tool. Pull request #7488
  • Datum points now change color when highlighted or selected (like other datums). Pull request #12439
  • Part Design icons where slightly improved for consistency. Pull request #13109
  • A Suppressed property was added to temporarily disable a feature. Pull request #12096 and Pull request #12412
  • The Part Design toolbars have been updated - datums and sketch-based actions are grouped now, Part CheckGeometry was added to the toolbar and menu, and the toolbars were split into individual ones to make it possible to rearrange them. Pull request #13833
  • Now all the Part Design features use the same icons for the toolbar and the tree. Pull request #14074
  • A new Transform body mode was added to Part Design mirror and pattern tools, making it possible to transform the whole base feature's shape instead of the individual tool shapes of additive and subtractive features. Pull request #12589

Points Workbench

Further Points improvements

Sketcher Workbench

Implementation of a circle overlay for arcs (to solve the issue of constraints appearing away from them) was completed with a command to switch them.

Pull request #9703

Click on the image if the animation does not start.
A contextual Dimension constraint tool was added to enable quick and intuitive dimensioning with a single versatile tool.

Pull request #9810

Click on the image if the animation does not start.
Tool parameters were added to allow dimensioning on the go (when drawing shapes). Depending on the preference setting On-View-Parameters, they can be disabled, reduced to dimensions only (no initial coordinates) or fully enabled. Moreover, modes were added for the shape tools. They can be selected using the M key or a drop-down list in the task panel. Some tools have additional settings in the form of checkboxes in the task panel and additional keyboard shortcuts. Currently, the new features are available for points, lines, arcs, ellipses, rectangles, polygons and slots. This is a work in progress.

Pull request #11048, Pull request #11174 and following

An Offset tool was added to allow offsetting curves.

Pull request #11174

Three-point rectangle mode was added in two versions - 3 corners or center and 2 corners.

Pull request #11174

An Arc slot tool was added with two modes (arc ends and flat ends) to allow for the creation of curved slots

Pull request #11174

Click on the image if the animation does not start.
A Horizontal/Vertical constraint was added. It automatically applies horizontal constraint if a line is closer to horizontal orientation or vertical constraint if it's closer to vertical orientation.

Pull request #11538

Rendering of angle and radius constraints was improved. Angle constraints have full extension lines now.

Pull request #11507

A Polar transform tool was added to allow rotation and circular patterns of sketcher geometries.

Pull request #11264

Click on the image if the animation does not start.
It is now possible to copy/cut and paste sketch geometry (with constraints) using typical keyboard shortcuts: Ctrl+C, Ctrl+X and Ctrl+V. Not only within a single sketch but also between different sketches or even different instances of FreeCAD. The geometry is copied in the form of Python commands so it can be used in other ways too (e.g. shared on the forum).

Pull request #11537

A Scale transform tool was added, making it possible to scale the geometry in the sketch using a selected center point and a scale factor or two reference points.

Pull request #11265

Click on the image if the animation does not start.
Tangency to B-spline edge was added, eliminating the need to use endpoints and various workarounds instead.

Pull request #11853

The RectangularArray, Move, Copy and Clone tools were replaced with a single Array transform tool.

Pull request #11267

A Chamfer tool was added with an option to switch to the Fillet mode. Moreover, there is no longer a separate Corner-preserving fillet tool. A Preserve corner option (checked by default) has been added to the Sketcher CreateFillet tool.

Pull request #12898

Click on the image if the animation does not start.
The Symmetry tool has been reworked. Now it works by preselecting the geometry and picking a line or point about which the geometry will be mirrored. A preview is shown and the behavior of the tool can be controlled through tool settings.

Pull request #11853

Click on the image if the animation does not start.
Symmetric constraint is now applied automatically when the midpoint of a line is picked.

Pull request #13147

Distance dimension constraint can now be used for arc length constraints (circular arc has to be preselected).

Pull request #12602

The rendering color of points is now different depending on whether it's a normal point/endpoint (white, now created by default when using the CreatePoint tool), a construction point/center point (blue) or a point coincident with another one (red).

Pull request #13098

Click on the image if the animation does not start.
The Trim edge tool can now be used in hold and drag mode.

Pull request #13188

Further Sketcher improvements

Spreadsheet Workbench

Further Spreadsheet improvements

Start Workbench

A New file section that includes a number of quick-start buttons has been added to the Start Page.

Pull request #10171

The visual design of the Start Page has been overhauled. It now looks more modern and consistent.

Pull request #10391

A simple first start widget was added and will be extended in the near future.

Pull request #13650

Further Start improvements

  • The preferences page of the Start Workbench has been re-organized. Pull request #10520
  • There now is a Custom CSS option for the Start Page which allows you to customize the Start Page CSS style from the Start Workbench preferences. Pull request #10520
  • The Hide scrollbars preference has been removed. The scrollbars on the Start Page are now styled according to the theme and are much thinner. Pull request #10520
  • There are now preferences for hiding and changing the size of the file thumbnail icons on the Start Page. Pull request #10410
  • The Start page is now a QtWidgets-based app and not a workbench. It can be displayed using the Help → Start option. Pull request #13134

Surface Workbench

Further Surface improvements

TechDraw Workbench

The CosmeticCircle tool was added to allow for the creation of cosmetic circles by selecting the center and inputting the radius.

Pull request #10763

The ArcLengthAnnotation tool was added to create dimension-like annotations of arc length of selected edges.

Pull request #11532

The AddOffsetVertex tool was added to create cosmetic vertices as offsets from selected vertices.

Pull request #11655

The BrokenView tool was added to depict long objects easily.

Pull request #13331

Click on the image if the animation does not start.
A new context dimension tool was added based on the one introduced in the Sketcher.

Pull request #13525

Further TechDraw improvements

  • Sections based on other sections now use the original (uncut) shape by default. This can be changed in section settings to use the previous section instead. Pull request #10281
  • Cosmetic objects and centerlines can now be deleted by selecting them and pressing the Delete key. Previously, this resulted in the whole view being deleted. Pull request #10695 and Pull request #10813
  • A new, more intuitive icon was added for the WeldSymbol tool. Pull request #10936
  • The behavior of the point + edge mode of the LengthDimension was corrected. Pull request #10860
  • A checked state was added for the ToggleFrame button so that a user can see whether the button is activated or not. Pull request #11240
  • The behavior of the DecorateLine tool was improved. Now double-clicking a line invokes this tool. And line styles are correctly restored if the user presses Cancel. Previously, there was no difference between pressing OK and Cancel. Pull request #11188
  • Color and transparency of faces can now be set per view. Pull request #11315
  • Multiselection mode was added and can be enabled in Preferences. In this mode, multiple vertices, edges and faces can be selected by left-clicking on them, without having to keep the Ctrl key pressed. Pull request #11417
  • ExtensionAreaAnnotation can now calculate areas of arbitrary faces. Pull request #11473
  • Non-continuous lines will now follow the ISO/ANSI standards instead of a Qt line style. A new preference was added to select the standard. Pull request #11594
  • The behavior of the AxoLengthDimension tool was improved. Now, when dimensioning edges parallel to the global coordinate system axes, the actual (3D) value is calculated automatically and inserted into the Format Spec property (as text). Pull request #11678
  • The ExtensionPositionSectionView tool can now be used by selecting an edge in a section view and a vertex in the source view. Pull request #11797
  • Small but important usability improvements were made - double-clicking on the TechDraw page now enters this workbench and the TechDraw MoveView tool was replaced by simple drag and drop in the tree. The TechDraw ClipGroupAdd and TechDraw ClipGroupRemove tools were also replaced by tree drag and drop behavior. Pull request #13063
  • The drawing templates are now automatically filled with available information (like date and title). Pull request #13005
  • The Project shape tool was removed from TechDraw as it's inherited from the old Drawing workbench and has nothing to do with a TechDraw page. Pull request #13655
  • The Insert View tool was improved so that it can handle more object types and settings. This allowed the following tools to be removed from the toolbar: SpreadsheetView, ArchView, Symbol, Image and ProjectionGroup. Pull request #13219
  • Snapping was added to allow automatic alignment of views and dimensions. Pull request #13659
  • Handling of cosmetics was improved in various ways. Pull request #14216


Known Limitations