Skip to content

Commit

Permalink
Merge pull request #2632 from GMLC-TDC/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
phlptp authored Mar 19, 2024
2 parents a818def + f75d624 commit 00c47c7
Show file tree
Hide file tree
Showing 123 changed files with 5,987 additions and 2,085 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
docker:
- image: helics/buildenv:sanitizers-14
environment:
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=undefined,address -lc++ -lc++abi -fsanitize-address-use-after-scope -fsanitize-ignorelist=/root/project/.circleci/asan_suppression.txt -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O1 -fsanitize-blacklist=/root/project/.circleci/asan_blacklist.txt" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=undefined,address -lc++ -lc++abi -fsanitize-address-use-after-scope -fsanitize-ignorelist=/root/project/.circleci/asan_suppression.txt -Wno-reserved-macro-identifier -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O1 -fsanitize-blacklist=/root/project/.circleci/asan_blacklist.txt" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'
LSAN_OPTIONS: "suppressions=/root/project/.circleci/leak_suppression.txt"
UBSAN_OPTIONS: "print_stacktrace=1 suppressions=/root/project/.circleci/ubsan_suppression.txt"
ASAN_OPTIONS: "alloc_dealloc_mismatch=0"
Expand All @@ -116,7 +116,7 @@ jobs:
docker:
- image: helics/buildenv:sanitizers-14
environment:
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=memory -nostdinc++ -nostdlib++ -L/root/develop/libcxx_msan/lib -lc++ -lc++abi -I/root/develop/libcxx_msan/include -I/root/develop/libcxx_msan/include/c++/v1 -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O1 -Wl,-rpath,/root/develop/libcxx_msan/lib" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'
CMAKE_FLAGS: '-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-fsanitize=memory -nostdinc++ -nostdlib++ -Wno-reserved-macro-identifier -L/root/develop/libcxx_msan/lib -lc++ -lc++abi -I/root/develop/libcxx_msan/include -I/root/develop/libcxx_msan/include/c++/v1 -Wno-unused-command-line-argument -fno-omit-frame-pointer -g -O1 -Wl,-rpath,/root/develop/libcxx_msan/lib" -DHELICS_BUILD_TESTS=ON -DHELICS_ZMQ_SUBPROJECT=ON -DHELICS_ZMQ_FORCE_SUBPROJECT=ON'

steps:
- checkout
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/swig-interface-gen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

# Run clang-format on helics.h and helics_api.h
- name: clang-format
uses: pre-commit/[email protected].0
uses: pre-commit/[email protected].1
# Failure is expected, since we know it will be fixing up the generated helics header files
continue-on-error: true
with:
Expand Down
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ repos:
- id: dockerfile_lint
args: [--rulefile, ./config/Docker/docker_rules.yml, --dockerfile]
- repo: https://github.com/psf/black
rev: 24.1.1
rev: 24.3.0
hooks:
- id: black
args: ["--line-length=100"]
Expand All @@ -18,7 +18,7 @@ repos:
- id: blacken-docs
additional_dependencies: [black==22.12]
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.5.4
rev: v1.5.5
hooks:
- id: remove-tabs
- repo: https://github.com/pre-commit/pre-commit-hooks
Expand Down Expand Up @@ -52,7 +52,7 @@ repos:
exclude: "mac.md"
- id: script-must-have-extension
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.9.0.6
rev: v0.10.0.1
hooks:
- id: shellcheck
args: [-x]
Expand All @@ -74,7 +74,7 @@ repos:
"--exclude-file=./config/spelling_ignorelines.txt",
]
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v17.0.6
rev: v18.1.1
hooks:
- id: clang-format
types:
Expand Down
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,26 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
A note on future revisions.
Everything within a major version number should be code compatible (with the exception of experimental interfaces). The most notable example of an experimental interface is the support for multiple source inputs. The APIs to deal with this will change in future minor releases. Everything within a single minor release should be network compatible with other federates on the same minor release number. Compatibility across minor release numbers may be possible in some situations but we are not going to guarantee this as those components are subject to performance improvements and may need to be modified at some point. Patch releases will be limited to bug fixes and other improvements not impacting the public API or network compatibility. Check the [Public API](./docs/Public_API.md) for details on what is included and excluded from the public API and version stability.

