Replies: 5 comments 17 replies
-
#2230 was a simple function that was easy to review. I did it in time slots where any other work wouldn't be feasible anyway. I'm somewhat inclined to agree not to expand API too much. Though some cases affect the existing API like in #2347 where the latter changes improved previous commits (you don't see those because I rewrote the history locally before first push). Yeah, I got carried away a bit, I didn't expect borrowing errors. :) And speaking of #2347, I'm totally fine with implementing just the first commit for now. But speaking of optimizations, I also suggest pausing unneeded refactors such as reorderings, rewordings, ... Also we should first focus on the leaf crates. Let's get hashes, |
Beta Was this translation helpful? Give feedback.
-
I have been 100% focused on the leaf crates (incl. |
Beta Was this translation helpful? Give feedback.
-
My (maybe a bit off-topic) thought while casually lurking at some issues/PRs/discussions: Aren't you (rust-bitcoin developers) stressing too much about that 1.0 number? IMO the right way to arrive at 1.0 is noticing that the current state of affairs is good enough and release 1.0 then aka "it's ready when it's ready". The more stuff is polished and less downstream churn is needed the better, and it seems things are progressing toward that direction just fine. As a downstream consumer I'm primarily happy about that, and less about some arbitrary numbers. So unless you feel like things are spinning in circles with refactors, I think it's OK to enjoy the journey without stressing about the destination.
You can start being proud already, because "clean AF" moment never arrives and the moment you release 1.0 you start regretting that you can't cleanly fix something anymore - new major release definitely does not seem worth it. Then people start reporting more issues, more ideas for improvement, the list of regrets grows, you start getting slightly depressed, less energetic, you start refactoring your dotfiles to compensate, then you need a drink to make a commit, then two, and before you know your family doesn't want to know you anymore and that 1.0 ruined your life. True story, happened to a friend ;). That's why no one in Rust community releases 1.0 anymore, and there was an RFC hardcoding major version to 0 for new crates as a safety measure (classic Rust community move). |
Beta Was this translation helpful? Give feedback.
-
One more idea to improve development speed: do minimal changes in commits. Not just small commits but also try to avoid things like renaming |
Beta Was this translation helpful? Give feedback.
-
I think there needs to be a focused window of maybe a few weeks or something where no new changes are added to create a release. However an indefinite freeze of adding new useful functionality seems stifling for the project. In this case, I'm not sure how long the proposed no merge window is and for how long I should sit on potentially useful changes. |
Beta Was this translation helpful? Give feedback.
-
We are primarily trying to get to
v1.0
, we have limited resources and time, as all projects do.I propose that we stop adding arbitrary functionality to the public API. Doing so increases maintainer burden and slows down the 1.0 release. I propose that we only add stuff that is "essential" (by some definition) for the 1.0 release or essential for some user (i.e., if it can be done without change to
rust-bitcoin
then don't changerust-bitcoin
).This is counter to the current policy of adding anything that anyone claims is useful for them. Point in note #2230.
Beta Was this translation helpful? Give feedback.
All reactions