Начиная с версии 1.1 FreeCAD поддерживает версионирование конфигурационных файлов и подкаталогов данных приложения. Если при первом запуске новой версии уже существует файл конфигурации, появляется экран с предложением перейти к версионированной структуре путем копирования существующей конфигурации, продолжить использование «общей» конфигурации из предыдущей версии, либо начать работу с новой конфигурацией по умолчанию.
Вариант по умолчанию, рекомендуемый — перенос существующей конфигурации в новую для новой версии FreeCAD. В результате все установленные дополнения, файлы конфигурации и другие пользовательские данные дублируются в новую директорию для новой версии. Это означает, что при запуске более старой версии FreeCAD она сможет использовать старую конфигурацию и дополнения, сохраняя совместимость и предотвращая потерю данных или потенциально непредвиденное поведение, если старая версия попытается загрузить новые параметры конфигурации, обновленные дополнения и т. д.
Пользователи с очень большими папками с данными приложений (например, из-за установленной библиотеки компонентов) могут не захотеть дублировать все данные и предпочесть продолжать использовать предыдущую папку конфигурации (для версий до 1.1 это неверсионированная папка). Это сопряжено с риском того, что новая конфигурация или дополнение помешают корректной загрузке более старой версии FreeCAD.
Эта опция создает новый каталог конфигурации с указанием версии, но ничего в него не копирует, начиная новую установку с новыми «заводскими настройками» по умолчанию.
Если ваше дополнение использует запись/хранение абсолютного местоположения файлов (а не их местоположения относительно userAppDataDir или configDir), вам потребуется определить, что файлы были перенесены, и обновить сохраненные переменные конфигурации. Для этого существует несколько методов Python, наиболее важными из которых являются FreeCAD.ApplicationDirectories.versionStringForPath(major, minor) и FreeCAD.ApplicationDirectories.versionStringForPath.usingCurrentVersionConfig(pathToCheck).