Case in point - nip46 nip04_decrypt method used to return [plaintext], which didn't make sense, but that was spec-ed. Snort implemented a sane, but broken version - expecting just plaintext string. It wasn't working with ndk that returned [plaintext], so I looked things up, people were proposing to "fix" it - change the spec, I saw 'No it will break implementations' comment and went on to fix Snort - make it accept [plaintext]. Turns out that was "fixed" in the spec now and changed in NDK - it returns plaintext string now, but Snort has no idea about it and now I have to unfix Snort. I'm not sure, maybe I and Kieran aren't following the right process to stay up to date w/ NIP changes but this kinda illustrates the point.
Weird, I was the one who made that change in a commit called "latest discoveries", so I apologize.
But I don't remember why, it was likely triggered by learning that some implementations were returning just the plaintext string. I remember going through the Snort and NDK source code at this time trying to understand the unwritten spec, but that part got over my head probably and I just assumed it was a simple string since that would make the most sense.
Thanks for your work.
How could I better follow NIP changes? Just watch the git repo on github? Maybe there could be nostr-nip-report account or hashtag that would scream at devs that there were some changes to existing specs? Some changes are inevitable so I'd rather stay up to date than stay ignorant.
Yes, I want to see this too. A list so I can catch up from where I left off. Anything that might be a breaking change should be on the list.