Version management

From SweepMe! Wiki
Jump to: navigation, search

Last updated for: Version

SweepMe! is under continuous development. This article will inform you about the meaning of the version number and how to handle different SweepMe! versions in order to simplify the migration to a newer version.

To get informed about new versions, follow us on Twitter

Version number

A SweepMe! version consists of 4 number e.g.

The possitions have the following meaning:

  1. The first number is related to the basic architecture of SweepMe! and this number would change if we would rebuild SweepMe! from scratch.
  2. The second number indicates a major change of the program that typically involves larger compatibility breaks.
  3. The third number refers to the development of new features, contents, optimizations etc. Smaller compatibility breaks are possible but we try to keep the program downward compatible as much as possible.
  4. The last number corresponds to the iterative bugfixing and testing that has been done so far for the version related to the first three numbers.

Version handling

Multiple versions of SweepMe! can be installed on the one computer at the same time. To keep track of all versions we recommend the following directory structure:


where x.x.x.x is the version number. If you like to change to a newer version, you can install it in parallel to your existing version in order to test your settings. It might happen that some adaptions are needed to make your old settings working again. If everything works again, the old version can be removed just by deleting the folder. SweepMe! does not change the registry of the operating system, so that uninstalling SweepMe! via the operating systems is not needed.

Update vs. Upgrade

As the last number of the version is related to bugfixes, you can always update SweepMe! e.g. from version to version or higher without having trouble with changes in the program. If you encounter any bugs, please check first whether any download for your version, e.g. 1.5.3.x is available.

An upgrade is basically done if not just the last number of the version changes, e.g. a change from version 1.5.3.x to version 1.5.4.x. In that case, you have to read the Changelog and the Migration guide below to make sure that you do not miss any relevant changes.

Migration to a newer version

Migration to version 1.5.3.x

  • When using the installer, a path like "C:\SweepMe!\SweepM!x.x.x.x." will be suggested. Thus, different versions can be installed at the same time. However, please make sure that there is no old version in "C:\SweepMe!" that has not yet any version-related subfolder.
  • Setting are now stored in a public folder of the public user of the operating system. Copy your old settings from your previous version to the public settings folder that you can find via File -> Open Folder -> Settings
  • SweepScripts are now stored in a public folder of the public user of the operating system. Copy your old SweepScripts from your previous version to the public SweepScripts folder that you can find via File -> Open Folder -> Public
  • Calibration files, e.g. used for the Device Classes of the Spectrometer module, are now stored inside a public folder as well. Copy your calibrations to the folder 'CalibrationFiles' inside the public folder which can be found via File -> Open Folder -> Public.
  • Whenever Device Classes need external libraries such as dll files, they can be saved now in the folder 'ExternalLibraries' which can be found inside the public folder (File -> Open Folder -> Public)
  • Your measurement data will be saved now in the folder 'Measurement' located in the public folder (File -> Open Folder -> Public). Please renew any desktop link that you created to easily find your data.
  • The Module MakeFile now creates a header with three rows. When you load and evaluate your data later on, you might have to change your import filters and scripts. Please, find a guide how to import SweepMe! data here: Loading data files
  • Check your settings and renew them if needed.
  • Device Class development: It might be necessary to change the use of the function "set_GUIparameter". The dictionary which is returned by this function must now contain all keys related to GUI elements that should be enabled and a corresponding default values. Thus, users can see which parameters are supported by a Device Class.
  • Device Class development: In case your Device Class was developed for the Module Logger or Switch, the Parameters-Line is no longer available. Instead, you can dynamically create GUI elements yourself, just by returning keys and default values using "set_GUIparmeter"