History#
- 2026.10.3 – Tables are stored in the job’s database
Flowchart tables – made by the Table step or by steps storing results in a table – are now kept in the job’s
seamm.dbinstead of only in memory, so a job’s tables are saved with it even if it never writes them to a file. This is the groundwork for restarting flowcharts and running loops in parallel.A new row gets its columns’ defaults rather than NaN, so integer and boolean columns keep their types.
Steps that handle tables directly must be new enough for this: table_step, loop_step, properties_step and geometry_analysis_step 2026.10.3 or later. Older versions are refused before the flowchart starts, with a message saying what to update. Plug-ins that only store results in tables need no change.
With
--read-only, tables can be read, looped over and saved to files, but a flowchart that writes a table stops with a clear message.The job database is committed after every step.
Bugfix: older flowcharts whose steps say a structure should “be put in a new configuration” (and similar old wording) failed in every step that used it; the old wording is now understood (#221).
Bugfix: a system name taken from a file parameter (a path) crashed the step describing it (#220).
For plug-in developers:
seamm.Tableand “Tables in a plug-in” in the developer guide.
- 2026.10.2.2 – The MCP server offers SEAMM for property calculations
The MCP server now tells AI assistants when to offer SEAMM. Asked to calculate a molecular or materials property, or asked about one that can be computed, the assistant gives any known values and their source, then offers in a line or two to calculate it with SEAMM: a method suited to the property and the system, the time it will take, and a cheaper or a more accurate alternative. It proposes only installed methods, builds nothing until you agree, and still confirms the dashboard, project and queue before submitting.
Converting a format 2.0 flowchart, the message about attributes that are not settings (such as a cached VASP potential list) now says that leaving them out is expected and loses nothing, rather than “dropped attributes”.
- 2026.10.2.1 – Documentation: the upgrade guide for flowchart format 3.0
The user guide’s section on converting an installation’s flowcharts now points to the step-by-step guide in the main SEAMM documentation, Upgrading to flowchart format 3.0: updating, converting the jobs, the messages you may see, undoing the conversion, converting your own flowcharts, and the order to update several machines.
The developer notes for the format 3.0 campaign record its current status.
- 2026.10.2 – Flowchart format 3.0 is now written by default
The editor, job submission and everything else now write flowchart format 3.0 by default. 2026.10.1 still wrote 2.0 so that every installation could read 3.0 first.
SEAMM_FLOWCHART_FORMAT=2.0writes the old format if an installation must still exchange flowcharts with one older than 2026.10.1. Jobs saved in 2.0 since updating to 2026.10.1 are converted byseamm-manager flowcharts migrate.The MCP server’s job tools now use a dashboard without credentials, as SEAMM’s dashboard client does: a web interface running without logins (for example one listening only on 127.0.0.1) needs none, and refuses made-up ones.
- 2026.10.1 – Flowcharts without the editor, and flowchart format 3.0
Flowcharts can now be built, read, changed and checked without the graphical editor, with the same checks the editor makes: the
seamm-flowchartcommand (steps,describe,build,show,tree,set,insert,remove,move,validate,convert), short YAML specs that give only what differs from the defaults, and Python (seamm.builder,seamm.spec,seamm.edit). See “Flowcharts without the editor” in the user guide.A new, readable flowchart format 3.0 (YAML) holding the metadata, the plug-in versions, a digest of the whole flowchart (the old digest stopped at the first loop), every parameter, unconnected steps and the layout. Format 2.0 is still read, through a converter that never changes. This release still writes 2.0 by default from the editor, so that every installation reads 3.0 before any writes it; the next release writes 3.0.
SEAMM_FLOWCHART_FORMATchooses now.seamm-flowchart migrateconverts an installation’s job flowcharts and datastore to 3.0 (backing up the datastore);seamm-manager flowcharts migratewraps it for users.Steps can declare which of their parameters apply given the others, narrow choices and fill in values that follow from others; their dialogs and these tools share the rules, so a setting with no effect is refused with the reason.
seamm-flowchart mcp: an MCP server giving AI assistants (Claude Desktop, Claude Code, …) these operations as tools, plus submitting and following jobs through a dashboard. Optional:pip install 'seamm[mcp]'.Bugfix: using SEAMM from several threads at once could wipe
~/.seamm.d/seammrc, losing every dashboard’s credentials. Saves are now atomic and never overwrite the file with an empty one.Bugfix: graph templates and plug-ins’ citations were not found when SEAMM or a plug-in was installed for development (editable).
Reading and editing flowcharts is several times faster: each plug-in’s bibliography is parsed once, not for every step.
- 2026.9.29 – Bugfix: flowcharts with steps that have no position now open
Opening a flowchart in which a step had no position on the canvas – one written by a script or another program rather than the editor – failed with “TypeError: unsupported operand type(s) for -: ‘NoneType’ and ‘float’”. Such steps are now placed below the step leading into them, moving the steps below down a row as when a step is inserted by hand, in the flowchart and in the sub-flowcharts of steps such as LAMMPS.
- 2026.9.27 – Data, dashboards and flowcharts follow the installation
Data files such as
local:forcefields were looked up only in~/SEAMM/data(after the user’s~/.seamm.d/data). They are now looked up in thedatadirectory of the SEAMM installation in use first, then in~/SEAMM/data, so a second installation such as~/SEAMM_DEVcan have its own data and still sees the default installation’s.The list of dashboards is read from the installation’s
dashboards.ini, or~/SEAMM/dashboards.iniif it has none. Thedashboardsoption was never honoured before, because of a lookup in the wrong place; it is now.The Open dialog’s default folder for flowcharts follows the installation in the same way.
Requires seamm-util 2026.9.27.1.
- 2026.9.25.1 – Internal: drop an unused dependency on seamm-datastore
seamm listed seamm-datastore as a requirement but never imports it; the datastore is used by seamm-exec and the web interface. Removing the requirement changes nothing for a normal installation, which installs all the SEAMM packages anyway.
- 2026.9.25 – Bugfix: right-click did nothing in the flowchart editor with Tk 9
On macOS the flowchart editor listened for the right mouse button as Tk 8.6 numbers it. Tk 9, which Python builds are starting to ship with, numbers the right button the same way on every platform, so under Tk 9 the context menu (edit, delete, …) never appeared. The editor now accepts either numbering, so it works with both Tk 8.6 and Tk 9.
- 2026.9.20 – Bugfix: a property with no units could stop a job
A step storing its results could fail on a property that has no units, such as a statistical inefficiency, if the property already existed in the database with its units undefined rather than empty – which was the case for any structure read from a file written by an earlier job. The step warned that it could not save the property, and for a property holding a vector, such as the stress, the job stopped altogether. The two are now treated alike, so such a property is stored correctly.
A property whose units cannot be converted now warns and carries on, as it already did for single values, rather than stopping the job.
- 2026.9.19 – Bugfix: TkNode.previous_nodes() while editing a flowchart
TkNode.previous_nodes()now follows the editor’s own graph. While a flowchart is being built the connections exist only there (the non-graphical flowchart is rebuilt when the flowchart is saved or run), so a step’s dialog asking whether e.g. a Model Chemistry step precedes it saw nothing and showed its “add a Model Chemistry step” reminder even when one was there.
- 2026.9.18.1 – Standard structure-selection parameters for plug-ins
Added
seamm.standard_parameters.structure_selection_parameters, a standard block a step can include to let the user choose which existing structures it works on – the current system, all systems, or systems by name (is / matches / regexp), and of each the current, all, last, first, or by-name configurations; a variable holding a list of configurations or systems is also accepted. The defaults are the current configuration of the current system.Node.select_configurations(P)(and the underlyingselect_configurations(system_db, P)) implements the selection once for all plug-ins, with a clear error when nothing matches;structure_selection_description(P)gives the sentence for the step description;TkNode.create_structure_selection_widgetsandlayout_structure_selectionlay the block out uniformly, showing a name field only when the choice needs one. Documented in the developer guide.
- 2026.9.18 – Bugfix: pip metadata lacked pyperclip; distutils import removed
pip install seammdid not installpyperclip, which the flowchart editor’s paste needs, so importing SEAMM outside a conda-forge environment failed withNo module named 'pyperclip'. It is now an install requirement (the conda-forge recipe already had it).Removed the last use of
distutils(strtoboolin the parameters), which was dropped from the standard library in Python 3.12 and only worked where setuptools happened to be installed.
- 2026.9.17 – Bugfix: steps failed to load with bibtexparser 2.x
Version 2 of the
bibtexparserlibrary, which conda-forge now installs by default, removed the API that SEAMM andreference_handleruse to read the plug-ins’references.bibfiles. Creating any step then failed withmodule 'bibtexparser' has no attribute 'loads'. SEAMM now requiresbibtexparser<2.
- 2026.9.15 – Bugfix: a queue override could not be cleared once chosen
A SLURM directive the queue offers as a list of choices, such as the number of GPUs, is shown in the submission dialog as a drop-down. The list held only real choices, so once one was picked there was no way back to blank – and blank is what means “do not set this directive”. A directive chosen by accident, or no longer wanted, could not be removed without restarting the dialog. The list now starts with a blank entry.
- 2026.8.11 – Bugfix: no way to trust a self-signed dashboard TLS certificate
dashboards.inigained a per-dashboardverifykey (seeseamm_dashboard_client2026.8.11): blank/absent – unchanged normal certificate verification;true/false– verify normally or not at all; anything else is a path to a certificate file to verify against instead of the system trust store – e.g. a self-signedseamm_webuicertificate, which had no way to be trusted at all before this, hard-failing login withSSLCertVerificationError. The “Add Dashboard” dialog gained a matching “Verify SSL” field, and its Protocol choices now includehttps.protocolindashboards.iniwas already unused at connection time (only the scheme literally inurlmatters) – unchanged, but worth knowing if a dashboard entry hasprotocol = httpandurl = https://...disagreeing, since onlyurlis honored.
- 2026.8.10 – Queue picker in the job submission dialog, and two dashboard-switching bugs
The submit dialog now offers a Queue picker (which cluster, or a local queue, the JobServer should route the job to) when the selected dashboard’s paired JobServer has more than one configured – hidden entirely when it doesn’t, rather than shown with nothing to pick. Whichever queue is selected can also expose per-job overrides (e.g. how many cores, how much memory) within whatever bounds the site allows; a field left blank uses the site’s own default.
Bugfix: switching dashboards in the submit dialog had a long-standing typo that silently broke the app’s own bookkeeping of which dashboard was actually selected.
Bugfix: adding a new dashboard (the “add dashboard…” button) never refreshed the project/queue lists for it – they stayed showing whatever the previously-selected dashboard had until the user manually reselected the new one from the dropdown.
- 2026.7.28.1 – Bugfix: sanitize ‘/’ in model chemistry names; {model} in result names
Node.modelnow collapses any extra/in a model-chemistry string onto-, keeping only the last/as the method/basis separator. This fixes model names such as ORCA’sREVDSD-PBEP86-D4/2021functional combined with a basis set, which previously produced an ambiguous name likeREVDSD-PBEP86-D4/2021/def2-QZVPP.{model}can now be used in thevariable,table, andcolumnnames of a step’s results, substituted with the current model chemistry. This was already supported for the databasepropertyname; it is now consistent across all the places a result can be saved.
- 2026.7.28 – file_path(): read-only cross-job references, no more sandboxing
Node.file_path()no longer restricts absolute paths to within the current job when running under a jobserver. That check was inconsistent (it did not apply to local/interactive runs at all) and not a real security boundary in any case (a flowchart can already run arbitrary Python via the Custom step); it mainly got in the way of legitimate uses such as gathering results into a folder in the user’s home directory. Absolute (and~) paths are now always used as-is, trusting the filesystem’s own permissions.file_path()gains aread_onlyargument and now understandsjob://<job number>/<name>– read a file from another job, located via SEAMM’s managedJobs/<project>/Job_NNNNNNlayout. This only resolves whenread_only=True: a job may read another job’s files but must never write into one, so it raises otherwise. The existingjob:NAME/job:///NAMEshorthand (this job, no number) is unchanged, and a couple of related bugs (a stray/in ajob:reference silently resolving to the filesystem root) are fixed as part of the same rewrite.gaussian_step,vasp_step,golden_step, andcontrol_parameters_stepnow passread_only=Truefor the calls that read a file (an initial checkpoint/wavefunction, an expected-results file, a file-typed control parameter), so those can now reference another job’s files the same way.
- 2026.7.6 – Added a helper to find preceding steps in a flowchart
Node.previous_nodes()(and the matchingTkNode.previous_nodes()) returns the steps preceding a given step, optionally filtered by type – useful for checking whether a particular kind of step, such as a Model Chemistry step, comes earlier in the flow.
- 2026.3.19 – When finding files, return the link not the file pointed at
With e.g. the MLFFs it is convenient to create links in e.g. the personal forcefield directory pointing at the (large) model files. If the links have different extensions than the underlying files, it is necessary to return the link, not the underlying file, so that the forcefield type can be correctly identified. This fix makes that happen.
2026.2.26 – Internal: moving from pkg_resources to importlib.resources
- 2025.10.22 – Enhancement for extra keywords
Small enhancement to the GUI code to allow a code, such as VASP, that always has keyword = value to let the extra keywords tab know there will always be a value.
- 2025.10.21 – Bugfix: error caused by variables in parameters
Fixed an issue with variables in boolean parameters that caused the code to crash.
- 2025.9.24 – Small enhancements and catching errors.
Added better control over the width of widgets displaying parameters.
Catch and report errors storing properties to the database, but continue on in any case.
- 2025.9.6 – Bugfix: Error handling f-strings in variables
Fixed an issue that caused a crash handling f-strings in some parameters in the GUI.
- 2025.9.5 – Bugfix: Error handling ‘==’ in parameters
Corrected an issue with “==” as the value of a parameter. The GUI’s for handling queries and searching use “==” for equality, but this was misintepreted as indicating a variable or expression to evaluate.
- 2025.8.27 – Bugfix: error with missing units for some parameters
If the value of a parameter was in the enumeration of possible values, and was a numerical value, any units were dropped. Now they are kept, though if the value is a text string, like ‘default’, the units are left off.
Adding the equals sign, “=”, as as prefix for variables and expressions, in addition dollar signs, “$”.
- 2025.8.19 – Bugfix: error in setting name of system & configuration
Fixed an error that occurred sometimes when setting the name of the system and/or configuration.
- 2025.8.18 – Improved line graphs
Added more control over graphs: fontsize, grid color, etc. to better support plug-ins and to allow output to PDF, JPG, and other formats.
- 2025.8.12 – Streamlining internal code
Standardized handling of paths of local files in jobs
Added translation from the spin multiplicity to the spin state, e.g. singlet, triplet, etc.
- 2025.8.5 – Bugfix: path for custom forcefields in jobs
When running from the JobServer the path for custom forcefields did not include ~/.seamm.d/data or ~/SEAMM/data. This is now corrected.
- 2025.5.27 – Enhancement when storing results in tables.
When storing e.g. diffusivity results in a table, the diffusion constants are keyed by the SMILES of the component. If it is a pure fluid with only one component, this enhancement allows using a column name with the SMILES key, which is useful if running a number of different fluids. Otherwise each has unique columns including the SMILES in the column name.
- 2025.4.30 – Bugfix: Error naming systems and configurations
Fixed a bug that occurred trying to set the name of a system or configuration to early, when it had atoms, causing errors.
- 2025.3.4 – Bugfix: Creating a new configurarion ignored discard structure
Fixed the code to create new structures, which did not correctly handle the standard “Discard the structure” option.
Improved the output when discarding the structure.
- 2025.2.24 – Changed option to “Discard the structure”
Changed the standard option to “Discard the structure” to indicate that the structure should not be saved in the database.
- 2025.2.23 – Added isomeric SMILES to structure names and ability to discard
Added ability to ignore or discard a structure from e.g. optimization
Added isomeric SMILES to the possible names for systems and configurations
- 2024.12.7 – Bugfix: Incorrect handling of JSON properties
Any properties that were not a scalar had an issue when being transformed to and from JSON. This is now fixed.
Truncated values with known units reasonablt so that they are more readable in tables. For example, 1.23400000001 kJ/mol is now 1.234 kJ/mol.
- 2024.11.29 – Chemical formulas option for system names, cleaner tables.
Added chemical formula to possible names for systems and configurations.
Truncated results put in tables, based on units, to make more readable.
- 2024.11.3 – Bugfix: removed debug printing in the flowchart
Removed debug printing that was accidentally left in the flowchart code.
- 2024.11.1 – Enhancement: subflowcharts and menus handling flowcharts
Added a subflowchart step to allow calling another flowchart from within a flowchart.
Added copy/cut/paste for flowcharts in the menus and shortcuts
Enhanced the menus and bindings for operations on flowcharts so that they act on the currently active flowchart or subflowchart.
- 2024.10.20 – Improvements in opening flowcharts
Removed directories and files not ending in “.flow” from the list of flowcharts that can be opened.
When getting a flowchart from a previous job, the list of jobs is reversed so the most recent is at the top.
Enhanced the handling of parameters to support e.g. lists of values with the normal units attached. Used in e.g. thermochemistry to allow lists of temperatures and pressures with associated units.
- 2024.10.13 – Bugfix: Issue changing units for some parameters
Fixed a problem converting e.g. E_h to kJ/mol in the GUI widgets. The problem occurred whenever the conversion was not direct but involved different quantities.
Internal enhancement: exposed the metadata to graphical nodes as a property.
- 2024.8.21 – Bugfix: Error using variable in stucture handling
The standard structure handling widgets and methods had an error is the approach was a variable rather than one of the choices.
- 2024.8.17 – Enhancements to line graphs
Added multiple axes to line graphs.
Updated to correct version of plotly. ‘latest’ is actually not.
- 2024.7.28 – Updating standard parameters for systems and configurations
Cleaned up and add to the standard parameters used for naming system and configurations. ‘title’ refers to the title in the file, if it exists.
- 2024.7.21 – Allows capital letters in variables and columns for results
Allows capital letters for the variables, column names, etc. that results are stored in. For example, ‘T’, ‘P’, and ‘V’.
- 2024.6.27 – Added support for using local data files.
Added support in the Flowchart and Node classes for using local data files for e.g. forcefields. This allows the user to specify a local file, which is copied to the working directory of the job.
Also added a flag to both the Flowchart and Node classes indicating that the job is running in the JobServer rather than command-line.
2024.5.27 – Bugfix: Error saving results table.
- 2024.5.26 – Bugfix: Error when clicking “Cancel” on some dialogs
Dialogs that have a Results tab – mainly the computational engines – raised an error if the “Cancel” button was clicked. “OK” worked. This fixes the problem.
2024.5.3.1 – Bugfix: JSON in Results GUI not set correctly.
- 2024.5.3 – Added the time to Results.json
Adding time into the Results.json file will allow ensuring that the most recent data is used, when there are duplicates.
- 2024.5.1 – Added ability to store results in Results.json file
Added column in the results tab for saving results to JSON
Added separators between the columns of the results table to make clearer which parameters go together.
- 2024.4.22 – Moving user preferences to ~/.seamm.d
To better support Docker, moving ~/.seammrc to ~/.seamm.d/seamrc
- 2024.1.2 – Corrected issue with citations in development versions
Fixed an issue getting the date of a plug-in for development versions of the plug-in. This did not affect end users, but did cause issues for development.
- 2023.12.18 – Moving execution of flowcharts to seamm-exec
Moved execution of flowcharts to seamm-exec to consolidate execution in one place. This will allow easier, faster developement for running in queues, etc.
Switched the dependency on PMW from CondaForge to PIP since the version on CondaForge is poorly maintained.
- 2023.12.12 – Moving ~/.seammrc to ~/.seamm.d/seammrc
Should have no effect on users. The seammrc file will be moved automatically to its new location. This change is necessary to be able to run SEAMM in containers.
- 2023.11.15 – Add boolean options when submitting jobs
Added boolean control parameters when submitting jobs.
Bugfix: The previous change to allow running “flowchart.flow” in the current directory caused a bug in other scenarios.
- 2023.11.12 – Allowing running flowchart.flow in current directory
There was a feature which prevented running a flowchart named “flowchart.flow” in the current directory when running from the commandline.
- 2023.11.11 – Incorporating changes to Zenodo
Zenodo updated and made small changes to their API, which required changes in SEAMM.
Consolidated all private information about the user and their keys for Zenodo in ~/.seammrc
- 2023.11.7 – Bugfix: initialization of Dashboard
Fixed a crash that occurred the very first time submitting to the Dashboard.
- 2023.10.30 – Extending and cleaning up handling of configurations
Added ability to name systems and configurations with the IUPAC name, InChI, or InChIKey of the configuration.
Generally cleanedup and streamlined the code handling new systems and configurations.
- 2023.9.26.1 – Bugfix: system naming
Fixed a bug with keeping the current name when updating a system.
- 2023.9.26 – Added units to header in tables, and bugfixes.
The headers for table columns now include units when generated automatically when writing results. Existing columns are not changed.
Changed the join step image and added the code to enable deleting it.
Fixed an issue with the sizie of subwindows in edit dialogs
- 2023.8.30 – Added support for keyed columns in table output
Caught errors when writing out the final structures for viewing and improved messages in such cases.
Keyed columns in table output are used for e.g. the diffusion coefficients of multi-component fluids, where the column is expanded for each component.
- 2023.7.10 – Adding JSON for properties in the database and tabels; bugfixes
Handle non-scalar results using JSON so they can be output to tables and added to the properties in the database.
Fixed error submitting jobs to Dashboard the user doesn’t have a login for.
Ask for credentials when adding a new dashboard to job dialog.
Fixed bug creating a new project.
- 2023.6.28 – Improved error handling contacting Dashboards.
Trap and display errors when contacting Dashboards
Allow SEAMM to continue despite such errors
2023.5.29 – Fixed bug with missing directories when executing codes
- 2023.4.24 – Enhancements for thermal conductivity
Enhanced handling of command-line options to supported self contained flowcharts.
Various enhancements to graphs to better present results.
Added tracebacks to error report to identify the code responsible for the issue.
Correctly remember the filename for flowcharts opened from disk.
- 2023.4.6 – Bugfix: issue running standalone
When a description was not provided in either the command-line or the flowchart, running standlone crashed.
- 2023.3.31 – Bugfix: formatting of dates
Fixed a minor issue with formatting the dates in Job.out.
- 2023.3.23 – Updates for new JobServer
Jobs running from the JobServer now update their status in the datastore as they finish. This helps support jobs continuing if the JobServer crashes or stops.
- 2023.3.8 – Fixed bug running from command-line (Incorrectly labeled 2023.4.8!)
Fixed bug running from the command-line when giving project so the job is put in the datastore.
Improved handling of title and description both when running from the command-line and GUI, defaulting to the title and description of the flowchart.
- 2023.2.15 –
Improved handling of structures
Added ability to run simulations engine in a given directory, typically the step directory. This allows users to see the outputs during the simulation rather than having to wait until the end.
Added support allowing a flowchart to be run as a sub-flowchart.
- 2022.10.23 – Simplified plug-ins
Better support for plug-ins and the SEAMM cookiecutter:
Automated most handling of results and properties, based on metadata
Simplified handling of sub-flowcharts.
- 2022.10.20 – Properties in database
Added support for handling properties the database.
- 2022.9.13 – Bugfix: reading MOPAC .mop files
Fixed a bug that impacted read-structure-step finding MOPAC to use as a helper when reading .mop files.
- 2022.9.8 – Remembering location of flowcharts
Added memory of where you were last opening flowcharts, and directories that you use, to make it a bit easier.
- 2022.7.25 – DOS and Band Structure graphs
Adding support for combined bandstructure/DOS graphs.
- 2022.6.9 – Addeded –version option
Added a –version argument to print version and stop. by @paulsaxe in #130
Switched to reusable GitHub workflows (internal development improvement).
- 0.1.0 (2018-01-20) – Initial Release!
First release on PyPI.