With this extension of the API, view providers can indicate whether
document objects should be able to be toggled for visibility. There is
both a C++ and Python interface, idiomatic for FreeCAD code.
Addons can be disabled in two ways:
* by adding a command line argument `--disable-addon <addon>`
* and by creating a `ALL_ADDONS_DISABLED` file in the mod root of the addons to disable
Multiple places in code, asserts for bad types would trigger SIGABRT. This is not just limited to #16316 with SoZoomTranslation, but multiple more places, not described in issue, but I experienced myself. Fixes#16316
* Added uppercase extensions for supported formats
In the file App\Application.cpp
* Added file types in upper case
* Adds uppercase file types to the file import filter.
Fixes#10879
* Added filter for *.fcmacro *.fcscript
If package.xml metadata file exists, it is scanned for FreeCAD version
compatibility before the Addon is loaded. If the Addon specifies that it is
explicitly not compatible with the current version of FreeCAD, the Addon is
not loaded.
* Better module import error handling
* Allow co-installation of Python2 and Python3 version of FreeCAD
* Add FreeCAD.Logger class for convenient logging in Python. See class
document for more details.
See bug description:
https://bitbucket.org/Coin3D/coin/pull-requests/119/fix-sochildlist-auditing/diff
Because of path based rendering (SoFCPathAnnotation) in mouse over
highlight, this bug causes crash more frequently here comparing to
upstream.
All C++ calling of SoGroup::removeAllChildren() is replaced by
Gui::coinRemoveAllChildren(), and python code is fixed by monkey
patching SoGroup.removeAllChildren() in FreeCADGuiInit.py.
(this mostly aims at new modules and extension modules which want to use pip)
- any module having problems with nameclashes can use this syntax (from freecad import module)
- current imports still work (backward cobatibility)
- python extension moduels can be installed (pip) to python std path (eg.: site-packages)
- adding app, gui to the new freecad package:
```
from freecad import app
from freecad import gui
```
- syntax for importing c++ extension will not change
```
import FreeCAD as App
import FreeCADGui as Gui
```