Skip to content

Phlex v0.3.2

Choose a tag to compare

@knoepfel knoepfel released this 16 Jul 16:22
· 352 commits to main since this release

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
  • Anything in the top-level phlex namespace

Any interface (namespaces, functions, classes, etc.) that contains the strings experimental, internal, or detail should not be directly used.


Phlex v0.3.2 is a patch release that corrects three defects found in Phlex v0.3.1:

  • product_selector converting constructors unconditionally moved from lvalue identifiers and strings, silently emptying the caller's variable and causing confusing errors when the same identifier was reused across multiple selectors (fixed by #714)
  • Data products published by phlex::source subclasses were never delivered to output modules (e.g. form_module) because output edges were wired before implicit provider nodes were created (fixed by #718)
  • FORM data products could reference freed memory when converting a raw void const* buffer, due to missing ownership management in product_from_data (fixed by #705)

No new features are introduced. Users of v0.3.1 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.3.2 uses C++23. You will need a compiler with sufficient C++23 support to build and install this release (GCC 15, LLVM 21, etc.)


Included Pull Requests

  • Bump actions/setup-node from 6.4.0 to 7.0.0 by @dependabot in #703
  • Use unique_ptr for FORM product_from_data to own buffer by @wwuoneway in #705
  • Post CodeQL comment only when PR creates a new alert or resolves an existing one by @knoepfel in #711
  • Forward instead of move in product_selector converting constructors by @olantwin in #714
  • Phlex v0.3.2 by @knoepfel in #718

Full Changelog: v0.3.1...v0.3.2