Version 1.15.0
Multiple Properties Persistence Fix (Corrected) 2025-01-18Fixed 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
๐ Documentation
๐ง Installation
From Installer
- Download the appropriate installer for your platform
- Run the installer and follow the prompts
- 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')"