Skip to content

Phlex v0.4.1

Choose a tag to compare

@knoepfel knoepfel released this 30 Sep 19:05
· 75 commits to main since this release
8e3021f

Important

This is a prototype release. It is known to have incomplete functionality with respect to the Phlex conceptual design; backwards compatibility of API is not guaranteed. The following API is intended for use:

  • PHLEX_REGISTER_ALGORITHMS(...) opener for registering physics algorithms
  • PHLEX_REGISTER_PROVIDERS(...) opener for registering explicit data-product providers
  • PHLEX_REGISTER_SOURCE(...) opener for registering a user-defined input source
  • PHLEX_REGISTER_DRIVER(...) opener for registering a user-defined framework-driver function
  • PHLEX_REGISTER_RESOURCES(...) opener for registering resource plugins
  • Anything in the top-level phlex namespace

Interfaces in phlex::experimental may change; interfaces containing internal or detail should not be directly used.


Phlex v0.4.1 is a patch release that corrects two installation defects found in Phlex v0.4.0:

  • Missing installed headers that prevented downstream projects from including several public Phlex headers
  • A missing GSL dependency on the internal model target that caused some Phlex build configurations to fail

No new features are introduced. Users of v0.4.0 are encouraged to upgrade.

Instructions for building code that uses Phlex and running simple Phlex jobs can be found in the phlex-examples repository.

Note

Phlex v0.4.1 uses C++23. You will need a compiler with sufficient C++23 support to build and install this release (GCC 15, LLVM 21, etc.).


Bug Fixes

  1. Install missing public headers (#934)

    The phlex/core/fold_join_node.hpp, phlex/core/detail/accumulator_node.hpp, and phlex/utilities/signed_size.hpp headers were omitted from the installed files in v0.4.0. Because these headers are transitively included by installed public headers, downstream projects could encounter compilation failures when using the installed Phlex package. The headers are now installed correctly (#933).

  2. Link GSL to the internal model target (#934)

    The internal model library uses Microsoft GSL types but did not declare GSL as a dependency. This caused builds that create the internal companion libraries, including release builds with hidden symbol visibility, to fail. The internal model target now links GSL publicly, consistent with the corresponding installed model library.


Included Pull Requests

  • Install missing public headers and link GSL internally by @knoepfel in #934

Full Changelog: v0.4.0...v0.4.1