## [3.5.1][] - 2024-03-19

Patch release including beta version of reentrant federates and support for "potential_interfaces" section in config files and automatic handling of potential interface generation in the federate class for operation with the connector app.

### Fixed

- Fixed an issue related to disconnection of federates with endpoints while still executing, that could potentially have resulted in an infinite loop
- Fixed an issue with aliases potentially causing a seg fault or memory condition, now aliases have reciprocity so order in the given alias call doesn't matter

### Changed

- Updated 3rd party libraries including cli11, fmt, spdlog, and asio

### Added

- Automatic handling of potential interface sequence from Federate class
- Support for potential_interface templates
- Support for reentrant federates: federates with the same name that can come and go, and support for reconnecting interfaces to the reentrant federate
- Support for a "helics" section in the configuration json files

## [3.5.0][] - 2024-02-05

Major release including connector app capability, a refresh of the of the dataBuffer interface, and other bug fixes
Expand Down Expand Up @@ -414,3 +434,5 @@ HELICS 3.0 is a major update to HELICS. The major features that have been added
[3.3.1]: https://github.com/GMLC-TDC/HELICS/releases/tag/v3.3.1
[3.3.2]: https://github.com/GMLC-TDC/HELICS/releases/tag/v3.3.2
[3.4.0]: https://github.com/GMLC-TDC/HELICS/releases/tag/v3.4.0
[3.5.0]: https://github.com/GMLC-TDC/HELICS/releases/tag/v3.5.0
[3.5.1]: https://github.com/GMLC-TDC/HELICS/releases/tag/v3.5.1
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE AND NOT HELICS_D
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "")
endif()

project(HELICS VERSION 3.5.0)
project(HELICS VERSION 3.5.1)

# -----------------------------------------------------------------------------
# HELICS Version number
# -----------------------------------------------------------------------------
set(HELICS_VERSION_BUILD)
# use ISO date YYYY-MM-DD
set(HELICS_DATE "2024-02-06")
set(HELICS_DATE "2024-03-19")

