bitcoinops / bitcoinops.github.io

Bitcoin Optech website
MIT License
253 stars 121 forks source link

How are "Notable code and documentation changes" selected? #1027

Closed Kixunil closed 1 year ago

Kixunil commented 1 year ago

I don't see a better place to ask, hope this isn't too bothersome. I was surprised by recent inclusion of a Rust Bitcoin PR in the newsletter. It feels a bit random. How do you select which changes go into newsletter?

harding commented 1 year ago

@Kixunil no problem about asking here (you can also just reply to the from address on the newsletters).

I have a script that shows me the git log --topo-order -p for all commits added to each project we monitor since the last time I ran the script. I read the commit messages and skim the code for every commit. If it looks interesting, I paste details into my draft for the next week's newsletter. After that, I check the tags various projects have added to alert us to stuff they think are interesting, e.g. CLN, Eclair, and LDK. Then those PRs are summarized, either by me or by another Optech contributor (we have a rotating roster as part of cross-training for weeks when I'm not available).

I don't have a written list of criteria I use to select commits, but it's something like:

Re: Rust Bitcoin 1636, which is what I guess you're writing about, it fell into the "I think downstream users of RB will want to use this" and "maybe there's a template for a best practice here that non-Rust devs may want to use in their Bitcoin software".

I'd be curious myself to hear what surprised you about our selection of it. Did you think it should've been below our selection threshold, or are you surprised we wrote that up but recently missed some other more significant changes?

Thanks for reading, and thanks for your work on RB and other Bitcoin projects!

Kixunil commented 1 year ago

Thanks for explaining! I've created such label, will use it in the future if something comes up.

Yeah, 1636. It didn't feel like "rocket science", just a bunch of integer additions mostly. But looking from consumer perspective it is true it's more valuable than it seems because getting the computation right was not super-easy when I did it before in my own project (that's why I upstreamed it) - I got a bunch of bugs forgetting to add some items etc.

I think script refactoring was quite a massive change that falls under "Is it a significant user-visible change". But really, the next version will be one hell of a release (should come out around the end of February). :) The aggregate changes are insane. In one of my projects the upgrade diff adds 162 LOC and removes 265.