diff --git a/CHANGELOG.md b/CHANGELOG.md index e1f2ad015..d2e92f936 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,13 @@ Notable changes to Conduit are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project aspires to adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## [0.7.0] - Released 2021-02-08 ### Changed #### General - Conduit now requires C++11 support. +- Python Node repr string construction now uses `Node.to_summary_string()` ### Added - CMake: Added extra check for include dir vs fully resolved hdf5 path. @@ -37,12 +38,6 @@ and this project aspires to adhere to [Semantic Versioning](https://semver.org/s - Added `material_map` to `conduit::blueprint::mesh:matset::index`, to provide an explicit material name to id mapping. - Added `mat_check` field to `blueprint::mesh::examples::venn`. This field encodes the material info in a scalar field and in the `matset_values` in a way that can be used to easily compare and verify proper construction in other tools. -### Changed - -#### General -- Python Node repr string construction now uses `Node.to_summary_string()` - - ### Fixed #### Relay @@ -54,12 +49,12 @@ and this project aspires to adhere to [Semantic Versioning](https://semver.org/s - Removed `Node::fetch_child` and `Schema::fetch_child` methods for v0.7.0. (Deprecated in v0.6.0 -- prefer `fetch_existing`) - Removed `Schema::to_json` method variants with `detailed` for v0.7.0. (Deprecated in v0.6.0 -- prefer standard `to_json`) - Removed `Schema::save` method variant with `detailed` for v0.7.0. (Deprecated in v0.6.0 -- prefer standard `save`) +- The `master` branch was removed from GitHub (Deprecated in v0.6.0 -- replaced by the `develop` branch) #### Relay - Removed `conduit::relay::io_blueprint::save` methods for v0.7.0. (Deprecated in v0.6.0 -- prefer `conduit::relay::io::blueprint::save_mesh`) - ## [0.6.0] - Released 2020-11-02 ### Added @@ -449,7 +444,9 @@ and this project aspires to adhere to [Semantic Versioning](https://semver.org/s ### Added - Initial Open Source Release on GitHub -[Unreleased]: https://github.com/llnl/conduit/compare/v0.5.1...HEAD +[Unreleased]: https://github.com/llnl/conduit/compare/v0.7.0...HEAD +[0.7.0]: https://github.com/llnl/conduit/compare/v0.6.0...v0.7.0 +[0.6.0]: https://github.com/llnl/conduit/compare/v0.5.1...v0.6.0 [0.5.1]: https://github.com/llnl/conduit/compare/v0.5.0...v0.5.1 [0.5.0]: https://github.com/llnl/conduit/compare/v0.4.0...v0.5.0 [0.4.0]: https://github.com/llnl/conduit/compare/v0.3.1...v0.4.0 diff --git a/scripts/gen_release_tarball.py b/scripts/gen_release_tarball.py new file mode 100644 index 000000000..6df3b264e --- /dev/null +++ b/scripts/gen_release_tarball.py @@ -0,0 +1,32 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and other Conduit +# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and +# other details. No copyright assignment is required to contribute to Conduit. + +import subprocess +import json +from optparse import OptionParser + +def parse_args(): + "Parses args from command line" + parser = OptionParser() + parser.add_option("--version", + dest="ver", + default=None, + help="version string") + opts, extras = parser.parse_args() + # we want a dict b/c + opts = vars(opts) + return opts + + +def main(): + opts = parse_args() + print(json.dumps(opts,indent=2)) + cmd = "scripts/git_archive_all.py --prefix conduit-v{0} conduit-v{0}-src-with-blt.tar.gz".format(opts["ver"]) + print("[sexe: {0}]".format(cmd)) + subprocess.call(cmd,shell=True) + + + +if __name__ == "__main__": + main() diff --git a/scripts/gen_spack_env_script.py b/scripts/gen_spack_env_script.py index a1e6ba5d0..fad9cc960 100644 --- a/scripts/gen_spack_env_script.py +++ b/scripts/gen_spack_env_script.py @@ -1,46 +1,6 @@ -############################################################################### -# Copyright (c) 2015-2019, Lawrence Livermore National Security, LLC. -# -# Produced at the Lawrence Livermore National Laboratory -# -# LLNL-CODE-716457 -# -# All rights reserved. -# -# This file is part of Ascent. -# -# For details, see: http://ascent.readthedocs.io/. -# -# Please also read ascent/LICENSE -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the disclaimer below. -# -# * Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the disclaimer (as noted below) in the -# documentation and/or other materials provided with the distribution. -# -# * Neither the name of the LLNS/LLNL nor the names of its contributors may -# be used to endorse or promote products derived from this software without -# specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE LIVERMORE NATIONAL SECURITY, -# LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################### +# Copyright (c) Lawrence Livermore National Security, LLC and other Conduit +# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and +# other details. No copyright assignment is required to contribute to Conduit. import os import sys import subprocess diff --git a/scripts/gen_uberenv_mirror.py b/scripts/gen_uberenv_mirror.py index 45bd4d89e..9ffcd90db 100644 --- a/scripts/gen_uberenv_mirror.py +++ b/scripts/gen_uberenv_mirror.py @@ -1,46 +1,6 @@ -############################################################################### -# Copyright (c) 2015-2019, Lawrence Livermore National Security, LLC. -# -# Produced at the Lawrence Livermore National Laboratory -# -# LLNL-CODE-716457 -# -# All rights reserved. -# -# This file is part of Ascent. -# -# For details, see: http://ascent.readthedocs.io/. -# -# Please also read ascent/LICENSE -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the disclaimer below. -# -# * Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the disclaimer (as noted below) in the -# documentation and/or other materials provided with the distribution. -# -# * Neither the name of the LLNS/LLNL nor the names of its contributors may -# be used to endorse or promote products derived from this software without -# specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL LAWRENCE LIVERMORE NATIONAL SECURITY, -# LLC, THE U.S. DEPARTMENT OF ENERGY OR CONTRIBUTORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################### +# Copyright (c) Lawrence Livermore National Security, LLC and other Conduit +# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and +# other details. No copyright assignment is required to contribute to Conduit. import os import sys import subprocess diff --git a/scripts/regen_docs_outputs.py b/scripts/regen_docs_outputs.py index 7f1fbefdb..a61050bb4 100755 --- a/scripts/regen_docs_outputs.py +++ b/scripts/regen_docs_outputs.py @@ -1,4 +1,7 @@ #! /usr/bin/env python +# Copyright (c) Lawrence Livermore National Security, LLC and other Conduit +# Project developers. See top-level LICENSE AND COPYRIGHT files for dates and +# other details. No copyright assignment is required to contribute to Conduit. # note: run in build dir, expects src to be ../src from build dir import subprocess import os diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6fa63f3c7..9762754c0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,7 +15,7 @@ endif() # Conduit ################################ -project(conduit VERSION "0.6.0") +project(conduit VERSION "0.7.0") ################################ # Build Options diff --git a/src/docs/sphinx/conf.py b/src/docs/sphinx/conf.py index df033e3cf..bddb55726 100644 --- a/src/docs/sphinx/conf.py +++ b/src/docs/sphinx/conf.py @@ -69,9 +69,9 @@ # built documents. # # The short X.Y version. -version = '0.6.0' +version = '0.7.0' # The full version, including alpha/beta/rc tags. -release = '0.6.0' +release = '0.7.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/src/docs/sphinx/releases.rst b/src/docs/sphinx/releases.rst index 00160404c..2ea55c832 100644 --- a/src/docs/sphinx/releases.rst +++ b/src/docs/sphinx/releases.rst @@ -12,6 +12,82 @@ https://github.com/LLNL/conduit/releases .. note:: Conduit uses `BLT `__ as its core CMake build system. We leverage BLT as a git submodule, however github does not include submodule contents in its automatically created source tarballs. To avoid confusion, starting with v0.3.0 we provide our own source tarballs that include BLT. + +v0.7.0 +--------------------------------- + +* `Source Tarball `__ + +Highlights +++++++++++++++++++++++++++++++++++++ + +(Extracted from Conduit's :download:`Changelog <../../../CHANGELOG.md>`) + + +Changed +~~~~~~~ + + +* **General** + + * Conduit now requires C++11 support. + * Python Node repr string construction now uses ``Node.to_summary_string()`` + +Added +~~~~~ + + * CMake: Added extra check for include dir vs fully resolved hdf5 path. + +* **General** + + * Added a builtin sandboxed header-only version of fmt. The namespace and directory paths were changed to ``conduit_fmt`` to avoid potential symbol collisions with other codes using fmt. Downstream software can use by including ``conduit_fmt/conduit_fmt.h``. + * Added support for using C++11 initializer lists to set Node and DataArray values from numeric arrays. See C++ tutorial docs (https://llnl-conduit.readthedocs.io/en/latest/tutorial_cpp_numeric.html#c-11-initializer-lists) for more details. + * Added a Node::describe() method. This method creates a new node that mirrors the current Node, however each leaf is replaced by summary stats and a truncated display of the values. For use cases with large leaves, printing the describe() output Node is much more helpful for debugging and understanding vs wall of text from other to_string() methods. + * Added conduit::utils::format methods. These methods use fmt to format strings that include fmt style patterns. The formatting arguments are passed as a conduit::Node tree. The ``args`` case allows named arguments (args passed as object) or ordered args (args passed as list). The ``maps`` case also supports named or ordered args and works in conjunction with a ``map_index``. The ``map_index`` is used to fetch a value from an array, or list of strings, which is then passed to fmt. The ``maps`` style of indexed indirection supports generating path strings for non-trivial domain partition mappings in Blueprint. This functionality is also available in Python, via the ``conduit.utils.format`` method. + * Added ``DataArray::fill`` method, which set all elements of a DataArray to a given value. + * Added ``Node::to_summary_string`` methods, which allow you to create truncated strings that describe a node tree, control the max number of children and max number of elements shown. + * Added python support for ``Node.to_summary_string`` + +* **Relay** + + * Added Relay IO Handle mode support for ``a`` (append) and ``t`` (truncate). Truncate allows you to overwrite files when the handle is opened. The default is append, which preserves prior IO Handle behavior. + * Added ``conduit::relay::io::blueprint::save_mesh`` variants, these overwrite existing files (providing relay save semantics) instead of adding mesh data to existing files. We recommend using ``save_mesh`` for most uses cases, b/c in many cases ``write_mesh`` to an existing HDF5 file set can fail due to conflicts with the current HDF5 tree. + * Added ``conduit::relay::io::blueprint::load_mesh`` variants, these reset the passed node before reading mesh data (providing relay load semantics). We recommend using ``load_mesh`` for most uses cases. + * Added ``truncate`` option to ``conduit::relay::io::blueprint::write_mesh``, this is used by ``save_mesh``. + * Improve capture and reporting of I/O errors in ``conduit::relay::[mpi::]io::blueprint::{save_mesh|write_mesh}``. Now in the MPI case, If any rank fails to open or write to a file all ranks will throw an exception. + * Added yaml detection support to ``conduit::relay::io:identify_file_type``. + +* **Blueprint** + + * Added ``conduit::blueprint::mesh::matset::to_silo()`` which converts a valid blueprint matset to a node that contains arrays that follow Silo's sparse mix slot volume fraction representation. + * Added ``conduit::blueprint::mesh::field::to_silo()`` which converts a valid blueprint field and matset to a node that contains arrays that follow Silo's sparse mix slot volume fraction representation. + * Added ``material_map`` to ``conduit::blueprint::mesh:matset::index``, to provide an explicit material name to id mapping. + * Added ``mat_check`` field to ``blueprint::mesh::examples::venn``. This field encodes the material info in a scalar field and in the ``matset_values`` in a way that can be used to easily compare and verify proper construction in other tools. + +Fixed +~~~~~ + + +* **Relay** + + * Fixed bug in the Relay IOHandle Basic that would create unnecessary "_json" schema files to be written to disk upon open(). + +Removed +~~~~~~~ + + +* **General** + + * Removed ``Node::fetch_child`` and ``Schema::fetch_child`` methods for v0.7.0. (Deprecated in v0.6.0 -- prefer ``fetch_existing``) + * Removed ``Schema::to_json`` method variants with ``detailed`` for v0.7.0. (Deprecated in v0.6.0 -- prefer standard ``to_json``) + * Removed ``Schema::save`` method variant with ``detailed`` for v0.7.0. (Deprecated in v0.6.0 -- prefer standard ``save``) + * The ``master`` branch was removed from GitHub (Deprecated in v0.6.0 -- replaced by the ``develop`` branch) + +* **Relay** + + * Removed ``conduit::relay::io_blueprint::save`` methods for v0.7.0. (Deprecated in v0.6.0 -- prefer ``conduit::relay::io::blueprint::save_mesh``) + + v0.6.0 ---------------------------------