Thank you for your patience during our downtime! This migration was important for the long term maintainability of Cube Cobra. We've been working on this update diligently since the last release, 9 months ago. As of writing this post, you will immediately notice that all of your old decks are missing, and that card analytics (like top cards) have no history, don't panic! This is going to take another few days to be migrated, and I didn't want that to be a blocker to use the website. I'll keep up a banner until those two processes are complete.
So, what's new with this update? In truth, only a handful of things. We've fixed many major bugs since the last release, and refactored the entire front end. The goals of the work we've done are more focused around scalability and maintainability of the project. That said, there are some major improvements to the core workflows of managing a cube. First, all cubes now have a history tab, that shows the history of the cube. We've backfilled this history based on blog posts, but moving forward, even changing attributes of cards will be tracked in the history. There's still a lot more work we can do to build on top of this, such as undoing changes, viewing a "point in time" view of a cube, and even comparing that point in time with another cube. The cube history system is designed to support these operations, so you can expect us to deliver those features in the future. With this update in how we handle edits to cubes, you'll notice blog posts have similarly been refactored. As a legacy remnant of the first implementation of the site, we were storing changelogs as plain text instead of the data the change represented. Since we now track the actual change in data, changelogs in blog posts will be easier to read, with consistent autocard and links, and updated symbols that I think you'll love.
Analytics is a big part of this update. While they're not going to migrated at the time of writing this blog post, they will be soon. The old system relied on a script running every day that saved the state of the system. This is problematic because if this script ever failed for any reason, we would have gaps in our data until the issue can be fixed. This has led to all sorts of various issues with our analytics including inconsistent Elo, and the graphs looking nonsensical. The new system leverages the fact that we have dated changelogs for every single cube, and will write updates as a function of the entire state of the system. This means that if there are gaps in the data, they will be backfilled. This also means that Elo will be calculated as a function of all drafts, instead of updated as drafts occur. If we change how we calculate Elo now, the Elo value for all cards will be adjusted as if the new calculation was in place since the launch of the site.
So, what does this update NOT do? This update is not a complete fix for all the drafting issues. We've been struggling significantly with our draftbots for quite honestly an unacceptable amount of time, and for that I'm sorry. There are still some open bugs related to drafts crashing, that will be my top priority now. The draftbots themselves will be slightly better, but not great. They are a simple function of Elo and Color Identity. However, I am currently working on a complete refactor that I believe will be a game changer.
Lastly, I want to say thank you to all the volunteers who decided to help test this release. I really cannot express the depth of my gratitude, this release would not have been nearly as polished without the time that you have all put in. This doesn't mean this release is perfect, and I will be working around the clock the next few weeks to squash any and all bugs reported, so if you encounter any unexpected behavior please let me know. This was a major refactor, and there will be corner cases we have missed.