Project files across versions
Older project files always open; files saved by a newer Axomek open read-only, so nothing in them is lost.
A project file (.axm.json, or .bsw.json from before the rename) records its file format and which Axomek saved it. Each version of Axomek reads every older file, and never quietly drops what a newer one saved.
Files from an older Axomek
They open as usual. Axomek brings them up to the current file format in memory only: opening a file never changes it.
The first time you save over such a file, the desktop app (and axm) keeps the original next to it as <name>.bak, for example pump.axm.json.bak, and says so once. An existing .bak file is left as it is. Later saves need no backup.
In the web app a save writes the file itself (or downloads a copy), so there is no .bak; the app tells you once that the project is now in the current format. A cloud project keeps the save before as an earlier save instead (see Your projects), so the note says where to find it when you save an older cloud project.
Files from a newer Axomek
A newer Axomek may save things this version does not know yet. Such a project opens read-only, with a bar that says which version saved it:
- Solving, results, reports, exports and every view work as usual.
- Editing, undo, redo and saving are off, saving a copy too: the copy would leave out what this version does not know.
- "What this version does not know" lists those parts of the file.
To edit it, update Axomek: in the desktop app, use the bar's Update Axomek or Check for updates button (or Check for updates… in the account menu); the web app is always the latest version, so the bar's Reload is enough. Then open the project again.
A file in a newer file format altogether does not open, with a message saying which version saved it.
The command line
axm follows the same rules. Commands that only read a project (describe, validate, solve, report, export) work on a file from a newer Axomek and add a warning. Commands that would save it stop with the error newerFile and leave the file as it is. See Command line and AI agents.