Release Notes¶
This document outlines the list of changes to ridgeplot between each release. For full details, see the commit logs.
Unreleased changes¶
…
0.3.1¶
Internal¶
Improve type annotations and use stricter pyright settings (#291)
Documentation¶
CI/CD¶
Fix regressions tests by comparing against JSON artifacts instead of flaky JPEGs (#299)
Thanks to @imprvhub for their contributions to this release! 🚀
0.3.0¶
Features¶
Add support for histogram and bar traces (#287)
Documentation¶
Internal¶
CI/CD¶
0.2.1¶
Bug fixes¶
Fixed
ZeroDivisionError
for index-based colormodes when specifying single-trace or single-row plots (#268)
0.2.0¶
After almost 4 years, 30 “patch” releases, +200 pull-requests, and close to 1,000 commits, this is ridgeplot’s first minor release (v0.1.30 -> v0.2.0
)! 🚀
ridgeplot has been downloaded over 400k times (peaking at 102k downloads in a single month), is listed as a dependency in 135 public GitHub repositories, and - perhaps most relevantly - is a dependency of larger projects such as Shiny for Python, Ploomber, and NiMARE which further extends the impact and reach of the project.
This release marks a small milestone for ridgeplot, which we believe has now reached a level of maturity and stability that warrants a stricter and more structured, predictable, and standard release and versioning process. Even though we have managed to never publish breaking changes in the past (if you find any, please let us know!), we will from now on be even more careful and mindful of the impact of any changes that could affect downstream users and their applications.
We will make an effort to standardise and document our versioning policy. For now, we will try to simply adhere to the following general rules:
We are explicitly not going to follow Semantic Versioning, as we believe it is not a good fit for this project yet.
MAJOR.MINOR.PATCH
versioning scheme:MAJOR: We don’t have any plans for this yet… we will probably use this in the future once we settle on a more stable API and feature set
MINOR: New features, significant improvements, and deprecations
PATCH: Backwards-compatible bug fixes, small improvements, internal changes, and documentation updates
Breaking changes:
We might introduce breaking changes in minor releases!
However, this will never happen without a proper deprecation period and a clear upgrade path. i.e., we will always first deprecate the old API via a
DeprecationWarning
and provide a clear migration path to the new API.Such instances will be kept to a minimum and will likely only show up in the form of deprecated or renamed parameters or the meaning/behaviour of their arguments/values.
Breaking changes¶
Features¶
Implement new
"fillgradient"
colormode (#244)Add new
line_color
parameter to theridgeplot
function (#253)Add a
line_color='fill-color'
option which automatically matches the trace’s line color to the trace’s fill color (#253)Add new
norm
parameter to theridgeplot
function to allow users to normalize the data before plotting (#255)Add
sample_weights
argument toridgeplot()
to allow users to pass sample weights to the KDE estimator (#259)
Deprecations¶
Rename
coloralpha
toopacity
for consistently with Plotly Express and deprecate the old parameter name (#245)Rename
linewidth
toline_width
for consistency with Plotly’s API and deprecate the old parameter name (#253)Deprecated
colorscale='default'
andlist_all_colorscale_names()
in favour or Plotly Express’px.colors.named_colorscales()
(#262)
Dependencies¶
The new minimum version of Plotly is
5.20
to leverage the newfillgradient
feature (#244)
Optimizations¶
Importing statsmodels, scipy, and numpy can be slow, so we now only import the
ridgeplot._kde
module when the user needs this functionality (#242)
Documentation¶
Update examples in the getting-started guide to reflect the new default colormode (#244)
Update the
plotly.min.js
version from2.27
to2.35.2
to leverage thefillgradient
feature (#244)Fix the API reference docs for the internal
ridgeplot._color
module (#244)Tighten margins in generated examples (#257)
Add the reference jupyter notebook used to generate the ridgeplot logo (#242)
Update ridgeplot’s logo to use Plotly’s official colors (#243)
CI/CD¶
Internal¶
Simplify and refactor
interpolate_color
to not depend onpx.colors.find_intermediate_color
(#253)Improve type narrowing using
typing.TypeIs
(#259)Refactor community health files (#260)
Thanks to @sstephanyy for their contributions to this release! 🚀
0.1.30¶
Features¶
Documentation¶
Improve the documentation for the
colormode
parameter (#232)
Internal¶
Refactor
_figure_factory.py
to use a functional approach (#228)Stop using the term “midpoints” to refer to the “interpolation values” when dealing with continuous color scales (#232)
Refactor color validation logic to use helpers provided by Plotly (#233)
Drop
colors.json
and use Plotly’sColorscaleValidator
andnamed_colorscales
directly (#234)Refactor color utilities into
ridgeplot._color
(#235)
0.1.29¶
Features¶
Add new
"trace-index-row-wise"
colormode (#224)
Improvements¶
Remove duplicated labels when plotting multiple traces on the same y-axis row (#223)
Documentation¶
Internal¶
Eagerly validate input shapes in
RidgeplotFigureFactory
(#222)Vendor
_zip_equal()
from more-itertools (#222)Improve overall test coverage (#222)
Bug fixes¶
Support edge case in
get_collection_array_shape
where the input array is empty or contains nested empty arrays (#222)
CI/CD¶
0.1.28¶
Ooops! This release was skipped due to a mistake in the release process. The changes in this release were included in the 0.1.29 release.
0.1.27¶
Breaking changes¶
CI/CD¶
0.1.26¶
Breaking changes¶
CI/CD¶
0.1.25¶
This release contains a number of improvements to the docs, API reference, CI/CD logic (incl. official support for Python 3.12), and other minor internal changes.
Documentation¶
Internals¶
CI/CD¶
Add support for Python 3.12 (#182)
0.1.24¶
Breaking changes¶
Features¶
Add hoverinfo by default to the Plotly traces (#174)
Documentation¶
Use the
{raw} html :file: _static/charts/<PLOT-ID>.html
directive to load the interactive Plotly graphs in the generated Sphinx docs. The generated HTML artifacts only include a<div>
wrapper block now and the plotly.min.js is now vendored and automatically loaded via thehtml_js_files
Sphinx config (#132)Small adjustments to the example plots in the documentation (#132)
Reformat markdown files, removing all line breaks (#132)
Internals¶
CI/CD¶
0.1.23¶
Fix the references to the interactive Plotly IFrames (#129)
0.1.22¶
Deprecations¶
The
colormode='index'
value has been deprecated in favor ofcolormode='row-index'
, which provides the same functionality but is more explicit and allows to distinguish between the'row-index'
and'trace-index'
modes (#114)The
show_annotations
argument has been deprecated in favor ofshow_yticklabels
(#114)The
get_all_colorscale_names()
function has been deprecated in favor oflist_all_colorscale_names()
(#114)
Features¶
Documentation¶
Major update to the documentation, including more examples, interactive plots, script to generate the HTML and WebP images from the example scripts, improved API reference, and more (#114)
Internal¶
0.1.21¶
Features¶
Add
ridgeplot.datasets.load_probly()
helper function to load theprobly
toy dataset. Theprobly.csv
file is now included in the package underridgeplot/datasets/data/
(#80)
Documentation¶
Internal¶
Fixed and improved some type annotations, including the introduction of
ridgeplot._types
module for type aliases such asNumeric
andNestedNumericSequence
(#80)Add the
blacken-docs
pre-commit hook and add thepep8-naming
,flake8-pytest-style
,flake8-simplify
,flake8-implicit-str-concat
,flake8-bugbear
,flake8-rst-docstrings
,flake8-rst-docstrings
, etc… plugins to theflake8
pre-commit hook (#81)Cleanup and improve some type annotations (#81)
Update deprecated
set-output
commands (GitHub Actions) (#87)
0.1.17¶
Automate the release process. See .github/workflows/release.yml, which issues a new GitHub release whenever a new git tag is pushed to the main branch by extracting the release notes from the changelog.
Fix automated release process to PyPI (#27)
0.1.16¶
0.1.14¶
Remove
named_colorscales
from public API (#18)
0.1.13¶
Add tests for example scripts (#14)
0.1.12¶
Internal¶
Update and standardise CI steps (#6)
Documentation¶
0.1.11¶
colors.json
was missing from the final distributions (#2)
0.1.0¶
🚀 Initial release!