Skip to content

Change Log#

2026-03-29#

  • Add Change Log to documentation site
  • Automatically link to issues in CHANGELOG.md
  • Remove duplicated attribute validation checks. These are mostly handled by the attribute get functions.
  • Pre-collect coordinates from igraph to significantly improve zmatrix_search speed. Up to 30% faster observed. (#298)
  • Fix TOTAL commands not being executed due to input file parsing bug
  • Allow multiple TOTAL commands per ZMATRIX block
  • Write TOTAL command results to .zmt output files
  • TOTAL = SUM will attempt to convert string attributes to numeric values
  • Reduced the number of mid-loop vector allocations for significant speedups.

2026-03-26#

  • Add error message input to validate_true_false util function.
  • Use validate_string util function in more places.
  • Use ChemRXiv citation
  • Consolidate the text to boolean operation functions into Utils::Comparison. Also adds "!=" to delete_* analyses
  • Re-implement ZMATRIX.TOTAL
  • Rename ZMATRIX.TOTAL PE command to SUM, and adjust accordingly
  • Use the correct name "Z-matrix" where appropriate in the docs.

2026-03-24#

  • Fix links in docs that prevented proper doc compilation.
  • Changed documentation backend to use Zensical instead of mkdocs (#295)
  • Added links to example folders on gitlab in the docs.
  • Added links to wikipedia articles for a few graph theory terms.
  • Added attr_hist analysis (#261)
  • Added GRAPH.ADD.GRAPH command to copy a graph from another block. (#289)
  • Safer internal input file data accessing. Bad cm*-> accesses should throw errors instead of seg-faulting now. (#296)

2026-03-19#

  • Add averaged option to steinhardt parameter based on J Chem Phys, 129, 114707 (2008). (#291)
  • Improve documentation of merge_equal_nodes analysis (#293)
  • Fix gitlab link in docs. (#294)
  • Remove duplicate PBC logging (#292)
  • Consolidate internal utils to src/utils (#277)

2026-03-17#

  • Fix error message for invalid node attribute types in write_node_file.hpp
  • Fix bug in delete_* analyses where the attribute would only be deleted if it was lowercase.
  • Reduce file reading operations in ADD.NODES/EDGES.FROM_FILE commands (#290)
  • Read tilt factors from trajectories. Remove angular PBC parameters. (#2)

2026-03-15#

  • Fix subgraph_* analyses improperly skipping edges in directed graphs. (#282)
  • Move validation step in edg/nds readers to execute block (#283)
  • Guard a delimiter write when no node attributes are supplied in edg/nds files (#284)
  • Fix seg-fault when trying to write PBC bounds for a graph block with no trajectory (#287)
  • Remove old gitlab links and repo name (#286)
  • Add rename_attr analysis (#285)
  • Allow GRAPH.DIRECTED to be called multiple times (#288)

2026-03-08#

  • Replace ghost particle approach with minimum image convention (MIC) for periodic boundary conditions (PBCs) (#279)
    • Remove PBC.CUTOFF setting, add_ghosts analysis, and delete_ghosts analysis
    • Support triclinic (non-orthogonal) cells via upper-triangular box matrix (Initial work towards #2)
    • Apply MIC to all distance, angle, and dihedral calculations
    • Apply MIC to neighbor lists
    • Apply MIC to edge attributes
    • Update tutorial and all relevant docs
  • Update ghost node ghost_of attribute when deleting or merging nodes. Only relevant if analyses were run before the last ZMATRIX_SEARCH. (#274) Superceded by MIC changes in #279
  • Use igraph_incident to handle multi-edges. (#280)

2026-03-03#

  • Fix a link in the docs
  • Fix the nav menu's hiding behavior when zooming in the docs (#270)
  • Fix steinhardt analysis overwriting previous steinhardt calculations with default value (#272)
  • Fix bug where GRAPH.DIRECTED wouldn't use the default combination method when not specified (#273)
  • Fix attribute validation in edge file writer (#278)
  • Fix bug where WRITE.EDGES.ATTRIBUTES.EDGES would fail to write an attribute from ADD.ATTRIBUTE.EDGE.EDGE because there were no edges in the graph.

2026-02-26#

  • Add analysis_utils.hpp to consolidate shared analysis logic
  • Add subgraph_search analysis (#267)
  • Add subgraph_enumerate analysis (#268)
  • Fix the ordering of analysis commands to be alphabetical in the docs
  • Add steinhardt analysis (#269)

2026-02-24#

  • Require that attributes exist before attempting to read from them (#263)
  • Properly skip timestep header row in ADD.EDGES.FROM_FILE (#264)
  • Update error message when attempting out-of-bounds tokens in tokenizer
  • Add missing delimiter between last i attribute and j. (#265)
  • Add subgraph_census analysis (#266)

2026-02-22#

  • Significant updates to docs (#257)
  • Remove the range restriction on angle command parameters (#260)
  • Made compilation flags case-insensitive (#258)
  • Added timestep to the edge file headers (#259)
  • Allow multiple edge file locations (#256)
  • Use an enum instead of manually defined integers for command component types
  • Properly complain when a command component is doubly defined (#262)
  • Refactor input file header parsing
    • Fix appending to the auto-generated header files rather than building from scratch on configuration.
    • Prevent redefinition of the NAME variable
    • Properly require NAME commands at the top of consecutive blocks of the same type
  • Add label_nodes analysis (#255)

2026-02-16#

  • Add CHANGELOG.md
  • Update documentation content and style