Igor Pro 8.03 Released

A new release of Igor Pro 8 is now available for all platforms. A list of notable changes for this release is included below. Go to the Downloads page or select the Help→Updates for Igor Pro menu item within Igor Pro 8 to get the latest release. 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. 

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.03

  • Macintosh: Added fixes for several macOS 10.14 (Mojave) bugs. All Mojave users should update to Igor Pro 8.03. See our Mojave support page for a list of the known Mojave issues.



  • Under very limited circumstances the FIFO2Wave operation will work even when FIFOStatus returns a bogus value of V_FIFOChunks because the 32-bit counter has overflowed. The call to FIFO2Wave must have /S=0 and no /R flag and it must be operating on a FIFO that is not connected to a file. To enable this change, you must first execute this command:
      SetIgorOption unboundedFIFO2Wave=1
    That setting is not remembered- you must use that command every time you launch Igor.

  • Added a new BeforeUncompiledHook; you can use the hook to stop processes that depend on compiled procedures, and AfterCompiledHook to restart them.

  • Added the ModifyProcedure operation.
  • Added Execute/P "AUTOCOMPILE ON " and Execute/P "AUTOCOMPILE OFF " to the Operation Queue feature. (Note trailing space inside the quoted command.)


  • Greatly improved performance of internal code that manages objects that can depend on other objects. This includes global objects (waves, variables, and strings) as well as user-defined functions in procedure windows and controls that depend on global objects. The most visible symptom of this problem was lag when typing in procedure windows with the navigation bar enabled or the procedure browser visible. Users typically noticed this only when an experiment contained "lots" of waves. "Lots" usually meant more than 1000 to 10000. 

  • Now both SVAR and NVAR display an error dialog if they are NULL when #pragma rtFunctionErrors= 1 is set (previously only SVAR failures showed an error dialog).

  • Windows: When exporting as Bitmap (either to the clipboard or a file), Igor now stores the data of the image in bottom-up order. Previously it stored the data as top-down. Both orders are valid, but some other applications do not properly handle top-down data. As a result of this change, copying as bitmap and pasting into a web application (e.g. Google Docs) works correctly when using the Chrome browser.
  • FilterFIR can calculate a notch that is about 10 times narrower than before (but it may require as many as 100 times more coefficients).
  • Matrix contour plots: changed how the Z value for the boundary is calculated. Now the calculated Z value is stored the boundary wave's note using a "BoundaryContourZ=zValue" key-value string. Also changed the drawing order for the fill-to-boundary polygons in filled contour plots: now they are drawn first instead of last.
  • XYZ contour plots: ModifyContour contourInstanceName perturbation can be set to a seed value to perturb the xy data by tiny random values consistently each time the triangulation is updated. Use a perturbation value greater than 1 and less than 231-1. Different seed values may be helpful in improving the rendering of filled contours.
  • The Z value of contour traces is once again shown in the cursor info panel, as it was for Igor 6.
  • Debugger: Holding down the option key (Mac) or the Alt key (Windows) while clicking the Go button closes the debugger window immediately instead of when execution ceases. The Debugger window will reappear if a breakpoint is encountered.
  • Previously, if you had a date/time axis with two-line tick labels showing the time and the date, the TickWavesFromAxis operation would generate a "\r" escape code in the generated text wave. But our tick label drawing code does not interpret this escape code, resulting in an odd-looking tick label. So as of Update 8.03B02, TickWavesFromAxis generates a literal carriage return character instead. Note that this also affects the New From Auto Ticks button in the Modify Axis dialog, Auto/Man Ticks tab, in the User Ticks from Waves section.



  • Changed the Ternary Diagram package's contours to no longer create two conflicting dependencies that caused Igor to become sluggish due to unending dependency updates. When you open old experiments that contain a Ternary contour the new package will fix the dependencies to restore Igor's normal responsiveness (this problem does not affect Ternary Diagram traces, only Ternary contours). Other changes to the Ternary Diagram package include improved control of the lists' sorting order and better management (deletion) of data folders and dependencies when they are no longer needed.
  • Changed the 2D Pie Chart Procedure to work with long wave names and long data folder names. If you use short names, the saved experiment will work with earlier versions of the procedure file.
  • Revised the Color Table Control Panel procedure to work with graphs, image plots, and contour plots in subwindows, and to support color table waves.
  • Added a link to Color Table Waves Index in the Graph->Packages and Image->Packages submenus.


  • Expanded the Color Table Waves Index topic to include more information about how to load, use and create color table waves, mostly in the revised Color Table Wave Creation subtopic.




Igor Pro 8

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More