FreeCAD 1.0 Development Cycle
Development of FreeCAD 1.0 began following the tagging of | FreeCAD's 0.20 release version on June 13, 2022.
Minimum supported library versions
Development of 1.0 targets Ubuntu 20.04 LTS as the oldest OS for compiling FreeCAD. Minimum supported infrastructure software versions are:
- GCC 7.5
- Clang 6.0
- CMake 3.16
- Python 3.8
- Qt 5.12
- OpenCASCADE 7.3
This version of FreeCAD is compiled requiring the C++17 standard, and all C++17 features are allowed with two exceptions:
- std::filesystem is not well-supported by GCC 7.5 -- continue to use boost::filesystem instead
- std::regex is much slower than boost::regex in some important cases, so we will continue to include the Boost regex library
Developers are encouraged to review the C++ Core Guidelines for modern C++ coding advice. No strict coding convention has been selected for FreeCAD, though new C++ code often conforms to the Qt coding conventions, and new Python typically conforms to PEP 8.
Development Goal
As volunteer-developed Open Source software it is impossible to guarantee that any particular feature will be implemented in a given time frame. For the 1.0 release there is however only one big goal:
- Fix the Topological naming problem (in short: Toponaming)
Toponaming branch
In order to address the Toponaming issue, directly after the release of FreeCAD 0.20 a special Toponaming branch was created:
https://github.com/FreeCAD/FreeCAD/tree/development/toponaming
The workflow is the following:
FreeCAD's master will contain the "normal" development.
When the first portion of Toponaming is ready in the Toponaming branch
- the Toponaming is rebased on master
- an intermediate release is made to let users test it.
- If the feedback is positive the next portion of toponaming is as added to the toponaming branch
This cycle is repeated until FreeCAD is fully usable without the Toponaming issue.