pyqtgraph-0.11.0 (in development)

  New Features:
    - #101: GridItem formatting options
    - #410: SpinBox custom formatting options
    - #415: ROI.getArrayRegion supports nearest-neighbor interpolation (especially handy for label images)
    - #428: DataTreeWidget:
      - Add DiffTreeWidget, which highlights differences between two DataTreeWidgets
      - Improved support for displaying tracebacks
      - Use TableWidget to represent arrays rather than plain text
    - #446: Added Perceptually Uniform Sequential colormaps from the matplotlib 2.0 release
    - #476: Add option to set composition mode for scatterplotitem
    - #518: TreeWidget:
      - Add new signals: sigItemCheckStateChanged, sigItemTextChanged, sigColumnCountChanged
      - Allow setting expansion state of items before they are added to a treewidget
      - Support for using TreeWidget.invisibleRootItem() (see also #592, #595)
    - #542: Add collapsible QGroupBox widgets
    - #543: Add TargetItem: simple graphicsitem that draws a scale-invariant circle + crosshair
    - #544: Make DockArea.restoreState behavior configurable in cases where either a dock to be restored is 
      missing, or an extra dock exists that is not mentioned in the restore state.
    - #545: Allow more types to be mapped through Transform3D 
    - #548: Adds a disconnect() function that allows to conditionally disconnect signals,
      including after reload.
      Also, a SignalBlock class used to temporarily block a signal-slot pair
    - #557: Allow console stack to be set outside of exceptions (see also: pg.stack)
    - #558: CanvasItem save/restore, make Canvas ui easier to embed
    - #559: Image exporter gets option to invert value while leaving hue fixed
    - #560: Add function to enable faulthandler on all threads, also allow Mutex to be used as 
      drop-in replacement for python's Lock
    - #567: Flowchart
      - Add several new data nodes
      - Add floordiv node
      - Add EvalNode.setCode
      - Binary operator nodes can select output array type
    - #568: LinearRegionItem
      - InfiniteLine can draw markers attached to the line
      - InfiniteLine can limit the region of the viewbox over which it is drawn
      - LinearRegionItem gets customizable line swap behavior (lines can block or push each other)
      - Added LinearRegionItem.setHoverBrush
    - #580: Allow calling sip.setapi in subprocess before pyqtgraph is imported
    - #582: Add ComboBox save/restoreState methods
    - #586: ParameterTree
      - Add GroupParameter.sigAddNew signal
      - systemsolver: add method for checking constraints / DOF
      - add systemsolver copy method
      - Parameter.child raises KeyError if requested child name does not exist
    - #587: Make PathButton margin customizable
    - #588: Add PlotCurveItem composition mode
    - #589: Add RulerROI
    - #591: Add nested progress dialogs
    - #597: Fancy new interactive fractal demo
    - #621: RGB mode for HistogramLUTWidget
    - #628,670: Add point selection in ScatterPlotWidget
    - #635: PySide2 support
    - #671: Add SVG export option to force non-scaling stroke
    - #676: OpenGL allow for panning in the plane of the camera
    - #683: Allow data filter entries to be updated after they are created
    - #685: Add option to set enum default values in DataFilterWidget
    - #710: Adds ability to rotate/scale ROIs by mouse drag on the ROI itself (using alt/shift modifiers)
    - #813,814,817: Performance improvements
    - #837: Added options for field variables in ColorMapWidget
    - #840, 932: Improve clipping behavior
    - #841: Set color of tick-labels separately
    - #922: Curve fill for fill-patches
    - #996: Allow the update of LegendItem
    - #1023: Add bookkeeping exporter parameters
    - #1072: HDF5Exporter handling of ragged curves with tests

  API / behavior changes:
    - Deprecated graphicsWindow classes; these have been unnecessary for many years because
      widgets can be placed into a new window just by calling show().
    - #158: Make DockArea compatible with Qt Designer
    - #406: Applying alpha mask on numpy.nan data values
    - #566: ArrowItem's `angle` option now rotates the arrow without affecting its coordinate system.
      The result is visually the same, but children of ArrowItem are no longer rotated
      (this allows screen-aligned text to be attached more easily).
      To mimic the old behavior, use ArrowItem.rotate() instead of the `angle` argument.
    - #673: Integer values in ParameterTree are now formatted as integer (%d) by default, rather than 
      scientific notation (%g). This can be overridden by providing `format={value:g}` when
      creating the parameter.
    - #374: ConsoleWidget uses the console's namespace as both global and local scope, which
    - #410: SpinBox siPrefix without suffix is not longer allowed, select only numerical portion of text on focus-in
      allows functions defined in the console to access the global namespace.
    - #479,521: ParameterTree simple parameters check types before setting value
    - #555: multiprocess using callSync='sync' no longer returns a future in case of timeout
    - #583: eq() no longer compares array values if they have different shape
    - #589: Remove SpiralROI (this was unintentionally added in the first case)
    - #593: Override qAbort on slot exceptions for PyQt>=5.5
    - #657: When a floating Dock window is closed, the dock is now returned home
    - #771: Suppress RuntimeWarning for arrays containing zeros in logscale
    - #942: If the visible GraphicsView is garbage collected, a warning is issued.
    - #958: Nicer Legend
    - #963: Last image in image-stack can now be selected with the z-slider
    - #992: Added a setter for GlGridItem.color.
    - #999: Make outline around fillLevel optional.
    - #1014: Enable various arguments as color in colormap.
    - #1044: Raise AttributeError in __getattr__ in graphicsWindows (deprecated)
    - #1055: Remove global for CONFIG_OPTIONS in setConfigOption
    - #1066: Add RemoteGraphicsView to __init__.py
    - #1069: Allow actions to display title instead of name
    - #1074: Validate min/max text inputs in ViewBoxMenu
    - #1076: Reset currentRow and currentCol on GraphicsLayout.clear()
    - #1079: Improve performance of updateData PlotCurveItem
    - #1082: Allow MetaArray.__array__ to accept an optional dtype arg

  Bugfixes:
    - #88: Fixed image scatterplot export
    - #356: Fix some NumPy warnings
    - #408: Fix `cleanup` when the running qt application is not a QApplication
    - #410: SpinBox fixes
      - fixed bug with exponents disappearing after edit
      - fixed parsing of values with junk after suffix
      - fixed red border
      - reverted default decimals to 6
      - make suffix editable (but show red border if it's wrong)
      - revert invalid text on focus lost
      - siPrefix without suffix is no longer allowed
      - fixed parametree sending invalid options to spinbox
      - fix spinbox wrapping (merged #159 from @lidstrom83)
      - fixed parametertree ignoring spinbox bounds (merged #329 from @lidstrom83)
      - fixed spinbox height too small for font size
    - ROI subclass getArrayRegion methods are a bit more consistent (still need work) 
    - #424: Fix crash when running pyqtgraph with python -OO
    - #429: Fix fft premature slicing away of 0 freq bin
    - #458: Fixed image export problems with new numpy API
    - #478: Fixed PySide image memory leak
    - #475: Fixed unicode error when exporting to SVG with non-ascii symbols
    - #477: Fix handling of the value argument to functions.intColor
    - #485: Fixed incorrect height in VTickGroup
    - #514: Fixes bug where ViewBox emits sigRangeChanged before it has marked its transform dirty.
    - #516,668: Fix GL Views being half size on hidpi monitors
    - #526: Fix autorange exception with empty scatterplot
    - #528: Prevent image downsampling causing exception in makeQImage
    - #530: Fixed issue where setData only updated opts if data is given 
    - #541: Fixed issue where render would error because 'mapToDevice' would return None if the view size was too small.
    - #553: Fixed legend size after remove item
    - #555: Fixed console color issues, problems with subprocess closing
    - #559: HDF5 exporter: check for ragged array length
    - #563: Prevent viewbox auto-scaling to items that are not in the same scene. (This could 
      happen if an item that was previously added to the viewbox is then removed using scene.removeItem().
    - #564: Allow console exception label to wrap text (prevents console
      growing too large for long exception messages)
    - #565: Fixed AxisItem preventing mouse events reaching the ViewBox if it is displaying grid lines
      and has its Z value set higher than the ViewBox.
    - #567: fix flowchart spinbox bounds
    - #569: PlotItem.addLegend will not try to add more than once 
    - #570: ViewBox: make sure transform is up to date in all mapping functions
    - #577: Fix bargraphitem plotting horizontal bars
    - #581: Fix colormapwidget saveState
    - #586: ParameterTree
      - Make parameter name,value inint args go through setValue and setName
      - Fix colormapwidget saveState
    - #589: Fix click area for small ellipse/circle ROIs
    - #592,595: Fix InvisibleRootItem issues introduced in #518
    - #596: Fix polyline click causing lines to bedrawn to the wrong node
    - #598: Better ParameterTree support for dark themes 
    - #599: Prevent invalid list access in GraphicsScene
    - #623: Fix PyQt5 / ScatterPlot issue with custom symbols
    - #626: Fix OpenGL texture state leaking to wrong items 
    - #627: Fix ConsoleWidget stack handling on python 3.5
    - #633: Fix OpenGL cylinder geometry 
    - #637: Fix TypeError in isosurface
    - #641,642: Fix SVG export on Qt5 / high-DPI displays
    - #645: ScatterPlotWidget behaves nicely when data contains infs
    - #653: ScatterPlotItem: Fix a GC memory leak due to numpy issue 6581
    - #648: fix color ignored in GLGridItem
    - #671: Fixed SVG export failing if the first value of a plot is nan
    - #674: Fixed parallelizer leaking file handles
    - #675: Gracefully handle case where image data has size==0
    - #679: Fix overflow in Point.length()
    - #682: Fix: mkQApp returned None if a QApplication was already created elsewhere
    - #689: ViewBox fix: don't call setRange with empty args
    - #693: Fix GLLinePlotItem setting color
    - #696: Fix error when using PlotDataItem with both stepMode and symbol
    - #697: Fix SpinBox validation on python 3
    - #699: Fix nan handling in ImageItem.setData
    - #713: ConsoleWidget: Fixed up/down arrows sometimes unable to get back to the original 
      (usually blank) input state 
    - #715: Fix file dialog handling in Qt 5
    - #718: Fix SVG export with items that require option.exposedRect
    - #721: Fixes mouse wheel ignoring disabled mouse axes -- although the scaling was correct, 
      it was causing auto range to be disabled.
    - #723: Fix axis ticks when using self.scale
    - #739: Fix handling of 2-axis mouse wheel events
    - #742: Fix Metaarray in python 3
    - #758: Fix remote graphicsview "ValueError: mmap length is greater than file size" on OSX.
    - #763: Fix OverflowError when using Auto Downsampling.
    - #767: Fix Image display for images with the same value everywhere.
    - #770: Fix GLVieWidget.setCameraPosition ignoring first parameter.
    - #782: Fix missing FileForwarder thread termination.
    - #787: Fix encoding errors in checkOpenGLVersion.
    - #793: Fix wrong default scaling in makeARGB
    - #815: Fixed mirroring of x-axis with "invert Axis" submenu.
    - #824: Fix several issues related with mouse movement and GraphicsView.
    - #832: Fix Permission error in tests due to unclosed filehandle.
    - #836: Fix tickSpacing bug that lead to axis not being drawn.
    - #861: Fix crash of PlotWidget if empty ErrorBarItem is added.
    - #868: Fix segfault on repeated closing of matplotlib exporter.
    - #875,876,887,934,947,980: Fix deprecation warnings.
    - #886: Fix flowchart saving on python3.
    - #888: Fix TreeWidget.topLevelItems in python3.
    - #924: Fix QWheelEvent in RemoteGraphicsView with pyqt5.
    - #935: Fix PlotItem.addLine with 'pos' and 'angle' parameter.
    - #949: Fix multiline parameters (such as arrays) reading from config files.
    - #951: Fix event firing from scale handler.
    - #952: Fix RotateFree handle dragging
    - #953: Fix HistogramLUTWidget with background parameter
    - #968: Fix Si units in AxisItem leading to an incorrect unit.
    - #970: Always update transform when setting angle of a TextItem
    - #971: Fix a segfault stemming from incorrect signal disconnection.
    - #972: Correctly include SI units for log AxisItems
    - #974: Fix recursion error when instancing CtrlNode.
    - #987: Fix visibility reset when PlotItems are removed.
    - #998: Fix QtProcess proxy being unable to handle numpy arrays with dtype uint8.
    - #1010: Fix matplotlib/CSV export.
    - #1012: Fix circular texture centering
    - #1015: Iterators are now converted to NumPy arrays.
    - #1016: Fix synchronisation of multiple ImageViews with time axis.
    - #1017: Fix duplicate paint calls emitted by Items on ViewBox.
    - #1019: Fix disappearing GLGridItems when PlotItems are removed and readded.
    - #1024: Prevent element-wise string comparison
    - #1031: Reset ParentItem to None on removing from PlotItem/ViewBox
    - #1044: Fix PlotCurveItem.paintGL
    - #1048: Fix bounding box for InfiniteLine
    - #1062: Fix flowchart context menu redundant menu
    - #1062: Fix a typo
    - #1073: Fix Python3 compatibility
    - #1083: Fix SVG export of scatter plots
    - #1085: Fix ofset when drawing symbol

  Maintenance:
    - Lots of new unit tests
    - Lots of code cleanup
    - A lot of work on CI pipelines, test coverage and test passing (see e.g. #903,911)
    - #546: Add check for EINTR during example testing to avoid sporadic test failures on travis
    - #624: TravisCI no longer running python 2.6 tests
    - #695: "dev0" added to version string
    - #865,873,877 (and more): Implement Azure CI pipelines, fix Travis CI
    - #991: Use Azure Pipelines to do style checks, Add .pre-commit-config.yaml
    - #1042: Close windows at the end of test functions
    - #1046: Establish minimum numpy version, remove legacy workarounds
    - #1067: Make scipy dependency optional


pyqtgraph-0.10.0

  New Features:
    - PyQt5 support
    - Options for interpreting image data as either row-major or col-major
    - InfiniteLine and LinearRegionItem can have attached labels
    - DockArea:
        - Dock titles can be changed after creation
        - Added Dock.sigClosed
    - Added TextItem.setColor()
    - FillBetweenItem supports finite-connected curves (those that exclude nan/inf)

  API / behavior changes:
    - Improved ImageItem performance for some data types by scaling LUT instead of image
    - Change the defaut color kwarg to None in TextItem.setText() to avoid changing
      the color every time the text is changed.
    - FFT plots skip first sample if x-axis uses log scaling 
    - Multiprocessing system adds bytes and unicode to the default list of no-proxy data types
    - Version number scheme changed to be PEP440-compliant (only affects installations from non-
      release git commits) 

  Bugfixes:
    - Fix for numpy API change that caused casting errors for inplace operations
    - Fixed git version string generation on python3
    - Fixed setting default values for out-of-bound points in pg.interpolateArray
    - Fixed plot downsampling bug on python 3
    - Fixed invalid slice in ImageItem.getHistogram
    - DockArea:
        - Fixed adding Docks to DockArea after all Docks have been removed
        - Fixed DockArea save/restoreState when area is empty
    - Properly remove select box when export dialog is closed using window decorations
    - Remove all modifications to python builtins
    - Better Python 2.6 compatibility
    - Fix SpinBox decimals
    - Fixed numerous issues with ImageItem automatic downsampling
    - Fixed PlotItem average curves using incorrect stepMode
    - Fixed TableWidget eating key events
    - Prevent redundant updating of flowchart nodes with multiple inputs
    - Ignore wheel events in GraphicsView if mouse interaction is disabled
    - Correctly pass calls to QWidget.close() up the inheritance chain
    - ColorMap forces color inputs to be sorted
    - Fixed memory mapping for RemoteGraphicsView in OSX
    - Fixed QPropertyAnimation str/bytes handling
    - Fixed __version__ string update when using `setup.py install` with newer setuptools

  Maintenance:
    - Image comparison system for unit testing plus tests for several graphics items
    - Travis CI and coveralls/codecov support
    - Add examples to unit tests
    


pyqtgraph-0.9.10

  Fixed installation issues with more recent pip versions.

pyqtgraph-0.9.9

  API / behavior changes:
    - Dynamic import system abandoned; pg now uses static imports throughout.
        - Flowcharts and exporters have new pluggin systems
    - Version strings:
        - __init__.py in git repo now contains latest release version string
          (previously, only packaged releases had version strings).
        - installing from git checkout that does not correspond to a release 
          commit will result in a more descriptive version string.
    - Speed improvements in functions.makeARGB
    - ImageItem is faster by avoiding makeQImage(transpose=True)
    - ComboBox will raise error when adding multiple items of the same name
    - ArrowItem.setStyle now updates style options rather than replacing them 
    - Renamed GraphicsView signals to avoid collision with ViewBox signals that
      are wrapped in PlotWidget: sigRangeChanged => sigDeviceRangeChanged and
      sigTransformChanged => sigDeviceTransformChanged.
    - GLViewWidget.itemsAt() now measures y from top of widget to match mouse 
      event position.
    - Made setPen() methods consistent throughout the package
    - Fix in GLScatterPlotItem requires that points will appear slightly more opaque 
      (so you may need to adjust to lower alpha to achieve the same results)

  New Features:
    - Added ViewBox.setLimits() method
    - Adde ImageItem downsampling
    - New HDF5 example for working with very large datasets
    - Removed all dependency on scipy
    - Added Qt.loadUiType function for PySide
    - Simplified Profilers; can be activated with environmental variables
    - Added Dock.raiseDock() method
    - ComboBox updates:
        - Essentially a graphical interface to dict; all items have text and value
        - Assigns previously-selected text after list is cleared and repopulated
        - Get, set current value
    - Flowchart updates
        - Added Flowchart.sigChartChanged
        - Custom nodes may now be registered in sub-menu trees
    - ImageItem.getHistogram is more clever about constructing histograms
    - Added FillBetweenItem.setCurves()
    - MultiPlotWidget now has setMinimumPlotHeight method and displays scroll bar
      when plots do not fit inside the widget.
    - Added BarGraphItem.shape() to allow better mouse interaction
    - Added MeshData.cylinder
    - Added ViewBox.setBackgroundColor() and GLViewWidget.setBackgroundColor()
    - Utilities / debugging tools
        - Mutex used for tracing deadlocks
        - Color output on terminal
        - Multiprocess debugging colors messages by process
        - Stdout filter that colors text by thread
        - PeriodicTrace used to report deadlocks
    - Added AxisItem.setStyle()
    - Added configurable formatting for TableWidget
    - Added 'stepMode' argument to PlotDataItem()
    - Added ViewBox.invertX()
    - Docks now have optional close button
    - Added InfiniteLine.setHoverPen
    - Added GLVolumeItem.setData
    - Added PolyLineROI.setPoints, clearPoints, saveState, setState
    - Added ErrorBarItem.setData

  Bugfixes:
    - PlotCurveItem now has correct clicking behavior--clicks within a few px
      of the line will trigger a signal.
    - Fixes related to CSV exporter:
        - CSV headers include data names, if available
        - Exporter correctly handles items with no data
        - pg.plot() avoids creating empty data item
        - removed call to reduce() from exporter; not available in python 3
        - Gave .name() methods to PlotDataItem, PlotCurveItem, and ScatterPlotItem
    - fixed ImageItem handling of rgb images
    - fixed makeARGB re-ordering of color channels
    - fixed unicode usage in AxisItem tick strings
    - fixed PlotCurveItem generating exceptions when data has length=0
    - fixed ImageView.setImage only working once
    - PolyLineROI.setPen() now changes the pen of its segments as well
    - Prevent divide-by-zero in AxisItem
    - Major speedup when using ScatterPlotItem in pxMode
    - PlotCurveItem ignores clip-to-view when auto range is enabled
    - FillBetweenItem now forces PlotCurveItem to generate path
    - Fixed import errors and py3 issues in MultiPlotWidget
    - Isosurface works for arrays with shapes > 255
    - Fixed ImageItem exception building histogram when image has only one value
    - Fixed MeshData exception caused when vertexes have no matching faces
    - Fixed GLViewWidget exception handler
    - Fixed unicode support in Dock
    - Fixed PySide crash caused by emitting signal from GraphicsObject.itemChange
    - Fixed possible infinite loop from FiniteCache
    - Allow images with NaN in ImageView
    - MeshData can generate edges from face-indexed vertexes
    - Fixed multiprocess deadlocks on windows
    - Fixed GLGridItem.setSize
    - Fixed parametertree.Parameter.sigValueChanging
    - Fixed AxisItem.__init__(showValues=False)
    - Fixed TableWidget append / sort issues
    - Fixed AxisItem not resizing text area when setTicks() is used
    - Removed a few cyclic references
    - Fixed Parameter 'readonly' option for bool, color, and text parameter types
    - Fixed alpha on GLScatterPlotItem spots (formerly maxed out at alpha=200)
    - Fixed a few bugs causing exit crashes


pyqtgraph-0.9.8  2013-11-24

  API / behavior changes:
    - ViewBox will auto-range when ImageItem changes shape
    - AxisItem: 
        - Smarter about deciding which ticks get text
        - AxisItem.setScale(float) has the usual behavior, but .setScale(None) 
          is deprecated. Instead use:
          AxisItem.enableAutoSIPrefix(bool) to enable/disable SI prefix scaling
    - Removed inf/nan checking from PlotDataItem and PlotCurveItem; improved 
      performance

  New Features:
    - Support for dynamic downsampling and view clipping in PlotDataItem and 
      PlotItem
    - Added 'connect' option to PlotDataItem and PlotCurveItem to affect which 
      line segments are drawn
    - Support for FFT with non-uniform time sampling
    - Added BarGraphItem
    - OpenGL:
        - Added export methods to GLViewWidget
        - Wireframe meshes
        - GLLinePLotItem gets antialiasing, accepts array of colors
        - GLMeshItem accepts ShaderProgram or name of predefined program
        - Added GLBarGraphItem
    - LegendItem:
        - User-draggable
        - Allow custom ItemSamples
        - Symbol support
        - Support for removing items
    - ScatterPlotWidget, ColorMapWidget, and DataFilterWidget are stable
    - TableWidget:
        - Made numerically sortable
        - Added setEditable method
    - AxisItem ability to truncate axis lines at the last tick
    - arrayToQPath() added 'finite' connection mode which omits non-finite 
      values from connections
    - pg.plot() and pg.PlotWidget() now accept background argument
    - Allow QtProcess without local QApplication
    - Support for dashing in mkPen()
    - Added Dock.close()
    - Added style options to flowchart connection lines
    - Added parentChanged and viewChanged hooks to GraphicsItem 
    - Bidirectional pseudoScatter for beeswarm plots
    - Added exit() function for working around PyQt exit crashes
    - Added PolylineROI.getArrayRegion()

  Bugfixes:
    - Many Python 3 compatibility fixes
    - AxisItem:
        - Correctly handles scaling with values that are not power of 10
        - Did not update grid line length when plot stretches
        - Fixed unicode handling in AxisItem label
    - ViewBox:
        - Overhauled to fix issues with aspect locking
        - ViewBox context menu elements are no longer deleted when using 
          flowchart with pyside
        - Fixed view linking with inverted y axis
        - Prevent auto-range disabling when dragging with one mouse axis diabled
        - Ignore inf and nan when auto-ranging
    - ParameterTree:
        - fixed TextParameter editor disappearing after focus lost
        - ListParameter: allow unhashable types as parameter values.
    - Exporting:
        - ImageExporter correctly handles QBrush with style=NoBrush
        - SVGExporter text, gradients working correctly
        - SVGExporter correctly handles coordinate corrections for groups with 
          mixed elements
    - ImageView:
        - Fixed auto-levelling when normalization options change
        - Added autoHistogramRange argument to setImage
    - ScatterPlotItem:
        - Fixed crashes caused by ScatterPlotItem
        - Fixed antialiasing
    - arrayToQPath performance improved for python 3
    - Fixed makeQImage on many platforms (notably, on newer PyQt APIs)
    - Removed unnecessary scipy imports for faster import
    - GraphItem reports pixel margins to improve auto-range
    - Add backport ordereddict to repository; old OrderedDict class is removed
    - Corrected behavior of GraphicsView.setBackground
    - Fixed PySide bug listing image formats
    - Fixed QString -> str conversions in flowchart
    - Unicode file name support when exporting
    - Fixed MatplotlibWidget + PySide
    - Fixed 3D view updating after every scene change
    - Fixed handling of non-native dtypes when optimizing with weave
    - RemoteGraphicsView fixed for PyQt 4.10, Python 3
    - Fixed GLLinePlotItem line width option
    - HistogramLUTWidget obeys default background color
    - ScaleBar complete rewrite
    - GraphItem obeys antialiasing flag
    - Workaround for PySide/QByteArray memory leak
    - Fixed example --test on windows, python3
    - Luke finished dissertation


pyqtgraph-0.9.7  2013-02-25

   Bugfixes:
     - ArrowItem auto range now works correctly
     - Dock drag/drop fixed on PySide
     - Made padding behavior consistent across ViewBox methods
     - Fixed MeshData / python2.6 incompatibility
     - Fixed ScatterPlotItem.setSize and .setPointData
     - Workaround for PySide bug; GradientEditor fixed
     - Prefer initially selecting PlotItem rather then ViewBox when exporting
     - Fixed python3 import error with flowcharts
   
   Cleaned up examples, made code editable from example loader
   Minor documentation updates
   Features:
     - Added GraphItem class for displaying networks/trees
     - Added ColorMap class for mapping linear gradients and generating lookup
     tables
       (Provides gradient editor functionality without the GUI)
     - Added ColorMapWidget for complex user-defined color mapping
     - Added ScatterPlotWidget for exploring relationships in multi-column
     tables
     - Added ErrorBarItem
     - SVG and image exporters can now copy to clipboard
     - PlotItem gets new methods: addLine, setLabels, and listDataItems
     - AxisItem gets setTickFont method
     - Added functions.arrayToQPath, shared between GraphItem and PlotCurveItem
     - Added gradient editors to parametertree
     - Expanded documentation, added beginning of Qt crash course
   
   Bugfixes:
     - Fixed auto-ranging bugs: ViewBox now properly handles pixel-padding
     around data items
     - ViewBox ignores bounds of zoom-rect when auto ranging
     - Fixed AxisItem artifacts
     - Fixed GraphicsItem.pixelVector caching bugs and simplified workaround for
     fp-precision errors
     - LinearRegionItem.hoverEvent obeys 'movable' flag                         
                                                                                
                                        
     - Fixed PlotDataItem nan masking bugs                                      
                                                                                
                                        
     - Workaround for segmentation fault in QPainter.drawPixmapFragments        
                                                                                
                                        
     - multiprocess and RemoteGraphicsView work correctly in Windows.           
                                                                                
                                        
     - Expanded python 3 support                                                
                                                                                
                                        
     - Silenced weave errors by default                                         
                                                                                
                                        
     - Fixed " 'win' in sys.platform " occurrences matching 'darwin' (duh)
     - Workaround for change in QImage API (PyQt 4.9.6)
     - Fixed axis ordering bug in GLScatterPlotItem

pyqtgraph-0.9.6  2013-02-14

   Features:
     - Added GraphItem class for displaying networks/trees
     - Added ColorMap class for mapping linear gradients and generating lookup
     tables
       (Provides gradient editor functionality without the GUI)
     - Added ColorMapWidget for complex user-defined color mapping
     - Added ScatterPlotWidget for exploring relationships in multi-column
     tables
     - Added ErrorBarItem
     - SVG and image exporters can now copy to clipboard
     - PlotItem gets new methods: addLine, setLabels, and listDataItems
     - AxisItem gets setTickFont method
     - Added functions.arrayToQPath, shared between GraphItem and PlotCurveItem
     - Added gradient editors to parametertree
     - Expanded documentation, added beginning of Qt crash course
   
   Bugfixes:
     - Fixed auto-ranging bugs: ViewBox now properly handles pixel-padding
     around data items
     - ViewBox ignores bounds of zoom-rect when auto ranging
     - Fixed AxisItem artifacts
     - Fixed GraphicsItem.pixelVector caching bugs and simplified workaround for
     fp-precision errors
     - LinearRegionItem.hoverEvent obeys 'movable' flag                         
                                                                                
                                        
     - Fixed PlotDataItem nan masking bugs                                      
                                                                                
                                        
     - Workaround for segmentation fault in QPainter.drawPixmapFragments        
                                                                                
                                        
     - multiprocess and RemoteGraphicsView work correctly in Windows.           
                                                                                
                                        
     - Expanded python 3 support                                                
                                                                                
                                        
     - Silenced weave errors by default                                         
                                                                                
                                        
     - Fixed " 'win' in sys.platform " occurrences matching 'darwin' (duh)
     - Workaround for change in QImage API (PyQt 4.9.6)
     - Fixed axis ordering bug in GLScatterPlotItem
   Plotting performance improvements:
     - AxisItem shows fewer tick levels in some cases.
     - Lots of boundingRect and dataBounds caching
       (improves ViewBox auto-range performance, especially with multiple plots)
     - GraphicsScene avoids testing for hover intersections with non-hoverable
     items
       (much less slowdown when moving mouse over plots)
   
   Improved performance for remote plotting:
     - reduced cost of transferring arrays between processes (pickle is too
     slow)
     - avoid unnecessary synchronous calls
   
   Added RemoteSpeedTest example


pyqtgraph-0.9.5  2013-01-11

   Plotting performance improvements:
     - AxisItem shows fewer tick levels in some cases.
     - Lots of boundingRect and dataBounds caching
       (improves ViewBox auto-range performance, especially with multiple plots)
     - GraphicsScene avoids testing for hover intersections with non-hoverable
     items
       (much less slowdown when moving mouse over plots)
   
   Improved performance for remote plotting:
     - reduced cost of transferring arrays between processes (pickle is too
     slow)
     - avoid unnecessary synchronous calls
   
   Added RemoteSpeedTest example
   Documentation:
   - Added documentation on export system
   - Added flowchart documentation and custom node example
   
   Bugfixes: 
   - prevent PlotCurveItem drawing shadow when unnecessary
   - deprecated flowchart.Node.__getattr__ -- causes too many problems.

pyqtgraph-0.9.4  2013-01-07

   Documentation:
   - Added documentation on export system
   - Added flowchart documentation and custom node example
   
   Bugfixes: 
   - prevent PlotCurveItem drawing shadow when unnecessary
   - deprecated flowchart.Node.__getattr__ -- causes too many problems.
   Bugfix: prevent adding invalid entry to sys.path when running examples

pyqtgraph-0.9.3  2012-12-29

   Bugfix: prevent adding invalid entry to sys.path when running examples
   Bugfixes:
   - SVG export text elements use generic font-family as backup, corrected item
   transformation issues
   - Fixed RuntimeError caused when clearing item hierarchies from ViewBox
   - Fixed example execution bug
   
   Packaging maintenance:
   - Added missing files to MANIFEST.in, fixed setup.py package detection
   - Added debian control files for building source packages
   - Fixed version numbering in doc, __init__.py

pyqtgraph-0.9.2  2012-12-29

   Bugfixes:
   - SVG export text elements use generic font-family as backup, corrected item
   transformation issues
   - Fixed RuntimeError caused when clearing item hierarchies from ViewBox
   - Fixed example execution bug
   
   Packaging maintenance:
   - Added missing files to MANIFEST.in, fixed setup.py package detection
   - Added debian control files for building source packages
   - Fixed version numbering in doc, __init__.py

pyqtgraph-0.9.1  2012-12-27

   Removed incorrect version numbers
   Correction to setup.py - use install_requires to inform pip of dependencies.
   Fixed doc version (again)
   Added debian control files
   bugfixes for new package structure

pyqtgraph-0.9.0  2012-12-27

  * Initial release.
