Seeing a banner about legacy files? Here's what you need to know.
If you're seeing this on Elixir or Elm after starting using v3, is is most likely because those tracks have changed their file structures. See the sections at the bottom of this document for how to deal with this change.
If you're using the Exercism online editor, you might sometimes come across a warning about legacy files. There are two reasons you might see this.
When you're using the CLI, you can upload any files you choose. However, the online editor only allows you to edit files it knows about. So if you upload a file that the editor doesn't know about, it won't let you edit it, and will show you a warning in case you want to delete it.
Sometimes the structure of exercises changes.
Files might get renamed, or whole exercise structures might change.
While we try to avoid this, sometimes it is pragmatically the right decision.
For example, a track might change its build system, as Elixir did when moving from
Or the normal directory structure within a language might change, as happened with Elm when they moved everything into subdirectories.
In these situations we can't automatically move the files for you, so there's some manual work for you to do. In the editor you'll see the old solution file(s) (with a legacy banner), and the stub of the new solution file. Copy your work from the old file to the new one, and tweak any code that needs changing. Once the tests are passing you can delete your old solution file, and forget any of this ever happened 🙂
When you delete a legacy file it does not affect previous iterations. That file will still exist within those iterations. Deleting a file simply removes it from the next iteration that you submit via the editor.
In July 2019, Elixir changed its exercise structure from using Elixir scripts (
*.exs files) to a complete Mix project for each exercise.
In order to use the features of v3, copy your solution to the stub file located at
You don't need to move the test file, the updated version will already be present in the correct location.
At the launch of v3, Elm changed its exercises.