Skip to content

Commit 001ab43

Browse files
authored
Update dependencies.md with version info
1 parent ddbf201 commit 001ab43

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

gettingstarted/dependencies.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ in. Depending on what platform you are developing on, you have a variety of tool
1515
of the most common ones is included below. The main purpose of this document is to highlight the primary dependencies and describe what they do and
1616
why FreeCAD needs them.
1717

18+
## Supported versions
19+
20+
The head of the main branch of FreeCAD can be compiled from source on systems as old as the oldest currently-supported Ubuntu LTS, which has been
21+
chosen as the "reference" system for this purpose. That is currently Ubuntu 20.04 LTS, which will reach its EOL in April 2025. This ties FreeCAD
22+
development to the C++17 standard, Python 3.8 and later, Qt 5.14, and the versions of the required libraries available on that system. This will change in
23+
April 2025 to the C++20 standard, Python 3.10, and Qt 5.15. Qt6.4 and later are also fully supported.
24+
1825
## Major dependencies
1926

2027
The following is a brief overview of what each of FreeCAD's most critical 3rd-party library dependencies provide.
@@ -33,27 +40,29 @@ OCCT is a big and complex set of C++ libraries that provide functionality requir
3340
* A document and project data structure with support for save and restore, external linking of documents, recalculation of design history (parametric modeling) and a facility to load new data types as an extension package dynamically.
3441

3542
Note that the "Community Edition" of OpenCASCADE is no longer supported by FreeCAD, you must install the first-party library.
43+
The current minimum supported version is OCCT 7.3.
3644

3745
### Python
3846

3947
Python is a popular all-purpose scripting language that is widely used in Linux and open source software.
4048
In FreeCAD, Python is used during compilation and also at runtime in different ways. FreeCAD itself contains
4149
hundreds of thousands of lines of Python code, and all FreeCAD Addons and Macros are written in Python.
4250

51+
The current minimum supported version is 3.8.
52+
4353
### Qt
4454

4555
Qt is one of the most popular graphical user interface (GUI) toolkits available in the open source world.
4656
FreeCAD uses this toolkit to draw the interface of the program, as well as to provide some advanced networking functionality
47-
and translation facilities. FreeCAD currently provides primary support for Qt v5.12 - v5.15, and work is ongoing to support Qt v6.4 and
48-
later.
57+
and translation facilities. FreeCAD currently provides primary support for Qt v5.14 - v5.15, and Qt 6.4 and later.
4958

5059
Further information about Qt libraries and their programming documentation are available at [Qt Documentation](https://doc.qt.io/).
5160

5261
### PySide and Shiboken
5362

5463
Shiboken is the Python binding generator that Qt for Python uses to create the PySide module, in other words, it is the system that
5564
is used to expose the Qt C++ API to the Python language. FreeCAD's Python code uses the PySide library to draw its user interface elements.
56-
FreeCAD provides primary support for PySide2 (corresponding to Qt5), and support for PySide6 (corresponding to Qt6) is in progress.
65+
FreeCAD provides primary support for PySide2 (corresponding to Qt5) and PySide6 (corresponding to Qt6).
5766
Python developers should import `PySide` (with no numeric suffix) -- at compile-time FreeCAD's build system will generate the appropriate
5867
version.
5968

0 commit comments

Comments
 (0)