
Hi Juan, Thank you for writing up the SKIP; you clearly put a lot of thought and effort into it. As I read the SKIP, and then reflecting on Matthew's email, I again started feeling very uncomfortable with what we are proposing to do here. My gut feel has always been that the magical pinning solution is bound to cause trouble. I just can't shake that it is going to cause a lot of headaches and confusion. More importantly, thinking about what Matthew said and then looking at the list of silent API changes, there really is only one issue we need to address: data conversion. All the other API changes can be handled through a slightly more laborious process. The data conversion issue is thorny. I know for a fact that a bunch of my code will break with proposed skimage 1.0, because the assumption of 0-255 uint8 meaning 0-1 float is so deeply baked in. No matter how we handle it, it's going to be messy; but doing it silently, even if widely advertised, can be very disruptive. Perhaps we should reconsider biting the bullet and going through the slower, trusted deprecation process? It is true that we are short on person-hours to do the work, but if we estrange part of our user base increasing volunteer time will become even harder. I'm sorry; I know we've had these discussions over and over, and that it is frustrating to have someone come on board and then fall off again. I keep wanting to be OK with a more radical move, but I am just not that confident we can pull it off. Best regards, Stéfan On Sun, Jul 18, 2021, at 21:32, Juan Nunez-Iglesias wrote:
Dear skimagers,
We are aiming to release scikit-image 1.0 near the end of the year. We are, however, planning to make a number of breaking changes in the API that will affect downstream libraries. We have published a proposal for how we plan to do this at https://bit.ly/skip-3. The gist of it is:
- we'll release 0.19 in the coming weeks. - we'll release 0.20 immediately after, which will be exactly the same but with a warning to pin scikit-image to `<0.20` (for those that want to stay in 0.x land indefinitely) or `!=0.20.*` (for those that want to be "on the ball" when 1.0 is released and update their code as soon as possible). - we'll publish a transition guide along with 1.0rc0, and maintain 0.19.x with bug fixes for another year to give users time to transition.
The document describes alternative approaches ("change the wheels on the bus while still driving it" or "make a new bus with a new name") and why the core team ultimately chose to promote the current approach. Nonetheless, scikit-image is committed to being a community-led project, so we are still gathering feedback and can make substantive modifications to the plan going forward. Please don't hesitate to voice your concerns so we can make the best choice for our entire community going forward!
Thank you,
Juan.