All notable changes to CARE will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
CHANGELOG.mdfile to track changes in the project.CONTRIBUTING.mdfile to provide guidelines for contributing to the project.
0.8.0 - 2026-07-06
- S, Br, Cl, F to the list of supported elements for CRN generation.
- Property
ReactionNetwork.global_reactionsto get list of all global reactions represented by the CRN. - Class
GlobalReactionto represent a global reaction in the CRN. - Link to Google Colab in the README.md for easy testing of CARE functionalities in notebook
care_demo.ipynb.
- functions from
care.crn.utils.species.pymodule that were not used in the project.
0.7.0 - 2026-06-24
- dependency
autoadsorbatefor ACAT. ReactionNetworkfactory methodsfrom_chemical_space,from_cutoffs, andfrom_speciesto generate CRNs from chemical space, carbon and oxygen cutoffs, and reactants/products, respectively.
- Type annotation in
care.evaluators.GameNetUQcreating import errors to the rest of the code whengamenetuqoptional dependency was not installed. - Reference energy of the catalyst surface when MLIPs are used, in the case of large adsorbates requiring extension of the catalyst slab.
- ACAT-based active site detection, now relying on
pymatgenAdsorbateSiteFinder, which is more robust and reliable.
- Upgrade dependencies:
mp-api>=0.46.2,pymatgen>=2025.4.10.
care.Intermediate.gas_configsattribute.
0.6.0 - 2026-05-05
- Interface to UMA MLIP via the new
care.evaluators.FairChemV2IntermediateEvaluatorclass. connectivity:bool item inIntermediate.ads_configsvalues to explicitly tag the final outcome of the structural relaxation in terms of correct adsorbate connectivity.- relaxation guardrails for all MLIPs for scenarios where relaxation of adsorbates leads to dissociation. If the structure dissociates, the lowest-energy configuration after
num_configs * patienceattempts will be kept. - Optional dependencies for
fairchemv1,fairchemv2,mace,orb,upet,sevennetMLIPs, andgamenetuq, which can be installed withpip install care-crn[<mlp>].
- Integration between Python and Julia for microkinetic simulations,
juliacallnow handles the entire setup automatically.
- From static to dynamic versioning with
setuptools_scm. - Shift to Modular Environments: One ML evaluator, one environment. This allows for more flexibility and avoids dependency conflicts between different MLIPs.
care.evaluators.OCPIntermediateEvaluatorrenamed tocare.evaluators.FairChemV1IntermediateEvaluatorfor consistency with the newFairChemV2IntermediateEvaluatorclass.care.evaluators.PETMADIntermediateEvaluatorrenamed tocare.evaluators.UPETIntermediateEvaluator.- GAME-Net-UQ now is an optional dependency of CARE, aligning it with all other ML energy evaluators (pip install care-crn[gamenetuq]).
numpydependency upgraded tonumpy<=2.3.5.rdkitdependency upgraded tordkit==2025.9.1.asedependency upgraded toase==3.26.0. Adapted evaluator interfaces removing keyconvergedfrom stored information for each relaxation.acatdependency upgraded toacat==2.0.3.mp-apidependency upgraded tomp-api==0.46.0.pandasdependency upgraded topandas==2.3.3.pydotdependency upgraded topydot==4.0.1.DifferentialEquations.jlJulia dependency upgraded toDifferentialEquations.jl==8.0.0.
- dependency
torch,torch-geometric. Now these come directly from the optional dependencies of the MLIPs, and are not required by CARE anymore.
0.5.0 - 2026-03-16
care.crn.visualize.write_dotgraphfunction renamed tocare.crn.visualize.plot_crn.care.ReactionNetwork.get_reaction_tablefunction now has an optional bool argumentreturn_dfto return a pandas DataFrame instead of a string.
- Old modules never integrated with CARE functionalities.
0.4.0 - 2026-02-13
care.iosub-package with JSON serializers forReactionNetwork,ElementaryReaction,Intermediate, andSurfaceclasses.
- CRN blueprints directly returned as
ReactionNetworkobjects instead of tuple of dict ofIntermediateand list ofElementaryReactioninstances. - Improved CRN visualization function
care.crn.visualize.write_dotgraph. care.evaluators.utilsmodule depending mainly onnetworkx, and not anymore ontorch-geometric.
0.3.0 - 2025-12-05
- Automated evaluation of selectivity, conversion, and yield from microkinetic simulations.
- Automated Excel report generation of microkinetic simulations results.
- dependency
openpyxlfor Excel report generation.
- Polished
care.adsorption.place_adsorbatefunction.
0.2.0 - 2025-11-20
- Extend
care.adsorption.place_adsorbatefunction for targeted adsorbate placements on user-defined surface sites and adsorbate anchoring atoms. fixed_atomsproperty tocare.Surface. Before, if a surface was created from an user-provided POSCAR with some freezed atoms, the same constraint was not kept after adsorbate placement, but bottom 50% of slab atoms were freezed by default.- Possibility to create
care.Intermediateobjects from user-defined VASP POSCAR files.
0.1.3 - 2025-11-06
- Installation instructions on README.md.
- Bug related to optional dependency
pynanoflannfor Orb MLIP.
0.1.2 - 2025-11-06
- Bug related to optional dependency
pynanoflannfor Orb MLIP.
0.1.1 - 2025-11-06
- Bug related to PyPI dependency compliance
energydiagram.