Skip to content

Prepare release notes for v0.26.0#7967

Closed
lagru wants to merge 9 commits intoscikit-image:mainfrom
lagru:prep-0-26-release-notes
Closed

Prepare release notes for v0.26.0#7967
lagru wants to merge 9 commits intoscikit-image:mainfrom
lagru:prep-0-26-release-notes

Conversation

@lagru
Copy link
Member

@lagru lagru commented Nov 29, 2025

Description

Checklist

Release note

For maintainers and optionally contributors, please refer to the instructions on how to document this PR for the release notes.

...

I'm not sure if this is something we want to highlight at this point.
I'm guessing that we eventually want to adopt `spatch` and remove this
custom infrastructure?
The new `scaling` attribute added with this PR isn't really documented
properly. I think it was discussed as a nice to have for people looking
at the internal implementation? So let's not advertise a feature that's
not well documented.
@lagru lagru added this to the 0.26 milestone Nov 29, 2025
@lagru lagru added the 📄 type: Documentation Updates, fixes and additions to documentation label Nov 29, 2025
- Add new property ``intensity_median`` to ``skimage.measure.regionprops`` (`#7745 <https://github.com/scikit-image/scikit-image/pull/7745>`_).
- Refactor fundamental matrix scaling (`#7767 <https://github.com/scikit-image/scikit-image/pull/7767>`_).
- ``binary_blobs`` now supports a ``mode`` parameter for the Gaussian filter, allowing periodic boundary conditions with ``mode="wrap"`` (`#7909 <https://github.com/scikit-image/scikit-image/pull/7909>`_).
- Add experimental infrastructure for dispatching to a backend. This API is not stable! (`#7520 <https://github.com/scikit-image/scikit-image/pull/7520>`_)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if we want to advertise this in our release notes. It feels like https://github.com/scientific-python/spatch is probably the implementation that will be adopted long-term.

@stonebig
Copy link

will there be a wheel for Python-3.14 on Windows ?

@lagru
Copy link
Member Author

lagru commented Nov 30, 2025

@stonebig this is not the best place to ask this question 😉, but yes ARM wheels for Windows will be included (see 0437c1d). See also the wheels of 0.26.0rc0 on PyPI.

@lagru
Copy link
Member Author

lagru commented Nov 30, 2025

Oh, I'm only now noticing the "3.14" part of your question @stonebig. See #7918 (comment). We are investigating.

Not all of those items are bug fixes. I'd consider an update to a test's
code maintenance.
@lagru lagru marked this pull request as ready for review December 1, 2025 14:57
@stefanv
Copy link
Member

stefanv commented Dec 1, 2025

I think these will be re-generated, so is it worth editing? Perhaps edit the source PRs instead.

@lagru
Copy link
Member Author

lagru commented Dec 1, 2025

That's what I did (editing the PR descriptions). But I never meant for changelist's output to be used without review!

And I'd really like to have proper quality control for release notes. They are one of the few communication channels with our users that we have.

And regardless of that, I'm using this PR as an opportunity to bring up outstanding decisions or problems (for example #7967 (comment)).

@stefanv stefanv marked this pull request as draft December 1, 2025 18:12
@lagru
Copy link
Member Author

lagru commented Dec 1, 2025

After a quick discussion in the meeting right now, we've settled on not merging this PR. Right now our release process doesn't account for a final review of the release notes.

I'll look into enhancing docstub in a way that we can prepare the notes even more ahead of time. And I'll think if there's a good way to discuss and review release notes with our current release process.

@lagru lagru closed this Dec 1, 2025
Copy link
Member

@mkcor mkcor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lagru oops, I'm noticing just now that the PR is closed!

- moments_hu doctest should ignore tiny differences (`#7944 <https://github.com/scikit-image/scikit-image/pull/7944>`_).
- Relax constraints of regionprops multichannel test on MacOS with NumPy & "Accelerate" (`#7942 <https://github.com/scikit-image/scikit-image/pull/7942>`_).
- Refactor names in Pyodide workflow (`#7959 <https://github.com/scikit-image/scikit-image/pull/7959>`_).
- Use __doctest_requires__ instead of inline importorskip (`#7966 <https://github.com/scikit-image/scikit-image/pull/7966>`_).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find that these 3 'other' items could belong under 'maintenance...'

