# Compatibility of plugins We strive to maintain compatibility for user written plugins with new versions of ASPECT for as long as possible. However, occasionally we have to restructure interface classes to improve ASPECT further. This is in particular true for new major versions. In order to allow running old plugins with newer ASPECT versions, we provide scripts that can automatically update existing plugins to the new syntax. Executing `doc/update_source_files.sh` with one or more plugin files as arguments will create a backup of the old file (named `old_filename.bak`), and replace the existing file with a version that should work with the current ASPECT version. Using this script would look like this: ``` ksh bash contrib/utilities/update_source_files.sh cookbooks/finite_strain/finite_strain.cc ``` :::{note} Not all text replacements are unique, and the structure of plugin files allows for constructs the script can not properly parse. Thus, it is important that you check your updated plugin file for errors. That being said, all plugin files in the main ASPECT repository are updated successfully using this script. :::