0.74 | Feb 26, 2015 | Added Axon Multiclamp support. Now store stimulus metadata in the data file header. Now save data as int16 instead of double-precision floating point. Improved ScanImage integration. |
0.75 | Mar 9, 2015 | Fixed bug with scope x-span. |
0.76 | Mar 11, 2015 | Fixed bug with README(!). |
0.77 | Mar 17, 2015 | Now supports timed digital outputs. |
0.771 | Mar 18, 2015 | Updated README to reflect true NI DAQmx driver requirements. |
0.772 | Mar 18, 2015 | Can now change scope y limits during ongoing acquisition. |
0.773 | March 23, 2015 | Fixed bug with trial duration setting not getting propagated to DAQ board on .cfg file load. |
0.774 | March 25, 2015 | Fixed a few more bugs. |
0.775 | March 25, 2015 | Fixed bug that prevented acquisition if some AI channels specified in MDF were marked as inactive. |
0.776 | April 2, 2015 | Added ability to playback arbitrary stimuli from .wav file. Fixed bugs with multiple DO lines and long-duration stimuli, and with stimuli not being generated properly after 1st stimulus episode when externally triggered. |
0.777 | April 3, 2015 | Fixed issue that prevented acquisition if Matlab was installed on a drive other than the C drive. |
0.778 | April 14, 2015 | Now have toggle-able autoscaling of y-axis limits for both scope windows and the test pulse window. Added per-trialset and per-trial (approximate) timestamps to data file. No longer rely upon DABS callbacks during data acquisition, but poll instead. All internally-generated triggers are now themselves triggered off a common "master" trigger on PFI8. |
0.779 | April 14, 2015 | Fixed bug where couldn't test pulse after acquiring data. |
0.78 | April 15, 2015 | Data files for continuous recordings now use the same file naming scheme as trial-based recordings. Fixed bug with fast protocols not getting cleared when you click that button. Added a very simple example user function .m file. |
0.781 | April 20, 2015 | Added more options for data file naming. Fixed several small bugs. |
0.782 | April 22, 2015 | Added a two-pulse stimulus. |
0.783 | April 22, 2015 | Added a generic Matlab expression stimulus. |
0.784 | April 29, 2015 | Test pulser now uses sampling rate of acquisition system. |
0.785 | May 11, 2015 | Inactived AI channels are now really and truly inactivated. |
0.786 | May 12, 2015 | Fixed bug with TestPulser model not getting persisted to disk properly. |
0.787 | May 12, 2015 | Commented out debugging fprintf. Doh! |
0.8 | May 19, 2015 | Added support for digital inputs, untimed digital outputs. Changed user hook function infrastructure to more powerful object-based scheme. Added example user hook classes that implement treadmill- and VR-triggered spike rasters. Many other small tweaks and improvements. Note that version 0.8 will not generally read protocol files from earlier versions. |
0.801 | June 4, 2015 | Made electrodes window narrower, so that it fits on a 1280x1024 screen. Added zoom in/out, scroll up/down buttons to scope windows, got rid of green-on-black color scheme. Test pulser now shows resistance in units tailored to the scale of the resistance value. Protocol and user settings file formats were not changed from release 0.8. |
0.802 | June 12, 2015 | Fixed error on MDF load under R2013b. Added ability to turn on/off scope grids. Protocol and user settings files from release 0.8+ will still work with this release. |
0.803 | June 29, 2015 | Fixed bug in ws.loadDataFile() that made it error if any channels were not active. Protocol and user settings files from release 0.8+ will still work with this release. |
0.804 | July 3, 2015 | Fixed bug that caused warnings on .cfg load if the acquisition sample rate had been changed. Restored green-on-black theme for scope windows as an option. Scope window buttons are now hidden if the window is not tall enough. Added option to always hide scope window buttons. Protocol and user settings files from release 0.8+ will still work with this release. |
0.805 | July 23, 2015 | Fixed bug that made it impossible to record if a user class was in use. |
0.9-b-1 | Oct 12, 2015 | (Beta release) Major redesign of WaveSurfer to support low-latency (< 5 ms) real-time feedback loops. WaveSurfer now spawns two additional Matlab processes when you lauch it: one to aquire data and run real-time feedback loop code, and another to ensure that the sweep-based output buffer is refilled properly. Also some streamlining of the triggering settings, and changes in terminology (e.g. "trials" are now sweeps, an "experiment" is now a run). Note that this is a beta release, so is likely somewhat buggier than a regular release.Fixed bug that made it impossible to record if a user class was in use. |
0.9-b-2 | Oct 12, 2015 | (Beta release) Fixed several bugs. |
0.9-b-3 | Oct 15, 2015 | (Beta release) Fixed capitalization issues in the README. |
0.9-b-3 | Oct 15, 2015 | (Beta release) Fixed capitalization issues in the README. |
0.9-b-3 | Oct 15, 2015 | (Beta release) Fixed capitalization issues in the README. |
0.9-b-3 | Oct 15, 2015 | (Beta release) Fixed capitalization issues in the README. |
0.9-b-4 | Oct 17, 2015 | (Beta release) Fixed another silly cosmetic bug. |
0.9-b-5 | Oct 29, 2015 | (Beta release) Added missing DLL. |
0.9-b-6 | Oct 30, 2015 | (Beta release) Fixed bug where satellite processes didn't have proper search path. |
0.9-b-7 | Nov 3, 2015 | (Beta release) Fixed bug where zero digital inputs caused eventual error during acquisition. |
0.9-b-8 | Nov 9, 2015 | (Beta release) Fixed several bugs. |
0.9-b-9 | Nov 9, 2015 | (Beta release) Cosmetic fix. |
0.9-b-10 | Nov 11, 2015 | (Beta release) Test Pulser now reports resistance in VC mode, instead of conductance. Minor improvements to ws.example.RasterTreadMill. |
0.9-b-11 | Nov 13, 2015 | (Beta release) Fixes to WS-SI coordination code. |
0.9-b-12 | Nov 18, 2015 | (Beta release) Fixed bug with triggering schemes, fixed bug with loading older WS data files. |
0.9-b-13 | Nov 18, 2015 | (Beta release) Fixed bug with mimic()'ing cell arrays. |
0.9-b-14 | Nov 20, 2015 | (Beta release) Fixed bug where didn't work if no input channels were defined. |
0.9 | Dec 1, 2015 | Rechristened 0.9-beta-14 as 0.9. Note that protocol files for WS 0.8x will not work with this version. |
0.901 | Jan 7, 2016 | Added support for DAQmx 15.1.x. Fixed bug in error dialog message if the installed version of DAQmx is not supported by WaveSurfer. |
0.91 | Feb 12, 2016 | All things previously-settable in machine data files (MDFs) are now settable in the normal WaveSurfer user interface. This means users no longer need to create an MDF before using WaveSurfer to acquire data. (Protocol files for previous versions of WS will not work with this version.) |
0.912 | Mar 1, 2016 | Fixed bug in README. |
0.913 | Mar 2, 2016 | Fixed bug which resulted in actual sampling rate being slightly different from nominal sampling rate for sampling rates (in Hz) that do not evenly divide 100 MHz. |
0.914 | Mar 15, 2016 | Fixed bug where data was saved without scaling coefficients. Added code to ws.loadDataFile() convert nominal sampling rate for pre-0.913 data files to correct sampling rate. Added code to ws.loadDataFile() to error if asked to return floating-point (scaled) data when the data file lacks scaling coefficients, as a safeguard. |
0.915 | Mar 22, 2016 | Added tool, ws.addScalingToHDF5FilesRecursively() ,
to automatically append device scaling information to .h5 data
files that currently lack it. |
0.916 | Apr 14, 2016 | All AI channels now explicitly set to differential terminal configuration. Stability and UI improvements. |
0.917 | Apr 15, 2016 | Fixed bug in UI display of AO channel scale units. Verified bug went no deeper. |
0.918 | May 8, 2016 | Fixed many small bugs, changed TemplateUserClass to ExampleUserClass, cleaned up ws.examples package. |
0.919 | Jun 1, 2016 | Can now set test pulse y limits manually. Satellite Matlab windows are now hidden. Fixed issue with sweep timestamps being somewhat off. Improved speed of loading protocol files. Improved handling of old protocol files. Added ability to duplicate stimulus maps. Fixed issue with adding scaling coefficients to data files from WS v0.8. |
0.9191 | Jun 3, 2016 | Fixed bug with listing device AI terminals when device has more than 16 (single-ended) AI terminals. |
0.9192 | Jun 3, 2016 | Fixed bug with adding calibration coefficients to old files taken with devices with more than 16 (single-ended) AI terminals. |
0.92 | Jun 27, 2016 | Added support for more recent versions of DAQmx. Can now duplicate stimuli, maps, sequences. Better support for old protocol files. Fixed bug causing errors on stimulus deletion in some cases. Can now write calibration data to disk, use that file to add calibration to data files. Fixed bug with electrode AO scaling. Added debugging mode which shows satellite windows running in full-JVM Matlab sessions. Added checkbox to optionally turn off electrode gain reading before a run or a test pulse. Added tooltips to fast protocol buttons. Improved speed of protocol file loading. Improvements to display and data scaling speed, especially for long sweeps. Fixed bug where stopping a run at an unlucky moment would put WS into a weird, unusable state. |
0.921 | Jul 26, 2016 | Fixed another bug with manual stopping. |
0.93 | Aug 12, 2016 | New chart-recorder-like display of traces. Improvements to user class handling. Includes two more custom user classes. |
0.931 | Aug 23, 2016 | Fixed bug with loading protocol file with fewer input channels after taking data. |
0.932 | Sep 6, 2016 | Fixed bug where outputs didn't get zeroed after a user-initiated stop. |
0.933 | Sep 6, 2016 | README bug fix. |
0.94 | Oct 6, 2016 | Changes to triggering to make it more flexible. Also made satellite processes leaner, and made changes to the stimulus library go through the main WavesurferModel. |
0.941 | Oct 14, 2016 | Run will now continue past end of acquisition if stimulation is ongoing. Also fixed hangs in some situations. |
0.942 | Jan 11, 2017 | User classes now print debug info to terminal. Updated and streamlined Bias user code. Also fixed bug with map durations loaded from protocol files. Added fix for MultiClamp 700A support provided by Niraj Desai. |
0.943 | Feb 22, 2017 | Fixes to BIAS-WS interface, incorporating our own version of JSONLab. |
0.945 | Mar 10, 2017 | Bug fix for MultiClamp 700A support. |
0.946 | Apr 3, 2017 | Added support for MultiClamp 700B Commander 2.2. Fixed bug with y auto-scaling. Enhanced ws.examples.TriggerOnThresholdCrossingClass. |
0.947 | Apr 6, 2017 | Added support for very-low sampling rates, down to ~1/(40 s). |
0.95 | Aug 9, 2017 | Improved SI-WS integration, now using SI-WS communication protocol version 2.0.0. Input signals now displayed in main window, acquisition/stimulation settings moved to "General" window. Eliminated direct external access to WavesurferModel subsystems in user code. Eliminated Parent properties in all ws.Model objects. |
0.951 | Aug 24, 2017 | Fixed bug where WS used built-in contains() function, only introduced in R2016b. |
0.952 | Aug 25, 2017 | Fixed bug where Channels window didn't properly update after changes in the Electrodes window. |
0.953 | Sep 15, 2017 | Fixed a few bugs. |
0.96 | Sep 5, 2017 | Added support for multiple DAQ boards. |
0.961 | Oct 14, 2017 | Bug fixes. |
0.962 | Oct 18, 2017 | Added new stimulus type. Streamlined handling of stimulus parameters. |
0.963 | Oct 18, 2017 | Fixed bug. |
0.964 | Oct 19, 2017 | Fixed bug with two square pulse stimulus. |
0.965 | Dec 14, 2017 | Added Micro-Manager user class. Fixed bugs. |
0.966 | Jan 29, 2018 | Fixed bug with untimed DO during TP not working. |
0.967 | Feb 1, 2018 | Fixed bug with stim library figure not getting updated after protcol file load. |
0.97 | Feb 8, 2018 | Added wake() method to user classes. |
0.98 | Sep 13, 2018 | Improvements to ws.loadDataFile(). |
0.981 | Oct 1, 2018 | Bug fixes. |
0.982 | Apr 6, 2019 | Fixed bug with finding NI DAQmx .h file. Fixed bug with HEKA integration in Matlab 2018a/b. Added example user class for controlling Hantman Lab pez dispenser. Added new user class method, willSaveToProtocolFile(). File stimulus can now load a .mat file. Fixed a few other bugs. |
1.0 | Apr 14, 2019 | User settings files have been replaced with user profiles that act as preferences, requiring less user fiddling. WaveSurfer now does a better job of warning the user when they try to close a protocol with unsaved changes. Stimulus preview is no longer a second-class window, and now automatically updates when the current stimulus/map/sequence is changed. Dropped support for soft-real-time controllers in user code. Dropped support for Matlab 2014b and 2015a. |
1.0.1 | May 11, 2019 | Fixed bugs. Pez controller example code is now suitable for the v2 pez dispenser. Switched to semantic versioning (https://semver.org/). |
1.0.2 | Jun 5, 2019 | Fixed bug with opening old protocol files. |
1.0.5 | Dec 5, 2020 | Updates to pez controller example. Added method to query whether logging is enabled to ws.WavesurferModel. |
1.0.6 | Apr 25, 2022 | Fixed bug with TP not updating in recent Matlab versions, and TP window not resizing properly. |
updated April 25, 2022