Software
Version
5.7.0
Release Date
This is the last scheduled release in the v5 series of PraxisCORE and PraxisLIVE as we concentrate on v6 for release later this year. There are some major updates to Ref
types and handling, an Async.Queue
for handling async calls, and various deprecations for things that will no longer be supported in v6.
PraxisCORE
- Major updates to
Ref
, including reference ports and a publish / subscribe mechanism for sharing references from containers to child components.- Added
Ref::set
,Ref::setAsync
,Ref::orElse
andRef::onChange
methods. The existing async support inRef
is deprecated and rewritten to use the new method. - Added
@Ref.Publish
and@Ref.Subscribe
to be used on injectedRef
fields in parent and children respectively. References are automatically updated, and changes can be listened to usingRef::onChange
. - Added support for reference ports -
@In(1) Ref.In<T> in
and@Out(1) Ref<T> out
. The input type allows to access the list of connected values, and automatically updates on connections or changes to the output reference. - Updated semantics for
Ref::bind
which can now be configured prior to initialization, and will update on reference changes.
- Added
- Added an injectable queue for
Async
values -@Inject Async.Queue<T> queue
. Supports binding actions to happen on completion and limiting the queue size. For use with async returns fromask()
andasync()
. - Improvements to library support with a PackageURL parsing utility and better support for transient dependencies provided by the runtime itself.
- Added a
.supported-types
property to containers. This has minimal use in v5, but is important in development if some features in v6. - Various deprecations, including serializable properties,
Property::values
andInput::values
methods, andPVector
(from core types, but some supported will remain in video types).
PraxisLIVE
- No changes in the IDE in this release.