Igor Pro 8.01 Beta 1 Released

A new beta release of Igor Pro 8 is now available for all platforms. A list of notable changes for this release is included below. If you've reported an issue to us and we've told you it's been fixed, the fix will be included in this release, even if it's not mentioned below.

If you have enabled checking for beta releases (select the Misc→Miscellaneous Settings menu item to open the Miscellaneous Settings dialog, select the Updates category, then select the "Also Check for Beta Releases" checkbox) you can select the Help→Updates for Igor Pro menu item within Igor Pro 8 to get the latest beta release. Otherwise you can go to the Downloads page to download the installer manually.

Macintosh users: When you drag the Igor Pro 8 Folder from the new installer into your Applications folder, the OS may ask you whether you want to merge the folders or replace the existing folder. You should select "Replace".

Notable Changes in Igor Pro 8.01 Beta 1



  • Added WaveModCount function.


  • Objects in free data folders can no longer be used as values in controls. Previously, this was not expressly forbidden but, in our tests, always resulted in a crash.
  • Changed the Command Completion algorithm to not suggest operations and programming topics other than at the beginning of a statement.
  • User Abort Key Combinations and the Abort button now abort on key press or mouse press instead of key release or mouse button release. This will give more responsive aborts and more consistent behavior in various situations.
  • Added an expand/collapse all button to the Procedure Browser.
  • Improved performance of experiment loading code when an experiment has lots of objects. "Lots" typically means > 100000, but experiments with fewer objects might load noticeably faster. "Objects" means global objects (waves, variables, and strings) as well as user-defined functions in procedure windows and controls that depend on global objects. 
  • Improved overall performance of Igor, particularly during wave assignment statements and loops within user-defined functions. The impact of this change is processor and OS dependent. Our tests show that on older Macintosh machines, a wave assignment statement for a 1e8 point wave is several times faster. On the other hand, using a much newer Windows machine, the same assignment statement was already much faster before the change, and after the change was only incrementally faster.
  • If you are saving a wave as a delimited or general text file using the Save operation, if the operation needs to display the Save File dialog, and if you have specified a proposed file name with an unusual extension, the Save File dialog sets itself to "All Files" mode. This allows you to save the file with the unusual extension without manually changing to "All Files".


  • Windows: Fixed wrong cell selected when you clicked on a table cell on Windows only and in the 32-bit version of Igor only.
  • Fixed drawing of error boxes on graphs with extreme zoom-in.
  • Fixed recreation macros for Box and Violin Plots made from many waves.
  • Fixed potential crashes in threaded code.
  • A box plot with notches now draws correctly on a reversed Y axis, even with any combination of graph swapXY and trace doVert, on category or numerical axes.
  • Fixed slow loading of many dialogs including the Data Browser when the experiment has hundreds or thousands of objects.
  • Fixed behavior when pressing Enter/Return on command line when completion popup is visible and completion key trigger is set as Tab only. Previously this entered a carriage return, but now this executes the command.
  • Fixed selection behavior in the Modify Trace Appearance dialog when filtering by trace name.
  • Fixed crash when The Debugger is invoked during a window hook resize event. See Window Hook Functions.
  • Saving a notebook as HTML using File->Save Notebook As wrote an incorrect charset attribute. SaveNotebook/S=5 did not have this problem.
  • If you use User Abort Key Combinations or the Abort button to cancel a Sleep operation in the catch-endtry area of a try-catch-endtry block, it no longer aborts the calling code.
  • The AppendBoxPlot and AppendViolinPlot commands did not correctly generate new free axes for /T=axisname, /B=axisname or /R=axisname.
  • The Modify Violin Plot dialog did not always generate commands for line color when toggling the Use Trace Color checkbox.
  • The new hovered event for PopupMenu control action procedures was setting the value of the menu, not just reporting what was highlighted.
  • Fixed a crash using the Retrieve menu in the Draw Tools palette when you selected a control.
  • The extractOutline keyword for the DrawAction operation gave bogus coordinates.
  • Violin plots didn't honor the Side setting for data jitter on asymmetric violin plots.
  • Asymmetric violin plots with Swap XY and data jitter now plot the data points correctly.
  • Eliminated an annoying space between the center line and the first data point in a cluster of jittered data points. This may slightly change the appearance of asymmetric violin plots with jittered data.
  • Undo didn't work for certain ModifyGraph trace settings such as textMarker, arrowMarker, and mask.
  • Macintosh only: Added a workaround for a failure to destroy windows that were minimized into the Dock when New Experiment was chosen.
  • Test for default values for ModifyGraph catGap and barGap was done incorrectly, resulting in command generation for default values in recreation macros.
  • The AppendBoxPlot and AppendViolinPlot commands did not correctly generate new free axes for /T=axisname, /B=axisname or /R=axisname.
  • Fixed a possible crash in a violin plot with many data sets.
  • Now the Curve Fit dialog correctly parses an all-at-once fit function to determine the number of independent variables.
  • If you make a box or violin plot with a list of 1D waves, and the first wave in the list has X scaling set to something other than point scaling (delta X not equal to 1.0) then the position of the boxes or violins would be incorrect.
  • Fixed crash executing this nonsensical code: 
  • make/n=(256,256) jack; jack = sin(x/5)*sin(y/5); Display; AppendImage jack
  • ReorderImages jack, {jack}
  • Fixed bug: ReorderImages _back_ moved images to the front, _front_ moved them to the back.
  • Fixed bug: ReorderTraces _back_ moved traces to the front, _front_ moved them to the back.
  • Fixed bug in Modify Box Plot dialog: on the Lines tab, the Set All Like Box button didn't turn on the other Trace Color checkboxes. The same was true of the Trace Style checkboxes.
  • Fixed CurveFit/TBOX flag to make the default behavior consistent between interpreted and compiled uses. Revised the documentation of the default: /TBOX by itself is equivalent to turning on all bits. The documentation has stated in the past that the default was zero, which would eliminate the textbox, but that is not how it actually worked.
  • Listbox controls now honor the disabled bit (bit 7 in a selWave element) more consistently: you can no longer use keyboard shortcuts to toggle a checkbox cell or start editing a disabled but editable cell, and non-checkbox cells now are drawn with grayed text.




Igor Pro 9

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More