Releases: tpvasconcelos/ridgeplot
0.5.0
Breaking changes
Features
- Implement a new
color_discrete_mapparameter to allow users to specify custom colors for each trace (#348)
Miscellaneous
- Bump project classification from Pre-Alpha to Alpha (#336)
CI/CD
- Bump actions/github-script from 7 to 8 (#338)
- pre-commit autoupdate (#340)
- Bump peter-evans/find-comment from 3 to 4 (#342)
- pre-commit autoupdate (#341)
- Bump github/codeql-action from 3 to 4 (#344)
- Bump peter-evans/create-or-update-comment from 4 to 5 (#343)
0.4.0
Features
- Add support for custom row labels via a new
row_labelsargument (#333)
Deprecations
- Deprecated the
show_yticklabelsargument in favor of the new more general and flexiblerow_labelsargument (#333)
CI/CD
- Add
./cicd_utils/find-unmentioned-prs.shhelper script to find merged PRs that were not mentioned in the changelog yet (#334) - Bump actions/first-interaction from 1 to 3 (#331)
- Bump actions/checkout from 4 to 5 (#330)
- Bump actions/download-artifact from 4 to 5 (#329)
- Bump sigstore/gh-action-sigstore-python from 3.0.0 to 3.0.1 (#326)
- pre-commit autoupdate (#324)
Dependencies
- Remove
importlib_metadatausage fromconf.py(#332)
0.3.2
0.3.1
Internal
- Improve type annotations and use stricter pyright settings (#291)
Documentation
- Use
sphinxcontrib.apidocto automatically generate API docs from the source code (#296) - Update hero image in the docs' landing page (#300)
- Update release process notes (#301 and #303)
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
- Small improvements to
ridgeplot()'s docstring (#284) - Misc improvements to the API docs and the getting-started and contributing guides (#287)
Internal
- Small improvements to type hints and annotations (#284)
- Introduce an internal
ridgeplot._objpackage to hold object-oriented interfaces (#287)
CI/CD
- Improve type annotations and switch from mypy to pyright with stricter settings (#287)
- Switch from
blackto the newruffformatter (#287)
0.2.1
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.PATCHversioning 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
DeprecationWarningand 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
- Remove support for the deprecated
show_annotationsparameter andcolormode='index'value (#254) - The new default colormode is
"fillgradient"(#244) - The default value for
line_widthchanged from1to1.5(#253)
Features
- Implement new
"fillgradient"colormode (#244) - Add new
line_colorparameter to theridgeplotfunction (#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
normparameter to theridgeplotfunction to allow users to normalize the data before plotting (#255) - Add
sample_weightsargument toridgeplot()to allow users to pass sample weights to the KDE estimator (#259)
Deprecations
- Rename
coloralphatoopacityfor consistently with Plotly Express and deprecate the old parameter name (#245) - Rename
linewidthtoline_widthfor 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.20to leverage the newfillgradientfeature (#244)
Optimizations
- Importing statsmodels, scipy, and numpy can be slow, so we now only import the
ridgeplot._kdemodule 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.jsversion from2.27to2.35.2to leverage thefillgradientfeature (#244) - Fix the API reference docs for the internal
ridgeplot._colormodule (#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
- Stop sending coverage reports to Codacy (#265)
- Improve local development experience and optimise the CI pipeline (#273)
Internal
- Simplify and refactor
interpolate_colorto 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
- Add support for named CSS colors (#229)
- Allow users to define color scales as a collection of colors (
Collection[Color]) (#231) - Dynamically infer the default colorscale from the active Plotly template (#237)
Documentation
- Improve the documentation for the
colormodeparameter (#232)
Internal
- Refactor
_figure_factory.pyto 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.jsonand use Plotly'sColorscaleValidatorandnamed_colorscalesdirectly (#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_shapewhere the input array is empty or contains nested empty arrays (#222)
CI/CD
- Add new
"Greet new users"workflow to welcome new contributors to the project (#210) - Add
concurrencyentries to relevant GitHub workflows (#211) - Add Dependabot configuration file (#211)
- Add GitHub issue templates (#211)
- Add support for Python 3.13 (#217)
- Add a CodeQL GitHub workflow (#220)
0.1.27
Breaking changes
- Dropped support for Python 3.8, in accordance with the official Python support policy1. (#204)
- Removed deprecated function
get_all_colorscale_names()in favor oflist_all_colorscale_names()(#200)
CI/CD
- Adopt
setuptools-scmfor package versioning (#200) - Add
actionlintpre-commit hook (#201) - Improve logic in
.github/workflows/check-release-notes.yamlto post comments to the PR (#201) - Handle footnotes in the automatically generated release notes (#209)