set(HELICS_VERSION_UNDERSCORE
"${HELICS_VERSION_MAJOR}_${HELICS_VERSION_MINOR}_${HELICS_VERSION_PATCH}"
Expand Down Expand Up @@ -687,7 +687,7 @@ set(LICENSE_LIST
"cppzmq"
"${PROJECT_SOURCE_DIR}/ThirdParty/cppzmq/LICENSE"
"fmt"
"${PROJECT_SOURCE_DIR}/ThirdParty/fmtlib/LICENSE.rst"
"${PROJECT_SOURCE_DIR}/ThirdParty/fmtlib/LICENSE"
"units"
"${PROJECT_SOURCE_DIR}/ThirdParty/units/LICENSE"
"JsonCpp"
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ If you would like to contribute to the HELICS project see [CONTRIBUTING](CONTRIB
- [Andy Fisher](https://github.com/afisher1)
- [Jason Fuller](https://github.com/jcfuller1)
- [Shwetha Niddodi](https://github.com/shwethanidd)
- [Trevor Hardy](https://energyenvironment.pnnl.gov/staff/staff_info.asp?staff_num=2704)
- [Trevor Hardy](https://www.pnnl.gov/people/trevor-hardy)
- [Monish Mukherjee](https://github.com/MuMonish)
- [Jacob Hansen](https://github.com/Jacobhansens)
- [Marc Eberlein](https://github.com/eberleim)
Expand Down
15 changes: 12 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,26 @@ A multi-language, cross-platform library that enables different simulators to ea

## Table of contents

- [Table of contents](#table-of-contents)
- [Introduction](#introduction)
- [Philosophy](#philosophy-of-helics)
- [Philosophy of HELICS](#philosophy-of-helics)
- [Getting Started](#getting-started)
- [Language Bindings](#language-bindings)
- [Documentation](#documentation)
- [Changelog](#changelog)
- [RoadMap](#roadmap)
- [Documentation downloads](#documentation-downloads)
- [CHANGELOG](#changelog)
- [ROADMAP](#roadmap)
- [Installation](#installation)
- [Quick links](#quick-links)
- [Docker](#docker)
- [Tools with HELICS support](#tools-with-helics-support)
- [HELICS helper Apps](#helics-helper-apps)
- [Contributing](#contributing)
- [Build Status](#build-status)
- [Publications](#publications)
- [In the News](#in-the-news)
- [History and Motivation](#history-and-motivation)
- [Source Repo](#source-repo)
- [Release](#release)

## Introduction
Expand Down Expand Up @@ -172,6 +177,10 @@ Contributors are welcome, see the [Contributing](CONTRIBUTING.md) guidelines for

If you use HELICS in your research, please cite:

T. Hardy, B. Palmintier, P. Top, D. Krishnamurthy and J. Fuller, "HELICS: A Co-Simulation Framework for Scalable Multi-Domain Modeling and Analysis," in IEEE Access, doi: 10.1109/ACCESS.2024.3363615, available at [https://ieeexplore.ieee.org/document/10424422](https://ieeexplore.ieee.org/document/10424422)

Older citation

\[1\] B. Palmintier, D. Krishnamurthy, P. Top, S. Smith, J. Daily, and J. Fuller, “Design of the HELICS High-Performance Transmission-Distribution-Communication-Market Co-Simulation Framework,” in _Proc. of the 2017 Workshop on Modeling and Simulation of Cyber-Physical Energy Systems_, Pittsburgh, PA, 2017. [pre-print](https://www.nrel.gov/docs/fy17osti/67928.pdf) | [published](https://ieeexplore.ieee.org/document/8064542/)

## In the News
Expand Down
2 changes: 1 addition & 1 deletion ThirdParty/asio
Submodule asio updated 532 files
2 changes: 1 addition & 1 deletion ThirdParty/fmtlib
Submodule fmtlib updated 57 files
+1 −1 .github/dependabot.yml
+3 −3 .github/workflows/cifuzz.yml
+1 −1 .github/workflows/doc.yml
+26 −0 .github/workflows/lint.yml
+1 −1 .github/workflows/linux.yml
+1 −1 .github/workflows/macos.yml
+4 −4 .github/workflows/scorecard.yml
+2 −2 .github/workflows/windows.yml
+13 −26 .gitignore
+18 −9 CMakeLists.txt
+5,533 −0 ChangeLog.md
+0 −5,922 ChangeLog.rst
+0 −0 LICENSE
+490 −0 README.md
+0 −545 README.rst
+6 −6 doc/_static/bootstrap.min.js
+72 −65 doc/api.rst
+8 −3 doc/build.py
+11 −4 doc/syntax.rst
+38 −0 doc/usage.rst
+6 −5 include/fmt/args.h
+152 −120 include/fmt/chrono.h
+44 −33 include/fmt/color.h
+9 −8 include/fmt/compile.h
+82 −35 include/fmt/core.h
+87 −71 include/fmt/format-inl.h
+265 −240 include/fmt/format.h
+24 −20 include/fmt/os.h
+64 −28 include/fmt/ostream.h
+10 −2 include/fmt/printf.h
+18 −15 include/fmt/ranges.h
+113 −41 include/fmt/std.h
+9 −8 include/fmt/xchar.h
+1 −3 src/fmt.cc
+9 −5 src/os.cc
+1 −1 support/AndroidManifest.xml
+45 −19 support/manage.py
+0 −166 support/rst2md.py
+6 −1 test/CMakeLists.txt
+237 −241 test/chrono-test.cc
+9 −6 test/compile-test.cc
+1 −8 test/format-impl-test.cc
+464 −436 test/format-test.cc
+1 −1 test/gtest-extra-test.cc
+2 −2 test/gtest-extra.cc
+1 −1 test/gtest-extra.h
+1 −1 test/gtest/gmock-gtest-all.cc
+18 −1 test/ostream-test.cc
+4 −4 test/posix-mock.h
+2 −2 test/printf-test.cc
+67 −34 test/ranges-test.cc
+103 −31 test/scan-test.cc
+560 −138 test/scan.h
+54 −5 test/std-test.cc
+6 −2 test/util.cc
+14 −12 test/util.h
+71 −26 test/xchar-test.cc
Loading

0 comments on commit 00c47c7

Please sign in to comment.