7:06am CST - You enter a dark cave. You are beset by foes! Roll for initiative. Adventures in the Forgotten Realms rules and MTR are diffed.
6:14pm CST - 2 Modern 2 Horizons is upon us!
9:27am CST - Strixhaven is here! CR is done and diffed, just waiting for the IPG changes if any such things exist. Also "BLAZE IT" or whatever the kids say.
2:36pm CST - Kaldheim IPG and MTR are diffed. Sorry about the delay on those. Luckily, there's nothing functional or relevant, just cleaning up language so that everything is now properly a "substitute card." I imagine these diffs will be pretty low impact until paper Magic exists again.
6:50pm CST - The Kaldheim rules diff is ready to go.
11:29am CST - Just added CRs from Mirrodin block, thanks to Kaoru Yonemura's resource at MJMJ.INFO. Note that the one for Mirrodin isn't strictly correct -- it's some CR from after Mirrodin / before Darksteel, but hell if I can figure out what exactly it's for. The only release I can find with that date is Daniel Zink's 2003 World Championship deck, and that obviously doesn't need a rules update. So.
12:26am CST - The Commander Legends rules diff is up!
8:53am CST - I feel like this version of the API is at least a little more resilient than previous, so let's go ahead and make it public knowledge, yeah? Yeah.
6:08pm CST - The Zendikar Rising diff has arrived! It's a party. That's a joke, see, because the set has a mechanic called "party." It was really very funny.
9:27am CST - Not dead yet. Double Masters diff is up (spoilers, it's just a bunch of stuff to support the new Oubliette wording).
12:52pm CST - I quit being lazy and started diffing old stuff. Diffs from Khans of Tarkir to present are available now!
8:28pm CST - IPG and MTR are updated for Ikoria. There's... basically nothing there. IPG talks about Companions! Yay!
10:18am CST - We're gonna try something a little different for the algorithm. First, I dropped the "is this a good match?" threshold from 60% to 40%. Second, I'm now scanning for matches across the *entire* CR, not just within a 50-rule radius.
These changes work great for IKO - the first lets me match 903.11d and 903.12d, and the second lets me match the old 706.7a with the new 607.5a. I'm going to have to keep an eye on this moving forward, because 40% is a relatively low match threshold, but I think given the way the rules work it's Probably Fine barring some absolutely major rewrite of everything.
10:00pm CST - BIG MONSTERS! Ikoria rules diff has arrived. Had a new exposed bug (I really need to just do a full rewrite of my diff scripts) and one small change that was so far beyond normal that I just manually edited it into the diff.
6:25pm CST - So I'd been kicking around an idea for a while, but never implemented it because I figured I'd be the only person who used it. One (1) other person asked me about it yesterday, though, so I spun something up. You can now trace a rule from its most recent change. For instance, this is all the planeswalker subtype changes from THB and before. This is obviously a work in progress as I step through and do diffs for things that pre-date what I currently have done (which is, right now, only back through like RIX).
12:52pm CST - Theros Beyond Death comp rules changes are up, less than five minutes after Eli posted the new docs. This process is getting Very Good.
5:55pm CST - Theros Beyond Death IPG and MTR are handled! Comp Rules should be a day or two still.
10:35pm CST - Trivial changes to the front-end -- finally quit being lazy and trimmed the trailing periods from rules (so like "118.3" now instead of "118.3"). This shouldn't break anything. Maybe. Hopefully. Sometime soonish I should probably rewrite some things
so that the site and the API use the same JSON.
Speaking of code things that none of you care about, added an API endpoint for getting just the rule numbers for those rules that were changed or removed. Should make it easy to update any projects that are consuming the API.
And... somehow I neglected to put anything in the changelog, but yeah, there's a been an API up since a bit before Throne of Eldraine release. It's still pretty sparse, so if you have any requests or suggestions, I'm all ears.
7:05pm CST - Nate Hurley was like "You know what'd be cool? If the examples had card images." So I did that. Pages for specific rules now pull images for cards they reference.
5:43pm CST - It's been bugging me for a while now that when we added a new subtype, it brings up that whole giant block of rules. Like, there was just way too much stuff there, y'know? Well, I got around to compressing that. Now, the diff only shows types that were added. Technically, it will also show types that were removed, but that happens exceptionally rarely.
2:20pm CST - Made some changes to rules! On the CR diff page, rule numbers now link to those rules' specific pages. Also, each rule now has a specific page, with examples included where they exist.
Do note that the rules links are only active on the righthand side of the CR diff (the new rules).
2:27pm CST - IPG and MTR have been updated for Throne of Eldraine! There's nothing major, really. Basics are now drafted. That's something, I guess.
Some small site changes. Going to a rules link that will never exist (like https://vensersjournal.com/123-ABC) tells you that link is no good. Going to one that will exist, like https://vensersjournal.com/C19-ELD, now lets you know that it's gonna be there. Eventually. If a certain rules manager would gimme the goods.
9:21pm CST - Had the updates up earlier this afternoon, but then had to fiddle with the rule-matching algorithm to cover Yet Another Edge Case (tm). Luckily, this new setup should be pretty extensible to cover other similar edge cases, so maybe I can go one new Comprehensive Rules update without needing to rewrite something.
3:52am CST - Fiddled with the CR diff algorithm for a bit. First, the range on "oh you're the same rule, just moved" is now significantly larger, which means it takes a little longer to parse but also that it's really, really good at figuring out where a rule is supposed to live. This handles all the new token stuff exceptionally well.
Second, I hammered out a way to tell if the only change is "this rule reference got changed to another rule reference." If that's all that happened, the rule is ignored by the diff.
2:48am CST - So, I picked up all these new files in the archive, but the old layout was getting Real Bad. I rearranged things.
10:54pm CST - So, a bit ago Joe Klopchic sent me a link to Petr Hudeček's personal site, which archived a lot -- and I mean a lot -- of old docs. I've ported them over to here!
6:47pm CST - M20 docs! The M20 rules have made it abundantly clear that I should probably rewrite my rules diff algorithm a bit to handle things that just... moved numbers. I mean, it's already there, kinda, but not for when things move far away from where they used to be. I'll add it to the list of Stuff I Have To Do.
6:20am CST - Another set, another minor editorial bug I had to hunt down! Without delving into too much detail, basically 612.8 has something I've never had to account for before, but now I'm accounting for it, so it's showing up like it should be. Yay!
11:03pm CST - Modern Horizons rules are... mostly up? There's some cute little bug somewhere that isn't letting me pick up the new 612.8, but it's a trivial rule that's also covered in more detail elsewhere, so this isn't something a sane person should care about; as far as you, sane person, are concerned, this does exactly what it's supposed to do! Now excuse me as I go agonize over what on earth is happening.
1:15am CST - Fixed the issue with the single quotes (which, uh, you can't see now, since it's fixed). Also fixed the trailing space highlighting, which was driving at least two people crazy. I changed another thing that only affected the parsing of three rules (for now). While they haven't been relevant yet, I'd rather cover the potential cases now instead of when it'd actually be a matter of concern.
12:00pm CST - New CR! Yay! The editorial weirdness from RNA is 'fixed', and I've rewritten some of the parsing code to handle most of those snafus. Still having an issue figuring out what's up with the single quotes (you'll see what I mean, look at 603.4 for an example).
In news that won't matter for most of you, the new CR is, in fact, served in glorious UTF-8, so we have to do significantly less very silly nonsense to parse it properly now. Rejoice!
3:30pm CST - IPG and MTR diffs for 3 May 2019 (War of the Spark) are complete. The raw docs are uploaded to the archive. Still waiting on the Comp Rules, but hopefully those will be in-hand today.
Also, as you may or may not have noticed (you probably have, since you're here) -- added a changelog.