- In ``skimage.morphology``, deprecate ``binary_erosion``, ``binary_dilation``, ``binary_opening``, and ``binary_closing`` in favor of ``erosion``, ``dilation``, ``opening``, and ``closing`` respectively. The binary versions weren't actually significantly faster than their non-binary counterparts and sometimes significantly slower. In the future, we might add optimizations internally to the remaining (general, non-binary) functions for when they're used with binary inputs (`#7665 <https://github.com/scikit-image/scikit-image/pull/7665>`_).
- Deprecate parameter ``max_cost`` in ``skimage.graph.MCP.find_costs`` which previously did nothing. Use the new parameter ``max_step_cost`` instead (`#7625 <https://github.com/scikit-image/scikit-image/pull/7625>`_).
- Deprecate parameter ``max_cumulative_cost`` in ``skimage.graph.MCP.find_costs`` which did nothing (`#7625 <https://github.com/scikit-image/scikit-image/pull/7625>`_).
- Deprecate parameter ``max_cost`` in ``skimage.graph.MCP.find_costs`` which previously did nothing. Use the new parameter ``max_step_cost`` instead (`#7625 <https://github.com/scikit-image/scikit-image/pull/7625>`_).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Deprecate parameter ``max_cost`` in ``skimage.graph.MCP.find_costs`` which previously did nothing. Use the new parameter ``max_step_cost`` instead (`#7625 <https://github.com/scikit-image/scikit-image/pull/7625>`_).
- Deprecate parameter ``max_cost`` in ``skimage.graph.MCP.find_costs`` which previously did nothing. Use the new parameter ``max_step_cost`` instead (`#7625 <https://github.com/scikit-image/scikit-image/pull/7625>`_).

- In ``skimage.morphology.remove_small_objects``, deprecate the ``min_size`` parameter in favor of the new ``max_size`` parameter to make API and behavior clearer. This new threshold removes objects smaller than **or equal to** its value, while the previous parameter only removed smaller ones (`#7739 <https://github.com/scikit-image/scikit-image/pull/7739>`_).
- Deprecate use of scalar ``scale``, with ``dimensionality=3`` where this can be passed to a geometric transform contructor. This allows us to generalize the use of the constructors to the case where the paraters must specify the dimensionality, unless you mean to construct an identity transform. Add ``identity`` class constructor to all geometric transforms. Make all input parameters to Transform constructors, other than ``matrix``, keyword only, to work around difference in the order of parameters, from the order of application, in ``AffineTransform`` (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).
- Deprecate parameter ``num_workers`` in ``skimage.restoration.cycle_spin``; use ``workers`` instead (`#7302 <https://github.com/scikit-image/scikit-image/pull/7302>`_).
- In ``skimage.transform``, deprecate the use of scalar ``scale``, with ``dimensionality=3`` where this can be passed to a geometric transform contructor. This allows us to generalize the use of the constructors to the case where the parameters must specify the dimensionality, unless you mean to construct an identity transform (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- In ``skimage.transform``, deprecate the use of scalar ``scale``, with ``dimensionality=3`` where this can be passed to a geometric transform contructor. This allows us to generalize the use of the constructors to the case where the parameters must specify the dimensionality, unless you mean to construct an identity transform (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).
- In ``skimage.transform``, deprecate use of scalar ``scale`` with ``dimensionality=3``, where this can be passed to a geometric transform constructor. This allows us to generalize the use of constructors to the case where the parameters must specify the dimensionality, unless you mean to construct an identity transform (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).

- Deprecate use of scalar ``scale``, with ``dimensionality=3`` where this can be passed to a geometric transform contructor. This allows us to generalize the use of the constructors to the case where the paraters must specify the dimensionality, unless you mean to construct an identity transform. Add ``identity`` class constructor to all geometric transforms. Make all input parameters to Transform constructors, other than ``matrix``, keyword only, to work around difference in the order of parameters, from the order of application, in ``AffineTransform`` (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).
- Deprecate parameter ``num_workers`` in ``skimage.restoration.cycle_spin``; use ``workers`` instead (`#7302 <https://github.com/scikit-image/scikit-image/pull/7302>`_).
- In ``skimage.transform``, deprecate the use of scalar ``scale``, with ``dimensionality=3`` where this can be passed to a geometric transform contructor. This allows us to generalize the use of the constructors to the case where the parameters must specify the dimensionality, unless you mean to construct an identity transform (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).
- In ``skimage.transform``, turn all input parameters to transform constructors keyword-only (other than ``matrix``). This avoids confusion due to the positional parameter order being different from the order by which they are applied in ``AffineTransform`` (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- In ``skimage.transform``, turn all input parameters to transform constructors keyword-only (other than ``matrix``). This avoids confusion due to the positional parameter order being different from the order by which they are applied in ``AffineTransform`` (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).
- In ``skimage.transform``, turn all input parameters into keyword-only transform constructors (other than ``matrix``). This avoids confusion due to the positional parameter order being different from the order in which they are applied in ``AffineTransform`` (`#7754 <https://github.com/scikit-image/scikit-image/pull/7754>`_).

@lagru lagru deleted the prep-0-26-release-notes branch December 2, 2025 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📄 type: Documentation Updates, fixes and additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants