Releases: 1313e/CMasher
Releases · 1313e/CMasher
v1.9.2
What's Changed
- BLD: fix build artifacts' size by @neutrinoceros in #172
- REL: prepare release 1.9.2 by @neutrinoceros in #173
Full Changelog: v1.9.1...v1.9.2
v1.9.1
What's Changed
- Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0 in /.github/workflows in the actions group by @dependabot in #165
- TST: avoid using high level (and thread-unsafe) pyplot API in tests by @neutrinoceros in #166
- MNT: fix ReadTheDocs builds by @neutrinoceros in #168
- TST: fix internal filter (discard
__pycache__
as a colormap directory) by @neutrinoceros in #169 - REL: prepare release 1.9.1 by @neutrinoceros in #170
New Contributors
- @dependabot made their first contribution in #165
Full Changelog: v1.9.0...v1.9.1
v1.9.0
Highlights
User-visible changes
- Python 3.9 is not supported any more
- Python 3.13 is now explicitly supported
pathlib
is now supported everywhere in the API
What's Changed
- TST: use uv pip compile to keep lint deps in sync by @neutrinoceros in #130
- ENH: do not swallow traceback to original exception when failing to define a colormap by @neutrinoceros in #131
- TST: use uv pip compile to keep minimal deps in sync by @neutrinoceros in #129
- TST: revert numpy bump by @neutrinoceros in #132
- MNT: migrate ruff config by @neutrinoceros in #133
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #134
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #135
- TST: speed up env resolution with uv by @neutrinoceros in #136
- TYP: fix type-check time incompatibility with matplotlib 3.9.1 by @neutrinoceros in #137
- DEP: drop support for Python 3.9 by @neutrinoceros in #140
- TST: migrate to official astral-sh/setup-uv action by @neutrinoceros in #141
- MNT: simplify setup-uv usage following 2.1.1 release by @neutrinoceros in #142
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #143
- TST: add CPython 3.13 to regular test matrix by @neutrinoceros in #144
- BLD: migrate build backend from setuptools to hatchling by @neutrinoceros in #146
- TST: drop pytest-cov and codecov (use coverage.py natively instead) by @neutrinoceros in #148
- BLD: migrate to src layout by @neutrinoceros in #147
- TST: reintroduce coverage measurement and improve coverage to 100% (excluding defensive programming lines) by @neutrinoceros in #149
- TST: use exact commit sha for github actions by @neutrinoceros in #150
- UX: clarify generic error message when failing to import/register a colormap by @neutrinoceros in #151
- DOC: lock the whole environment (not just direct dependencies) by @neutrinoceros in #152
- TST: don't use editable install in CI by @neutrinoceros in #153
- DOC: Update cmasher/colormaps references by @emmanuel-ferdman in #154
- DOC: move static png out of src dir by @neutrinoceros in #156
- TST: avoid venv activation in CI by @neutrinoceros in #157
- MNT: build docs with Python 3.13 by @neutrinoceros in #158
- TST: truly test oldest test dependencies by @neutrinoceros in #159
- TST: don't use editable install in CI (again) by @neutrinoceros in #160
- TST: fix coverage report combination by @neutrinoceros in #161
- ENH: support
pathlib.Path
everywhere by @neutrinoceros in #162 - CLN: tidy import statements by @neutrinoceros in #163
- REL: prepare release 1.9.0 by @neutrinoceros in #164
New Contributors
- @emmanuel-ferdman made their first contribution in #154
Full Changelog: v1.8.0...v1.9.0
v1.8.0
What's changed
This release brings a new utility function to cmasher to easily combine colormaps. See our documentation.
- ENH: Add cmasher.combine_cmaps, by @DanielYang59 in #122
- REL: prepare release 1.8.0, by @neutrinoceros in #123
Full Changelog: v1.7.2...v1.8.0
v1.7.2
What's Changed
- ENH: add stub file of cm.py and script that generates it, by @beskep in #112
- REL: release 1.7.2 by @neutrinoceros in #114
Full Changelog: v1.7.1...v1.7.2
v1.7.1
What's Changed
- TST: ignore
__pycache__
in test generation by @neutrinoceros in #101 - ENH: slightly improve startup time by raising an exception early if viscm is installed/needed by @neutrinoceros in #100
- ENH: load colormaps from binaries instead of text files by @neutrinoceros in #102
- ENH: reduce startup overhead from colormap registrations by skipping type heuristics and runtime sanity checks for builtin maps by @neutrinoceros in #103
- TST: add doc build to CI, move dev requirement files to dedicated folder by @neutrinoceros in #104
- TYP: run type checking as part of CI by @neutrinoceros in #105
- DOC: fix broken GHA badge by @neutrinoceros in #106
- REL: prepare release 1.7.1 by @neutrinoceros in #107
Full Changelog: v1.7.0...v1.7.1
v1.7.0
Highlights
- This is the first release by CMasher's new maintainer @neutrinoceros
- Python 3.9 to 3.12 is supported
- Deprecation warnings triggered with current Matplotlib versions (3.5 -> 3.8) were resolved
- The deprecated colormap alias
"heat"
was removed. The colormap is still available as"torch"
Dependencies
- Python 3.9 or newer is now required
- Matplotlib 3.5 or newer is now required
- Numpy 1.19.3 or newer is now required
e13tools
was dropped as a dependency
What's Changed
- GitHub Action to lint Python code by @cclauss in #39
- ENH: future proof against matplotlib's evolving API by @neutrinoceros in #44
- MNT: migrate setup.cfg -> pyproject.toml by @neutrinoceros in #55
- MNT: drop support for EOL Python versions 3.6 and 3.7 by @neutrinoceros in #56
- MNT: fixup codespell check by @neutrinoceros in #57
- MNT: enable dependabot by @neutrinoceros in #59
- MNT: migrate linting and formatting to pre-commit + ruff by @neutrinoceros in #60
- STY: autofixes (ruff) by @neutrinoceros in #61
- MNT: upgrade GHA by @neutrinoceros in #62
- MNT: temporarily deactivate cross-plateform CI by @neutrinoceros in #64
- MNT: exclude new dev-only files in MANIFEST.in by @neutrinoceros in #63
- TST: add color to pytest output in CI by @neutrinoceros in #65
- TST: fix utility tests by @neutrinoceros in #66
- STY: manually fix remaining ruff violations by @neutrinoceros in #67
- STY: fix EOF by @neutrinoceros in https://github.com/1313e/CMasher/pull/
- STY: apply ruff-format by @neutrinoceros in #69
- STY: fix trailing whitespaces by @neutrinoceros in #95
- MNT: fix bandit pre-commit hook by @neutrinoceros in #71
- MNT: prettify yaml files by @neutrinoceros in #72
- MNT: fixup codespell pre-commit hook by @neutrinoceros in #73
- MNT: temporarily disable safety check by @neutrinoceros in #75
- DEP: bump minimal requirements on matplotlib 3.5 and numpy 1.17.3 by @neutrinoceros in #76
- API: remove deprecated colormap alias (heat -> torch) by @neutrinoceros in #77
- DEP: drop dependency on e13tools (broken on Python 3.12) by @neutrinoceros in #78
- MNT: fix deprecation warnings from matplotlib by @neutrinoceros in #79
- TST: test against matplotlib/viscm instead of fork by @neutrinoceros in #80
- BUG: fix a future warning from numpy (avoid iterating over scalar array) by @neutrinoceros in #81
- TST: treat warnings as errors by @neutrinoceros in #74
- MNT: drop support for Python 3.8 by @neutrinoceros in #83
- TST: add explicit support for Python 3.10 to 3.12 by @neutrinoceros in #82
- TST: drop support for Windows x86 (32 bits arch) by @neutrinoceros in #85
- TST: re-enable tests on Windows and MacOS by @neutrinoceros in #84
- MNT: cleanup unused requirement by @neutrinoceros in #87
- MNT: bump minimal requirement for numpy by @neutrinoceros in #88
- BUG: fix compatibility with matplotlib 3.5 by @neutrinoceros in #89
- ENH: delay expensive imports by @neutrinoceros in #90
- TST: test against minimal env by @neutrinoceros in #86
- MNT: stop linting with flake8 (ruff is already doing the job) by @neutrinoceros in #91
- TST: simplify pytest runs by @neutrinoceros in #92
- TST: separate publication-related tasks from normal tests by @neutrinoceros in #93
- REL: prepare release 1.7.0 by @neutrinoceros in #94
- REL: release 1.7.0 by @neutrinoceros in #95
New Contributors
- @cclauss made their first contribution in #39
- @neutrinoceros made their first contribution in #44
Full Changelog: v1.6.0...v1.7.0
v1.6.0
This is the v1.6.0 release of the CMasher package.
New additions/changes since v1.5.0:
- Removed support for Python 3.5;
- Added support for Python 3.9;
- Added the amethyst; cosmic; lilac; neon; sepia; tree and tropical sequential colormaps;
- Added the guppy and seaweed diverging colormaps;
- Added the emergency and infinity cyclic colormaps;
- Remade the seasons diverging colormap into a cyclic colormap;
- Remade the gem sequential colormap into a
[15, 85]
version; - Modified flamingo slightly to include more pink;
- Added ability to turn off the greyscale versions of all colormaps in the colormap overviews;
- Added option to scale the dimensions of the colormap subplots in the colormap overviews;
- Added a
dark_mode
option tocreate_cmap_overview
; - Added ability to make qualitative colormaps from existing colormaps (#28);
- Added tutorial to docs on how to use CMasher colormaps in R (#26);
- Colormaps can now be imported/registered using their HEX-code values;
- Colormaps are now also available using their normalized RGB values in the individual colormap folders;
- Added an application overview of all colormaps to the 'Usage' section in the online docs, which can be used to easily see what a colormap looks like when used in a realistic way.
v1.5.0
This is the v1.5.0 release of the CMasher package.
New additions/changes:
- Dropped Python 2.7 support;
- Added the wildfire; and toxic colormaps;
- Renamed old wildfire to seasons;
- Added the
sort=None
argument tocreate_colormap_overview
to allow for the colormaps to retain their current order; - Added the
title
argument tocreate_colormap_overview
to set the title that is used in the overview; - Added a set of CLI tools that allow for some utility functions to be accessed from the command-line with
cmr
; - Changed the
take_cmap_colors
function to allow for all colors in a specific range to be returned withN=None
; - Added the
create_cmap_mod
function that can create stand-alone Python modules of CMasher colormaps.
v1.4.0
This is the v1.4.0 release of the CMasher package.
New additions/changes:
- Added the bubblegum; fall; pepper; swamp; watermelon; and wildfire colormaps;
- Reworked the dusk colormap into a [0, 85] sequential colormap;
- Reworked the horizon colormap into a [20, 100] sequential colormap;
- Reworked the nuclear colormap into a [0, 90] sequential colormap;
- Revamped the online documentation to create separate webpages for each colormap;
- Online documentation now includes examples of each utility function that CMasher has;
- Added the
get_sub_cmap
;set_cmap_legend_entry
; andtake_cmap_colors
functions; - Split off the registration part of the
import_cmaps
function into theregister_cmap
function; - Converted the
_get_cm_type
function into the publicget_cmap_type
function; - Added 8-bit RGB text-files of each colormap to the appropriate colormap directory;
- Added stand-alone Python modules of each colormap as well;
- The
create_cmap_overview
function now treats diverging colormaps differently when sorting on their lightness profiles (takes central value instead of starting value).