Skip to content
Choose a tag to compare


@cyrush cyrush released this
Choose a tag to compare

0.4.0 Release Highlights

(adapted from Conduit's Changelog)


  • Added Generic IO Handle class (relay::io::IOHandle) with C++ and Python APIs, tests, and docs.

  • Added rename_child method to Schema and Node

  • Added generation and install of for using-with-make example

  • Added datatype helpers for long long and long double

  • Added error for empty path fetch

  • Added C functions for setting error, warning, info handlers.

  • Added limited set of C bindings for DataType

  • Added C bindings for relay IO

  • Added several more functions to conduit node python interfaces

  • Blueprint: Added implicit point topology docs and example

  • Blueprint: Added julia and spiral mesh bp examples

  • Blueprint: Added mesh topology transformations to blueprint

  • Blueprint: Added polygonal mesh support to mesh blueprint

  • Blueprint: Added verify method for mesh blueprint nestset

  • Relay: Added ADIOS Support, enabling ADIOS read and write of Node objects.

  • Relay: Added a relay::mpi::io library that mirrors the API of relay::io, except that all functions take an MPI communicator. The functions are implemented in parallel for the ADIOS protocol. For other protocols, they will behave the same as the serial functions in relay::io. For the ADIOS protocol, the save() and save_merged() functions operate collectively within a communicator to enable multiple MPI ranks to save data to a single file as separate "domains".

  • Relay: Added an add_time_step() function to that lets the caller append data collectively to an existing ADIOS file

  • Relay: Added a function to query the number of time steps and the number of domains in a ADIOS file.

  • Relay: Added versions of save and save_merged that take an options node.

  • Relay: Added C API for new save, save_merged functions.

  • Relay: Added method to list an HDF5 group's child names

  • Relay: Added save and append methods to the HDF5 I/O interface

  • Relay: Added docs and examples for relay io


  • Changed mapping of c types to bit-width style to be compatible with C++11 std bit-width types when C++11 is enabled

  • Several improvements to uberenv, our automated build process, and building directions

  • Upgraded the type system with more explicit signed support

  • Relay: Improvements to the Silo mesh writer

  • Relay: Refactor to support both relay::io and relay::mpi::io namespaces.

  • Relay: Refactor to add support for steps and domains to I/O interfaces

  • Relay: Changed to only use libver latest setting for for hdf5 1.8 to minimize compatibility issues


  • Fixed bugs with std::vector gap methods

  • Fixed A few C function names in conduit_node.h

  • Fixed bug in python that was requesting unsigned array for signed cases

  • Fixed issue with Node::diff failing for string data with offsets

  • Fixes for building on BlueOS with the xl compiler

  • Blueprint: Fixed validity status for blueprint functions

  • Blueprint: Fixed improper error reporting for Blueprint references

  • Relay: Relay I/O exceptions are now forwarded to python

  • Relay: Fixed MPI send_with_schema bug when data was compact but not contiguous

  • Relay: Switched to use MPI bit-width style data type enums in relay::mpi