Skip to content

Conversation

@weiznich
Copy link
Member

This commit explicitly outlines that we might perform otherwise considered breaking changes in minor releases if that's required by build breaking changes from the rust project itself. A previous example of such a change that nearly required us to make such a breaking change in diesel is the change to default to resolver = "2" with the 2021 edition. I rather want to make sure that we don't end up in a similar situation in the future that requires us to issue a new major diesel version just to sidestep0breakage from their side.

This commit explicitly outlines that we might perform otherwise
considered breaking changes in minor releases if that's required by
build breaking changes from the rust project itself. A previous example
of such a change that nearly required us to make such a breaking change
in diesel is the change to default to `resolver = "2"` with the 2021
edition. I rather want to make sure that we don't end up in a similar 
situation in the future that requires us to issue a new major diesel version 
just to sidestep0breakage from their side.
@weiznich weiznich requested a review from a team February 21, 2025 14:11
@weiznich
Copy link
Member Author

weiznich commented Mar 4, 2025

To add some context on why I want to change this: https://blog.weiznich.de/blog/cargo-instablity/

@Ten0 Ten0 self-requested a review March 7, 2025 03:29
@Ten0
Copy link
Member

Ten0 commented Mar 11, 2025

To give a worse-case ETA here: I'd like to look a tiny bit further into this, but I'm currently on holidays for the next 15 days, and I don't know that I'll be able to dedicate that time by then.
So if not I'll do that when I'm back at work 😊

@weiznich
Copy link
Member Author

No worries, that's something I want to have in place for the diesel 2.3 release, so there is no pressure to merge this soon.
Enjoy your holidays

@weiznich
Copy link
Member Author

@Ten0 This is a gentle ping, I still would like to move this forward to just have something in place for the worst case that gives us a few more options to handle things reasonable.

Copy link
Member

@Ten0 Ten0 left a comment

Choose a reason for hiding this comment

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

Apologies, I'm finding it hard to dedicate time to this.
I guess the main question is what is defined as a breaking change and what kind of breaking change we ultimately want to allow but I guess this is a question that can be answered practically when considering the relevant potential change, so let's just go ahead and merge this if you're confident that's what we should do. 🙂

@weiznich
Copy link
Member Author

weiznich commented Jun 6, 2025

No worries for taking time to think about this.

I should likely also add that I do not want to ever use this. I mostly see this as last resort option that could be meaningful if it only affects a small part of the user base or are really easy to fix. (E.g. if you write this specific generic code you might need to add a 'static bound or similar). I still would prefer non-breaking options whenever possible.

@weiznich weiznich added this pull request to the merge queue Jun 6, 2025
Merged via the queue into diesel-rs:master with commit 7629365 Jun 6, 2025
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants