Skip to content

Cyclus 1.5.0

Compare
Choose a tag to compare
@bam241 bam241 released this 13 Dec 17:27
· 2213 commits to main since this release

Changelog:

Compatibility:

  • C++ 11 support is now required to compile Cyclus and Cycamore.
  • Resource exchange preferences now default to 1.0 instead of zero.

Features:

  • Resource exchange now supports COIN linear and mixed integer linear solvers.
    This can be specified in the input file.
  • Added new optional :ref:ExplicitInventory <explicit-inv-table> and
    :ref:ExplicitInventoryCompact <explicit-inv-compact-table> tables to the
    database that can be enabled via input file.
  • Implemented custom time step duration that can be set in the input
    file (i.e. CEP 23).
  • Agents/archetypes now can provide their own versions that are recorded in
    the :ref:AgentVersion <agent-version-table> table in the database for
    provenance/reproducibility.
  • Support for new datatypes added to the sqlite backend:
    • std::list<std::pair<int, int> >
    • std::map<std::string, std::pair<std::string, std::vector<double> > >
    • std::vector<std::pair<std::pair<double, double>, std:map<std::string, double > > > >
  • cycpp now supports the internal annotation for state variables
    allowing them to be persisted in the database, but not visible in the input
    file or GUI.
  • Adding 2 new variables allowing to adjust the caculation tolerance:
    tolerance_generic and tolerance_generic.
  • Building stubs archetypes now requires C++11.
  • More effective hdf5 backend generation by using an AST setup with various
    nodes and blocks of nodes
  • Generate lastest version in dbtypes.json upon install
  • Now generate a Python library allowing Cymetric to be full Python

Bug fixes:

  • Fixed floating-point comparison bugs in DRE causing incorrectly failed
    resource trades.
  • Determinism/reproducibility improved by calling agents' resource exchange
    related functions in consistent order.
  • Fixed invalid memory access bugs affecting newer and mac compilers.
  • xinclude substitutions in input files are now processed for the input file
    stored in output databases - rather than storing the incomplete, partial
    input file.
  • Archetype compilation now correctly fails early if the cycpp
    preprocessor fails.
  • Fix late silent failures on <= 0.0 quantity bids to early loud failures.
  • cyclus::toolkit::ResBuf is no longer experimental.
  • Fix bad types in dbtypes.json