A partire dalla versione 1.1, FreeCAD supporta nativamente la configurazione delle versioni e le sottodirectory app-data. Se al primo avvio di una nuova versione è già presente un file di configurazione, viene visualizzata una schermata che offre la possibilità di migrare a una struttura con una versione copiando una configurazione esistente, di continuare a utilizzare una configurazione "condivisa" da una versione precedente o di iniziare con una nuova configurazione predefinita.
L'opzione predefinita, e consigliata, è quella di migrare una configurazione esistente in una nuova versione di FreeCAD. Di conseguenza, tutti i componenti aggiuntivi installati, i file di configurazione e gli altri dati utente vengono duplicati in una nuova directory per la nuova versione. Ciò significa che se si avvia una versione precedente di FreeCAD, questa potrà utilizzare la configurazione e i componenti aggiuntivi precedenti, preservando la compatibilità e prevenendo qualsiasi perdita di dati o potenziali comportamenti imprevisti nel caso in cui una versione precedente tenti di caricare nuove opzioni di configurazione, componenti aggiuntivi aggiornati, ecc.
Gli utenti con directory di dati dell'applicazione molto grandi (ad esempio perché è installata la Libreria Parti) potrebbero non voler duplicare tutti i dati e potrebbero scegliere di continuare a utilizzare l'ultima cartella di configurazione trovata (per le versioni precedenti alla 1.1 questa è una directory senza controllo di versione). In questo modo si corre il rischio che una nuova configurazione o un nuovo componente aggiuntivo impedisca il corretto caricamento di una versione precedente di FreeCAD.
Questa opzione crea una nuova directory di configurazione con versione, ma non copia nulla al suo interno, avviando la nuova installazione con le nuove impostazioni "predefinite di fabbrica".
Se il tuo componente aggiuntivo si basava sulla registrazione/memorizzazione della posizione assoluta dei suoi file (anziché sulla loro posizione relativa a userAppDataDir o configDir), si deve indicare che i file sono stati migrati e aggiornare le variabili di configurazione memorizzate. Sono disponibili diversi metodi Python per facilitare questo processo, in particolare FreeCAD.ApplicationDirectories.versionStringForPath(major, minor) e FreeCAD.ApplicationDirectories.versionStringForPath.usingCurrentVersionConfig(pathToCheck).