Designer Release Notes
8.2026.1 (8.D.4.2)
2026-Jun-29
NEW FEATURES
- Updated Designer licensing to new QLM key based authentication
- Made changes to support MATLAB r2025a and later, including updates to all matlab based GUIs to use App Designer instead of GUIDE
- Designer now supports rendering non-Latin canvas and annotation text on Asian-locale PCs
- Converted all Designer and Module documentation to markdown formatting
- Added a Filter Noise Floor Analyzer tool in Designer. This calculates noise floors for biquad modules in a layout and compares to other biquad types
- The Native target now supports AWE Core log and event messages using callbacks into files
- Added a new 'Logging Options' designer menu under the Tools tab to control the log level and log type
- Including a VectorLib_Public.h file in Designer installers so module writers can use common, portable, and optimized DSPC VectorLib functions
ENHANCEMENTS
- Updated CRUS generation to allow more efficient processing and memory use
- Improved positioning of matlab based menu GUIs, including for vertical monitors
- Module help docs will now launch in a focused browser
- Updated Wire Buffer Pools (beta feature) to improve efficiency and to allow multiple Buffer Pools to be used across heaps
- Added ability to use MIT Licensing in custom module generated C code
- Designer title bar now shows whether the input audio is from a File or Line Input for the Native target
BUG FIXES
- Improved Designer startup behavior and robustness in both Pro and Standard
- Removed matlab errors about progress bar on Designer launch on some systems
- Fixed propagate changes button so it now will show updated module statuses on the canvas when clicked during runtime
- Updated saving .awj's in Pro edition to avoid small differences with file saved from Standard
- Added support in Peak Profiling for more than 14 threads
- Removed tab chars from profiling results, and suppressed opening of all instance .csv's in multi-instance profiling
- Fixed several issue with file search path, including one that required restarting AWE_Server for changes to take effect
- Changed default setting for Enable Bundled Packets to off in Generate Target Files menu
- Fixed issue where destroying a layout while tunnelled would continue to display a CPU load on Native target
- Updated subcanvas tunneling to display a warning message when it fails. Previously it would fail silently
- Fixed several typos in AWE Server Preferences dialog
- Disabled changing target system types in Layout Properties menu
- Fixed linker warning in generated custom module Visual Studio files
- Fixed Process File tool hanging indefinitely for specific layouts and audio files
- Fixed several fract32 modules that were interpreting fract32 variables as nan's
- Fixed MixerV3 inspector so it now consistently shows all output channel names
- FifoIn/OutV3 is not longer being left out of ModuleList.h in multi-instance systems
- Prevented assignment of custom objectIds to matlab subsystem modules
- Improved Preset robustness by only copying if className is the same
- Improved robustness of renaming, deleting, undoing, etc. of Subsystem pins
- Improved speed of Redraw time in Designer
- Improved robustness of feedback wire handling in cases where feedback wire is not required
- Fixed issue where Subcanvas worker threads weren't always honored on single instance targets
- Prevented failed rename of interpreted modules from .mtemp to .m
- Fixed various places where a failure during propagation or build would not pan to the offending module
- Improved handling of errors thrown by default prebuild and postbuild matlab functions
- Improved error messaging for matlab transmit errors
- Fixed problem with CRUS generation for complex modules with assigned objectIDs
- Removed warnings caused by using backslash in inspector controls
- Improved error message when pin destination connection does not exist
- Now correctly flagging build error when using block size > max allowable
- Fixed potential issue where matlab warnings could be shown as unrelated error
- Modules that were converted to interpreted could fail to load from .awj
- Fixed some unnecessary warnings about datatype mismatches for sample rates
- Fixed bug where failing postbuild function caused the system to stay marked as live
- Long AWD or module names in dialog boxes are no longer cutoff
8.2025.3 (8.D.4.1)
2025-Dec-31
New Features
- Added Subcanvas module feature, which enables the encapsulation of .awb's inside a module. See Designer documentation for more details
- Created preset groups and preset fields for all module variables. Added a Preset Editor tool in Designer to create, apply, and save presets
- Introduced System Clock Source section in Layout Properties menu to show the current systems I/O properties
Enhancements
- Updated Generate Target Files menu to include AWC file generation
- Increased the amount of logging printed in the Messages tab of AWE_Server
- Updated profiling to display per thread CPU load when core affinity is set on the target
- Created the ability to access matlab module arguments with M.argument.
syntax. The original syntax using M.constructorArgs{i} is still supported - Added a field in AWE_Server Preferences menu to change the Native target's fundamental block size
- Made alignment of arguments and arrays more consistent in the Module Properties view
- Improved error and warning messages in matlab
Bug Fixes
- Fixed some incorrect memory profiling issues, especially in multi-instance systems
- Fixed an issue in peak profiling when number of layouts exceeded the number of samples being collected, or if profiling non-contiguous instances
- Fixed an issue where an error occurring during a postbuild call could cause it to be skipped in subsequent builds
- Removed call to postbuild from Attach to Running Target for classic builds. It could result in overwriting values on the target
- Fixed issue where Attach to Running Target could show stale target information in profiling results
- Fixed a problem with Navigate Up not always going to the direct parent subsystem
- Updated Designer to ignore clock dividers on virtual modules to avoid erroneous 'too many threads' build errors
- Fixed an issue with feedback wires when used in an matlab subsystem module and hierarchical builds
- Fixed some issues with feedback wires not inheriting data type and clock divider properly for Hierarchical builds
- Corrected the behavior of copy paste of feedback wire properties so connections point to valid modules
- Improved robustness of loading a layout with a missing module. It could lead to the layout being uneditable
- Fixed Revert to Subsystem action on RUS so that wires do not disappear
- Fixed ability to open an AWD containing a RUS when that RUS has changed its I/O pin count
- Destroy after Attach to Running Target no longer freezes the canvas when a subsystem output is directly connected to HW output pin
- Fixed a number of corner cases when using objectAlias names that could lead to name conflicts or stale names
- Fixed an issue with Native target where latency across multiple threads may not be consistent
- Now allowing range information for module variables to be updated during load time
- Improved the compatibility of matlab modules by allowing reordering of the module arguments
- Corrected evaluation of a comma separated list of arguments when some of the arguments are layout variables
- Propagate changes now updates layout variables if the hw input pin properties have changed
- Allocation priority is now being persisted for CRUS modules
- Added ChangeThreadV2 to the CRUS exclusion list
- Fixed an issue with generating CRUS that have no input pin
- Fixed an issue while creating a CRUS with a user inspector control that points to a Debug module. This control is now automatically removed during CRUS generation
- Corrected the behavior of copy/cut pasting a module that was being controlled by a StatuSet type of module. It was previously causing an error
- Changed the default behavior of 'isRangeEditable' for module variables and arrays to true. This will take effect after modules are regenerated
- Added a matlab process function to the scaler_module_interpreted example module
- Updated the FrameDll.lib used by custom module packs in installed editions to be up to date
- Aligned AWJ saving from Designer and matlab scripts so that output AWJs will be identical
- Fixed warning message thrown when a module pack's classid.csv is missing
- Removed duplicate find_module matlab function and replaced all usage with equivalent get_module
- Cleaned up usage and behavior of classid_lookup changed create_module_by_id function to create_module_by_mfile_name
- Added support for 'uint' data types in generate_mfile.m script
- Fixed a bug with resaving existing Inspector Groups after moving their positions
- Updated search path in matlab framework to look in matlab path last instead of first
- Made sure that AudioWeaver/matlab path is included in search path when using Custom Module Wizard
- Added a error message if trying to open Global Preferences if AWE_Server is not running
- Added a progress bar to AWD saving when the AWD version is being updated
- Fixed fract32 filter checkbox in the module palette. It was not filtering fract32 modules correctly
- Fixed issue where hierarchical builds could share the input wire buffer potentially causing wire memory corruption
AWE Designer 8.2025.2.A
2025-Aug
Bug Fixes
- Fixed an issue with TypeConversion modules, where if they changed to/from different bit width sample types, the wire could be erroneously shared
AWE Designer 8.2025.2
2025-Jun
New Features
- Designer Installers now include the BuildFlash executable, which can be used to generate .bins to store files in flash memory
- Added new hotkeys for profiling in Designer, and improved documentation of existing hotkeys
- Added support for fract16 wires and module variables
Enhancements
- Reduced the time it takes to delete, cut, or rename modules in large systems
- Added support for matlab subsystem modules to be interpreted
- Made matlab startup code more robust, including no longer failing if TaskList is not available on the system
- Added more logging and error checking in AWE_Server and Designer launching code
- Improved consistency of display of floating point values in module properties, and no longer truncate array values will loading/storing from .csv
- DateTime module now shows date and time in hexadecimal
- Commas are now supported in module arguments
Bug Fixes
- Fixed an issue with profiling being incorrect on multi-instance targets when tuning master instance is > 0
- Added support for correctly profiling memory usage for modules that allocate memory in Set functions
- Fixed error when doing manual profiling of a layout that contains an empty subsystem
- Fixed a failure with freshly loaded layouts and Attach to Running target
- Generating target files will now only delete the files exactly matching the names of the newly generated files
- Hierarchical builds now generate custom objectID set commands in target files
- Adding a new HW pin will now mark the system as modified
- Fixed an issue in the search bar where certain search strings were causing the results to be incorrectly indexed
- Cleaned up the formatting of certain warnings and errors for better readability
- MHz column in profiling results no longer shows results in scientific notation
- Fixed an issue with renaming subsystems if a similarly named subsystem is already opened
- Improved error message for a missing layout variable to include the module using it
- No longer redrawing the canvas between design and run mode
- Corrected the CPU load calculation in AWE_Server by applying clockDivider factor
- Removed opening of About dialog when Standard Designer is first launched
- Removed the 'x' box on the progress bar while building a layout. This action cannot be canceled
- Generating ModuleList.h for multi-instance targets will now only create .h file for instances that are used in the layout
- No longer showing the assign objectID right-click option for virtual modules
- Fixed saving array values to .csv for complex numbers
- Fixed an issue with reverting a RUS to subsystem when the RUS was created with an old Designer version
- Error is now properly generated if creating a RUS from a subsystem that already contains a RUS
- Fixed issues with FeedbackSettings module that were causing spurious build errors
- Usage of StatusSetV2 will now always correctly set the 'controlled by' field for target modules
- Fixed issue with converting a subsystem with controlling modules (e.g. StatusSetV2) in the subsystem
- Improved installers by allowing them to be run twice without corrupting DLL registration scripts
- Updated AWJ JSON schema 3.3 for missing entries and inconsistent data types
Misc
- Removed PyAweCore from Designer installers. To get access to this package, contact DSPC support
AWE Designer 8.2025.1
2025-MARCH
New Features
- New Hierarchical build engine can lead to faster build times and more control over layout
- Improved functionality of Designer search bar, and added support for keywords. See Designer documentation for more details
- Added 'Go To' module option in right click menu for controlling modules (ParamSet, etc.) and the modules they are controlling
- Added 'Copy Name' right click menu option for copying module names
Enhancements
- Right-click menu will now have a submenu for opening each inspector panel in a subsystem if there are more than one
- Improved a variety of inspector display issues
- Added support for unicode text in annotations
- Improved handling and searching of audio input files in Layout Properties
- Sped up load/save time for AWJ by ignoring obsolete connection array
Bug Fixes
- Fixed issue where layouts with missing CRUSs were failing to load
- Fixed and added clarity to error message when creating a CRUS with inspectors that targeted matlab subsystem modules
- Corrected the heap size reported for CRUSs in profiling results
- Fixed bug where CRUS with more output pins than inputs would incorrectly share output wires
- CRUS inspector panels now copy all control settings (colors, fonts, etc.) from original subsystem
- Fixed potential crash issue in AWE_Server Native target when profiling was disabled
- Fixed issues with handling binary port packages in AWE_Server for multi-instance Native target
- Fixed drawing of CPU threads in AWE_Server to use the full width of the window
- Improved robustness of Convert to Subsystem tool to prevent Designer freezing
- Now only send a Set command for module vars of type 'parameter' when opening module inspector
- Fixed problem with setting module parameters from the module properties tab during runtime when minimize target read/write option is set to true
- Fixed issue with right-click Help option for interpreted modules in module browser
- Checking for missing modules in subsystems is now done on the correct instance
- Resolved a routing error that was incorrectly reusing wires for unterminated and terminated module output pins
- Fixed loading layout by dragging and dropping from a folder when the layout name contains special characters
- Removed checking for valid ranges on subsystem input pins, which was causing issues in corrupted layouts
- Fixed some issues with preserving channel names when converting to subsystem or deleting/undoing
- Fixed issues with loading and saving module states in AWJs
- Fixed issue with loading and saving module const variables in AWJs
- Preventing corruption of annotations in AWJs, and also more robustly loading AWJ if there is corruption
- Doing a Save As on an AWJ file will now default to AWJ save file type
- Fixed layout loading progress bar to say 'AWJ' when loading an AWJ
- Canvas size is now persisted when it is changed due to copying
- Added calls to the matlab module PrepareToSave function when saving layout
- Fixed issue when modules in layout are not found on the system not fully deleting them from the layout
- Fixed issue with loading layouts that had an empty inspector panel
- Fixed hierarchical build using inspectors with non-zero instanceId
- AWDs marked in windows as read-only files will now not be savable in Designer
- Fixed issue with using layout variables in ChangeThread module
- Scaler inspector will now properly show dB or linear based on module settings
- Fixed error message for pins being on different threads to show entire message
- Fixed Sink inspectors so scalar values are not truncated
- Improved message for insufficient threads error to state which instance the problem is on
- Improved error message for feedback wires that transcend instanceId
- Fixed some comments in generated _ControlInterface.h files
- Fixed help text for awe_version matlab function
AWE Designer 8.D.2.7
2024-DECEMBER
New Features
- Added option in Generate Target Files to split multi-instance layouts into multiple AWBs to support Progressive Loading
- Added support for 2M, 3M, and 6M baud rates for RS232 targets in AWE_Server
- Added ability to copy/paste wire information like names and delays between wires in Designer
Enhancements
- Increased the maximum binary message length from 1024 to 4096 to support larger tuning messages
- Missing modules in subsystem modules are now checked at the beginning of builds
- Improved application of layout variables at build time to avoid unnecessary updates for unchanged variables
- Version overwrite save warning dialog now only pops up first time saving layout with new version
- Improved handling of copying modules with objectIds defined
Bug Fixes
- Updated uninstallers to no longer deregister AWETalkToGUI COM Server, and improved error messaging for this issue
- Fixed Pro Designer launching with MATLAB 2024a and later
- Fixed compatibility issue with loading complex numbers in AWDs
- Fixed potential subsystem pin corruption in AWJ's when changing input pin data type
- Corrected saving and loading of channel delays in AWJ
- Fixed saving and loading measurements in AWJ files
- Improved saved information in AWJs to better support range definitions
- Corrected error message when opening a corrupted AWJ file
- Fixed issue with AWJ files containing empty subsystems
- Fixed problem creating CRUS from subsystems containing multiple inspector panels
- Fixed loading layouts containing a RUS or CRUS that is not found on the module path
- Fixed loading layouts containing non-English characters
- Fixed issue with feedback wires being set on subsystem output pins
- Fixed issue with intermediate files not being deleted when interpreted module execution fails
- Fixed issue in error dialog where block size range was printing junk characters
- Corrected heap allocation failure error message
- Fixed issue with channel name propagation into Router inspectors
- Custom channel names are now retained when changing number of input pins on downstream module
- Fixed some alignment issues in module inspectors, and added labels for event button inspectors
- Fixed crash issue when executing an AWS from AWE_Server while an inspector is open in Designer
- Fixed potential CPU % load difference between Server and Designer profiling for some multi-instance layouts
- Fixed wire memory profiling when using Bind First build option
- Fixed potential hang in Tuning Interface test with slow connections
- Clarified that biquads used in Tuning Interface test tool are stereo
- Fixed dialog cutoff issue in About dialog in Designer
- Updated ASIO device menu button to say 'Close' instead of 'Cancel'
- Made it clear in AWE_Server preferences that heap sizes are defined per instance for native target
- Fixed issue with .tsf file ignoring the override InstanceId field in Generate Target Files
- Fixed rounding issue in displaying integer values in module documentation
- Fixed Fader example module tests so they pass
AWE Designer 8.D.2.6
2024-AUGUST-15
New Features
- Designer will now show error messages for invalid layouts when pressing Propagate Changes
Enhancements
- Improved license authentication robustness for users who cannot access DSPC web license server
- Updated AWD/AWJ formats to no longer require prebuilding layouts while loading
- Made various internal improvements to improve layout build and load times
- Updated JSON engine used internally for processing .json data for speed improvement
- Added a warning for users when saving layout with newer AWD/AWJ version
- Improved error reporting when attempting to generate a ModuleList.h file with an invalid layout name
- Improved module I/O information included in profiling data
Bug Fixes
- StatusSet execution order now behaves correctly for subsystem target module
- Now preventing excessive get_module_state messages when using subsystem inspectors
- No longer listing duplicate module classes in the missing module list dialog
- Updated CRUS generation to throw error if using a ChangeThread module
- Fixing build of some layouts using feedback wires across multiple subsystems
- Deleting a module will no longer throw cryptic error messages if unrelated modules are not configured correctly
- Corrected issue with stale clockDividers in Source modules when switching between single and multi-instance targets
- Fixed issue in Native target where sample rate info from audio device was not being propagated to layouts
- Improved robustness of renaming user inspector panels
- Corrected handling of empty schema versions in CRUSs, and excluded pointer variable types from CRUS manifests
- Fixed deleting CRUS/RUS from the module browser in the Standard edition
AWE Designer 8.D.2.5
2024-JUNE-29
New Features
- Reduced load and save times for AWJ files, and updated AWJ version to 3.0
- Added option in Layout Properties menu to force bind_wire commands to happen before other wire allocations
- Added options in Generate Target Files menu to select target instanceID and to include a Lookup Table in the generated .awb/.aws
- Added support for Multi-Instance in Module Tests tool
- Added support for Multi-Instance and Multi-Canvas in the Tuning Interface Test tool
-
The minimum MATLAB version required for using Pro editions of Designer has been updated from R2017b to R2021b
-
Designer is no longer tested with MATLAB R2017b, so using this version may result in inconsistent or faulty behavior
Enhancements
- Improved the validation of AWJ files against a custom JSON schemas
- BuildFlash.exe tool now warns user when filenames are truncated due to length limitations
Bug Fixes
- Fixed issue with building Multi-Canvas layouts when different instances have different block sizes
- Improved error detection and message clarity for invalid subsystems with only a virtual module between input and output
- Ensuring that correct target information is available in profiling after doing attach to running target
- Fixed issue that was preventing layouts saved with invalid paths in ParamSet module from being loaded
- Execution order for Param Set and Status Set style modules can now target modules in subsystems
- Fixed issue where the 'controlled by' field for modules on the canvas was not always being updated
- Removed support in Designer for module argument inputs beginning with '0b'
- Fixed issue where module argument strings starting with '0x' were being improperly converted to decimal values
- Fixed issue in Designer when running on Multi-Instance target with more than 16 instances
- Updated AWE Server Flash Manager to be able to access different Flash File Systems on Multi-Instance or Multi-Canvas target
- Loading and saving module arrays from file now maintains full precision
- Fixing corruption in layout file after running process files
- Fixing user inspector operability after running manual profiling
- Fixed a number of issues that could cause Tuning Interface Test to hang, and improved flexibility of modules required to run the test
- Fixed issue where copying an invalid subsystem to a new layout could corrupt the layout
- Convert to Subsystem will now retain custom objectIDs for modules
- Failed attempts of Convert to Subsystem now correctly restores original subsystem
- Designer now throws a warning if the output HW pin is not fract32
- Restored the right click Help option for RUS/CRUS on the canvas
- Improved robustness of
test_start_audioMATLAB function in the case of Multi-Instance targets - Fixed issue when loading layouts with out-of-sync module control information