Nexus Nexus - MATLAB Compatible Computing Platform

Version 1.15.0

Multiple Properties Persistence Fix (Corrected) 2025-01-18

Fixed critical issue where multiple addprop() calls only persisted the last property. The fix uses builtin() to bypass dynamicprops.subsasgn() override when assigning to DynamicProperties itself.

๐Ÿ“‹ Features

  • Fixed addprop() to use builtin('subsasgn') instead of direct assignment
  • This bypasses dynamicprops.subsasgn() override when assigning to DynamicProperties
  • Modified dynamicprops.subsasgn() to explicitly handle DynamicProperties assignment
  • Checks if assigning to DynamicProperties itself and delegates to parent immediately
  • Multiple properties added via addprop() now all persist correctly
  • Fixes issue where only the last addprop() property would be available
  • All properties now accumulate correctly in DynamicProperties struct
  • Enables hs_research_pipe_gui constructor to add ~100 properties successfully
  • All dynamic properties are accessible via obj.property_name
  • Critical fix for test_research_pipe_mae.m unit tests
  • All previous features from v1.14

๐Ÿ“ฅ Downloads

โš ๏ธ Installer files are being prepared. Please check back soon.

You can build from source using the instructions in BUILD.md

๐Ÿ”ง Installation

From Installer

  1. Download the appropriate installer for your platform
  2. Run the installer and follow the prompts
  3. Add Octave to your PATH if needed

From Source

./bootstrap
./configure --with-blas=openblas --with-lapack=openblas
make -j$(nproc)
sudo make install

๐Ÿงช Testing

Run the compatibility test suite:

cd test
octave --eval "run('matlab-compat/minimal-release.tst')"