Skip to content

Releases: enthought/chaco

Release 6.0.0

26 Jun 14:00
Compare
Choose a tag to compare

This is a major release which includes support for Python 3.11, and more recent versions of PySide6, TraitsUI and Enable. There are no substantial new features, but some backwards compatibility support has been removed as advertised in deprecation warnings. Substantial work has been done to ensure that demos and examples are working and up-to-date where possible.

As usual, this release includes a number of bugfixes and minor improvements.

Thanks to all who contributed to the release:

  • Chengyu Liu
  • Didrik Pinte
  • Corran Webster

Enhancements

  • Remove deprecated stub files (#903)
  • Replace "modern" font with "san-serif" (#901)

Fixes

  • Update textPlot when aesthetics change (#905)
  • Fix Wx Bitmap usage (#904)
  • Fix imports of marker_trait (#902)
  • Fire updated trait and Ranges when data sources are emptied (#900)
  • Fix LegendHighlighter hit detection (#897)
  • Properly handle NaN in BarPlots (#895)
  • Fix polar line renderer (#883)

Documentation/Examples

Build/CI

  • Update testing infrastructure, including Python 3.11 (#891, #898)

Release 5.1.1

24 Jan 13:55
Compare
Choose a tag to compare

This is a small bugfix release centered around Python 3.8+ support.

Thanks to all who contributed to the release:

  • Aaron Ayres
  • Rahul Poruri
  • Corran Webster

Fixes

  • Fix various warnings on Python 3.8 (#856)
  • Remove uses of deprecated np.bool (#852)
  • Prevent exceptions when plot size too small (#848)

Build/CI

  • Get CI running on Python 3.8 (#851)
  • Fix CI for changes to GitHub infrastructure (#849)

Release 5.1.0

02 Nov 16:29
695f1c0
Compare
Choose a tag to compare

This is an incremental release which modernises the usage of Traits in a
number of places, and fixes a number of bugs.

Thanks to all who contributed to the release:

  • Chris Angell
  • Aaron Ayres
  • Nicola De Mitri
  • Mark Dickinson
  • Rahul Poruri
  • Joris Vankerschaver
  • Corran Webster

New features/Improvements

  • Create and use an Optional() trait type that understands mapped traits (#838)
  • Correctly handle NaNs in DataRange classes to avoid NumPy warnings (#835)
  • Add tests for ImagePlot map_screen (#809)
  • Have map_screen return an empty array rather than list on empty input (#805)

Removals/Deprecations

  • Update code to remove usage of Trait() and Either() constructs (#837)

Fixes

  • Fix spectrum demo (#827)
  • Replace some identity checks (#826)
  • Force use of NumPy arrays in certain mappers (#810)
  • Fix hittest_tool (#808)
  • Fix DataLabelTool (#804)
  • Fix CursorTool usage with LogMapper (#803)
  • Fix map_screen for BaseXYPlot (#802)

Documentation/examples

  • Add Sphinx copybutton to documentation (#832)
  • Link to examples at correct point GitHub tag for documentation version (#816)
  • Add a Read the Docs configuration file (#812)
  • Fix broken links (#793, #794)

Build/CI

  • Automate PyPI release process (#839)
  • Report Cron Job CI to internal Enthought channels (#811, #830)
  • Default Git branch is now "main" (#815)
  • Stop using Appveyor and TravisCI (#807)
  • Use Enable from EDM rather than source (#795)

Release 5.0.0

17 Jun 14:17
84122ae
Compare
Choose a tag to compare

The chaco release is a major release including a significant amount of codebase maintenance and clean up. Of particular note is that many previously deprecated / unused objects have been removed. This release also drops support for Python < 3.6. If you aren’t doing so already, please update your import statements to use chaco.api  as there was a significant reorganization of the package internals. Additionally, there has been a major update to the documentation, numerous bugfixes, and some new features.

Thanks to all who contributed to the release:

  • Aaron Ayres
  • Alex Chabot-Leclerc
  • Kit Choi
  • Nicola De Mitri
  • Mark Dickinson
  • Matt Hancock
  • Midhun Madhusoodanan
  • Shoeb Mohammed
  • Rahul Poruri
  • Martin Renou
  • Jonathan Rocher
  • Kuya Takami
  • Joris Vankerschaver
  • Corran Webster
  • John Wiggins
  • Xiaoyu Wu

New features/Improvements

  • Add rectangular selection tool (#482)
  • Add missing property index_range to 1D plots (#491)
  • Support renderer traits (#514)

Removals/Deprecations

  • Remove uses of PyArray_FromDims (#503)
  • Remove unused _speedups module (#504)
  • Remove SelectableOverlayPlotContainer and references to it (#574)
  • Remove chaco.datamapper and subdivision code (#577)
  • Remove serializable module and its tests (#598)
  • Delete codecov yaml configuration file (#622)
  • Remove examples for the vtk backend in chaco (#645)
  • Kill chaco.shell and related code (#667)
  • Remove objects/modules which explicitly raised a deprecation warning (#670)
  • Remove "chaco.scatter_markers" module (#677)
  • Delete "chaco.chaco_version" (#678)
  • Remove deprecated "ColorMapper._map" method (#684)
  • Delete sample_template.plt (#685)
  • Remove ChacoPlotItem / ChacoPlotEditor (#688)
  • Delete scalar_image_function_inspector_old.py (#689)
  • Officially deprecated VariableSizeScatterPlot (#691)
  • Remove PlotFrames (#692)
  • Delete "test_style.pss" (#697)
  • Remove plot_template.py (#702)
  • Remove a couple redundant old files (#711)
  • Delete PopupablePlot (#717)

Fixes

  • Fix typo in the error name (#484)
  • Fix attempts to get the shape attribute of a list or tuple. (#487)
  • Fix scrollbar demo and update docstring (#489)
  • Fix stacked bar plot example, by using the correct starting_value (#498)
  • Limit the min zoom out factor along x axis to prevent date range error (#500)
  • Do not expose 'auto' for infinite series (#501)
  • Fix zoomout issues (#505)
  • Fix zoom not working with contour plots (#506)
  • Fix and clean up multiaxis.py example (#513)
  • Enforce underscore for click command (#523)
  • Handle index=None in ScatterInspector (#540)
  • Have ArrayDataSource.get_data return empty(shape=0,)), not 0.0 if _data is None (#578)
  • Return correct sized tuples of all 0s not None if image plot resized too small (#589)
  • Resolve the NotifierNotFound error in testsuite (#601)
  • Catch nans before they cause crash in auto_ticks (#636)
  • Fix windows/pyqt test_dont_crash_on_click failure (#663)
  • Use draw_marker_at_points if possible otherwise use draw_path_at_points in ColormappedScatterPlot (#672)
  • Fix a couple of demos (#676)
  • Use plot_range_event (aka event.new) not just event in stock_prices (#728)
  • Fix broken test and handle case when _data is None in ArrayDataSource.get_data_mask() (#731)
  • Replace [] default for data with None (#734)

Documentation/examples

  • Documentation Refactor (#462)
  • Setup online redirect and proper index page for docset (#517)
  • Replace all jet color map use in examples with viridis (#557)
  • Update various comments and docstrings (#567)
  • Clean up updates for basic_elements docs pages (#570)
  • Use Enthought Sphinx Theme if available. (#571)
  • Fix broken image links on quickstart page (#588)
  • Replace handmade api docs with autogenerated api docs (#637)
  • Miscellaneous documentation fixes/changes (#642)
  • Add module doc string for chaco.api (#649, #665)
  • Use #: instead of # when needed (#650)
  • Update modules_and_classes.rst (#652)
  • Remove annotated examples from the usermanual (#653)
  • Use sphinx todo for currently empty sections of docs (#654)
  • Remove optparse from example (#655)
  • Delete the quickstart page from the docs (#668)
  • Remove references to chaco.shell from the documentation (#669)
  • Update van der waal example (#680)
  • Remove scipy tutorial content (#681)
  • Remove chaco_talk_apr_2008 from docs (#682)
  • Update hyetograph example (#687)
  • Remove unused images from codebase (#712)
  • Organize annotated examples (#721)
  • Link to "how do i", not "faq", from home page (#722)
  • Matplotlib to chaco cheatsheet in docs (#723)
  • Contribute examples to etsdemo (#751)

Maintenance

  • Import from traits.api instead of from traits.has_traits (#509)
  • Remove commented code (#511, #556, #582, #647)
  • Drop Python < 3.6 support (#554, #555)
  • Remove redundant 'control' in ZoomTool (#565)
  • Clean up style, fix warnings and broken links in tutorials/examples/faq (#568)
  • Update copyright year in license.txt (#569)
  • Remove EOF file markers (#579)
  • Remove unnecessary unittest.main calls in tests (#581)
  • Replace on_trait_change with observe (#585, #590, #591, #625, #630)
  • Remove dummy return statements (#592, #593, #594)
  • Run black on the codebase (#599)
  • Remove outdated coverage badge (#623)
  • Use requires_redraw when possible (#626)
  • Deal with getstate methods (#633)
  • Dont alias traitsui.api as tui (#634)
  • Use api modules for ETS packages where possible (#643)
  • Remove unnecessary print statements (#646)
  • Use @Property decorator instead of property function (#651)
  • Its TraitsUI, not Traits UI (#656)
  • Remove unnecessary uses of "use_draw_order" (#661)
  • Remove all uses/definitions of use_draw_order (#671)
  • Import color palette from chaco.api directly (#675)
  • Remove backwards compatibily imports from enable (#679)
  • Move tests in "tests_with_backend" submodule into "tests" submodule (#683)
  • Rename test so it is discovered by unittest discover (#693)
  • Cleanup License files (#696)
  • Update "super" usage (#703, #706, #725)
  • Use a plot default method instead of overriding the init method in examples (#704, #709)
  • Replace custom "assert_raises" with "unittest.TestCase.assertRaises" (#705)
  • Concatenate change logs (#710)
  • Re-export PolarLineRenderer and PolarMapper from chaco.api (#732)
  • Add editable option to ci install command (#733)
  • Remove calls to Component._draw_component (#737)
  • Add new chaco.plots submodule (#738)
  • Use mock through unittest (#740)
  • Consolidate overlays into "chaco.overlays" (#741, #786)
  • Replace bg_color with bgcolor (#742)
  • Revive ScalyPlot (#744)
  • Add/Update copyright headers (#755)
  • Plot Containers Refactor (#757, #758, #764)
  • Remove all definitions / uses of _draw_component (#743, #772)

Build/CI

  • Update edm and install/config scripts (#492)
  • Use Cython to build extension modules (#502)
  • Remove Python 2.7, 3.5 testing, add PyQt 5 (#524)
  • Add source click option used on cron jobs to install ets packages from source (#532)
  • Switch on default warning flag for CI test command (#537)
  • Use PySide2 from EDM instead of PyPI and Use the latest EDM version (3.0.1) (#538)
  • Disable macOS builds on Travis CI (#543)
  • Fix cron job not installing additional dependencies (#544)
  • Add ci command for building documentation (#566)
  • Run flake8 on CI but ignore all existing errors (#600)
  • Add GitHub Actions CI workflow (#631)
  • Import version from installed package if the file doesnt exist (#644)
  • Skip test_dont_crash_on_click on windows/pyqt (#666)
  • Cleanup ci module and setup (#695)
  • Unskip no longer failing test (#714)
  • Add pyproject.toml specifying numpy and cython as build deps (#730, #747, #779)

Release 4.8.0

07 Aug 07:39
Compare
Choose a tag to compare

New features/Improvements

  • Refactor DataPrinter to add _build_text_from_event method (PR #450)
  • Simplify controlling text of ImageInspectorOverlay (PR #431)
  • 2D segment and text scatter plot types (PR #407)
  • Set up Windows testing under AppVeyor (PR #445)
  • Add option for aligning label in index direction in TextPlot1D (PR #430)

Fixes

  • Fix a test that fails with NumPy 1.16.x (PR #471)
  • Fix missing imports of SegmentPlot and TextPlot (PR #470)
  • Fix circular imports in toolbar_plot, transform_color_mapper (PR #469)
  • Fix deprecated logger.warn uses (PR #458)
  • Fix DataBox resizing bug (PR #456)
  • Do not render quiver if there is no point (PR #424)
  • Use single comma-separated trait names in on_trait_change, not multiple
    arguments (PR #397)

Documentation/examples

  • Add documentation for some tools (PR #451)
  • Remove erroneous label_rotation comment (PR #447)
  • Add scatter inspector example (PR #434)
  • Fix float indices in Spectrum demo (PR #427)
  • Fix world_map demo (PR #423)
  • Fix up create_plot_snapshots script (PR #421)
  • Docstring for ArrayPlotData.{set_data,update_data} (PR #399)

Maintenance

  • Fix test that fails with Numpy 1.16 (PR #471)
  • Update Travis CI configuration to be compatible with Ubuntu Xenial (PR #452)
  • Update unittest imports (PR #446)
  • Address DeprecationWarnings (PR #441)
  • Use unittest-style tests (PR #440)
  • Run testsuite on macOS and Python 3.6 (PR #442)
  • Use standard Sphinx extensions for trait documenting (PR #436)
  • Update Cython generated code to support Python 3.7 (PR #433)
  • Skip DataFramePlotData tests if Pandas not installed (PR #422)

Release 4.7.2

12 Jul 16:07
Compare
Choose a tag to compare

This is a maintenance release for the 4.7 branch

Fixes

  • FIX: Ensure contiguous inputs to points_in_polygon (#409 & #410)
  • FIX: Handle multiple plots in LegendHighlighter (#403)
  • FIX: alias six.moves as sm (#401)
  • FIX: Respect visibility in the LegendHighlighter (#402)
  • BUG: Fix use of itertools.chain() (#394)

Release 4.7.1

19 Nov 19:31
Compare
Choose a tag to compare

Fixes

  • Avoid datetime issue on Windows 10 (PR #387)
  • Fix doc build (PR #384)
  • Upcast to int_ instead of int64 to avoid bincount issue (PR #383)

Release 4.7.0

19 Nov 19:31
Compare
Choose a tag to compare

New features/Improvements

  • Add DataFramePlotData class (PR #367).
  • Allow user control over axis title angle (PR #363).

Fixes

  • Update raise statement to be Python 3 compatible (PR #360).
  • Fix missing color bar when direction is flipped (PR #341).

Maintenance

  • Support Python 3 without 2to3 (PR #369).
  • Update BarPlot documentation (PR #362).
  • Use EDM for CI testing (PR #365).
  • Address warnings coming from recent versions of Numpy (PR #350).

Release 4.6.1

13 Apr 20:06
Compare
Choose a tag to compare

Change summary since 4.6.0

Fixes

  • Copy over HOME value to git environment. (PR #342)
  • Fix issue with setup.py that prevent correct versioning on non-git checkouts.
    (PR #337)

Release 4.6.0

22 Dec 15:44
Compare
Choose a tag to compare

Change summary since 4.5.0

New features/Improvements

  • Fixes and improvements to contour plots: now can use non-uniformly sampled
    grids and have masked regions (PR#326).
  • Added MinorPlotAxis (PR#288).
  • Improved gather points for line plots (PR#318).
  • Added line plot downsampling via Largest Triangle Three Buckets
    algorithm (PR#317).
  • Added Dash/Zeal docset generation (PR#194).
  • Python 3 support (PR#301).
  • Use set_bounds for Zoom to reduce number of events fired (PR#233).
  • Added more color maps and a DiscreteColorMap class (PR#275).
  • A new base "1D plot" class introduced for handling one-dimensional plots,
    including refactoring the existing Jitterplot and adding 1D scatterplot
    variants that render markers, lines or text (PR#209).
  • Replaced chaco.base.bin_search by numpy.searchsorted-based routine for
    5x speedup and remove use of zip in chaco.base.arg_find_runs in favour of
    column_stack for 10x speedup in bad cases (PR#263).
  • ImagePlot refactored to clarify transformation applied to images and allow
    easier reuse of transformations in subclasses (PR#147).

Fixes

  • Fixed issues with contour plots on Python 3.5 (PR#329 and PR#332).
  • Fixed issue with diff of boolean arrays on newer NumPy versions (PR#329).
  • Fixed occasional IOError crashes in spectrum demo (PR#323).
  • Fixed issue with range zoom selection being non-transparent (PR#309).
  • Fixed lasso selection for newer NumPy (PR#307).
  • Fixed timescale tests and calendar timescales (PR#298).
  • Fixed selection alpha for line scatterplot (PR#287).
  • Fixed undefined variable error in DataLabel (PR#282).
  • Fixed sign inversion bug in Base1DMapper (PR#222).
  • Fixed default position attribute in BetterZoom tool (PR#241).
  • Workaround RuntimeWarnings from nanmin and nanmax in ImageData.get_bounds
    (PR #242).

Maintenance

  • Updated install instructions and quick start guide (PR#292).
  • Removed special casing of powers of 2 in tick generation (PR#314).
  • Added code coverage notification via codecov (PR#297).
  • Fixed broken documentation URLs (PR#270).
  • Use containers for Travis CI (PR#276).
  • Automatic PEP386-compliant version numbering (PR#269).
  • More comprehensive testing for AbstractDataSource subclasses. That
    includes ArrayDataSource, FunctionDataSource, GridDataSource, ImageData,
    MultiArrayDataSource (PR#244).