Developer Blog



3.9 Release
6/27/2020, 12:48:53 AM

Tonight's update is our first release following our migration to DocumentDB. For those unaware, you may have noticed some severe latency issues the past week; I've been pulling some late nights to iron out all the kinks related to this migration. You should be able to feel an immediate improvement, our average latency has gone from 600ms to around 100ms! In addition to the performance improvements, this migration will help with stability, scaling, and make my job of managing the site much easier. The downside, is that our hosting costs have increased quite a bit. This migration was triggered from a patreon goal of $300, but the net costs were more expensive than I anticipated, and we're currently running about $200 over budget. This isn't the end of the world for me, but I would definitely appreciate any additional support through Patreon. There are two more infrastructure goals, both on a much smaller scale than the database migration. For card analytics, we have a script that gets run manually and infrequently, but I'd like to automate that process such that it runs every day, keeping card analytics fresh and up to date. It would also allow us to create histograms for card trends, which is super neat. The other change has to do with the machine learning portion of the site. Currently, that's being done on a separate server, and everything done is all manual. I'd like to migrate the machine learning to AWS Sagemaker, allowing us to keep the draftbots and recommender up to date at a weekly resolution. The latter change is much more extensive, so I can't commit to a timeline on that yet.

This update also features some changes in how we handle card prices and Elo, before, these values were separated from our card model due to logistical challenges, but Scryfall's new bulk data update allows us to provide prices and Elo with much less latency. All this means to the end user, is a significant performance update in many places around this site. Anyways, let's get into the full changes in this update.

New Features:

  • Database has been migrated to DocumentDB.
  • Handling of prices and Elo updated for much better performance.
  • 'Build for me' option added to deckbuilder. This uses the same algorithm the bots use to build decks.
  • Tweaked draftbots based on user feedback.
  • Updated deckbuilding algorithm to account for synergy and overall deck strategy better. This is still far from perfect, but an improvement nonetheless.
  • Added the ability to show draftbot breakdown during drafting, to see how a draftbot would approach a given pack.
  • More sophisticated logging tools - this will help us investigate and fix bugs without the need for detailed bug reports.
  • Performance updates to several pages around the site.

Bugfixes:

  • Hypergeometric calculator labels are fixed, and some more hint text added.
  • Sealed and uploading decklists fixed.
  • Totals row in table analysis now shows correct percentages.
  • Fix power and toughness sort/filter.
  • Fixed commenting on decks.
  • Fixed several server side crashes, the impact of these issues were not widespread; we caught them with our new logging tools after a single incident each.


3.8 Release
6/13/2020, 2:01:58 AM

Tonight's release is a very exciting one. Before we get into the exciting new features, I wanted to share that I am giving away some special Cube Cobra snake tokens to all Patreons! If you are interested in receiving some tokens, you can support Cube Cobra here. Cube Cobra is almost completely funded through Patreon, and every cent of donations go directly towards server costs. We also just launched our new Inked Gaming page! We have some exclusive Cube Cobra playmats listed, and purchasing those playmats also helps pay for Cube Cobra server costs.

Okay, enough shilling for monetary support, what's special about this release? Well, you may have read Ruler501's Draftbot Primer, which goes into detail a huge rework we've been working on for our draftbots! This is a very difficult challenge that I've expressed frustration towards many times, and I think we have come to a game-changing solution here. In addition to the new draft bots, there are also some new tools around drafting, including running "Bot Only" drafts, so cube designers can observe how their cube may be drafted without spending the time drafting themselves. We also added a new view for decks where you can see the draftbot analysis for each pick made, that explains the reasoning of why that pick was made, and what other cards were in close consideration. Draftbots will also fully build decks, including adding basic lands. The bots are still far from perfect, but with how they're setup, we have a lot of levers and dials we can manipulate to improve them. If the draftbot seemed to make a dubious pick, share it with us on Discord! We would love the feedback, and can use those reports to further advance our draftbots. We also started tracking pick and pass data for individual cubes. We're not using this data yet, but this is something that's been asked for a lot. We will look into how we may utilize this data in future releases.

We also have improved the user experience for filtering, by adding a quick filter toolbar. If you wanted to see all the activity one user has been up to, now you can view all blog posts from one user on their page. And as usual, several critical bugfixes. Check out the full changes below!

New Features:

  • Draftbots completely reworked. For more information, view this article written by Ruler501, one of our contributors.
  • Added draftbot analysis view to the deck page.
  • Added bot only drafts.
  • Add quick filters toolbar.
  • Add new user pages for blogs. See all my blog posts.
  • Added Inked Gaming merchandise page.
  • Started tracking individual card analytics on a cube by cube basis. We will use this data in future releases.
  • Added more asfan tools to analytics.
  • Analytics uses URL query parameters, so you can share your current view+filter by copy and pasting your URL.
  • Add new filter to allow for searching by quantity of tags.
  • Added new comparison header to cube compare page.

Bugfixes:

  • Fixed an issue where new cards weren't imported from Scryfall correctly.
  • Fixed issue where misparsed cards for bulk upload not being brought to fix error screen.
  • Fix issue where tokens would be added to cubes instead of the correct card (Ajani's Pridemate).
  • Fix issue where pick by pick breakdown wouldn't display correct pack contents.
  • Fix issue where sample pack images were incorrectly cropped.
  • Removed unused tags from tag colors modal.
  • Fix issue where autocard popup tags weren't wrapping.
  • Fixed several major issues with top cards.
  • Fixed cube resizing.
  • Fixed card imports for 'pre-flipped' cards. (only for the most degenerate of degenerates)
  • Fixed issue with importing collector number in CSV import.


3.7 Release
5/29/2020, 11:32:52 PM

Today's release brings a grab bag of valuable bugfixes, and a couple new features. I understand we didn't have a release two weeks ago as we should have according to our schedule, and that this release is a bit feature light. This is mostly due to my limited bandwidth the last month due to personal commitments, and several other regular contributors were busy with other real-life issues. Regardless, we're committed building the best cube platform we can, and I can assure you I'll be able to get back to spending more time on development soon.

New Features:

  • Updated filter syntax guide.
  • Added support for additional operators for more tag filtering, such as =, :, !=.
  • Added the ability to resize visual spoiler.

Bugfixes:

  • Fixed an issue with starting a sealed pool and building a draft deck for new cubes.
  • Fixed an issue where filtering by price crashed the UI.
  • Fixed filtering for all analytics.
  • Fixed an issue with populate analytics where it would not fetch Elo and prices correctly.
  • CSV export fixed to not output null rarity and color category.
  • Fixed an issue where imported colorless cards would crash pivot table.
  • Added better user feedback for invalid cube searches.
  • Fixed issue where pick by pick breakdown incorrectly reconstructed packs.
  • Fixed several misc. errors due to an empty maybeboard.
  • Fixed first cube button styling.
  • Fixed an issue with filtering while viewing a page that's been filtered out.
  • Add better user feedback for fail cases when editing a cube list.
  • Fixed color filters case sensitivity.
  • Fixed several filter parsing issues.


3.6 Release
5/2/2020, 12:40:37 AM

Today's update brings a lot of small changes including several fixes and updates for the newly revamped cube analytics. We're still halfway done with migrating our server to our new host, but I've done a lot of optimization to the configuration to reduce the amount of downtime. I've also implemented some new logging functionality for the live server, which will greatly help us in squashing those difficult to pin down bugs. As usual, please let me know what features, old or new, that you appreciate, and what features you would like to see in the future!

New Features:

  • Added Historic as a cube category.
  • Added the ability to upload a csv file to replace your cube instead of adding cards.
  • Further improved bot dynamic color selection, increasing the bias towards two color decks.
  • Pagination styling updated.
  • Added the ability to select a default draft format.
  • Added MTGO export for cubes.
  • Reworked CSV importing to be backwards compatible with all previous CSV imports.
  • Added the ability to delete decks.
  • Selected sort is set in a URL parameter, so you can share a specific sort by copying the current URL.
  • Card Modal links now go to a new tab.
  • Updated recommender to maintain the card's list positions when using a sort.
  • Added the ability to filter for cards in maybeboard for recommender.

Bugfixes:

  • Fixed an issue where multiple cube creations could be submitted at once.
  • Fixed an issue where the averages analytic wouldn't use correct card types.
  • Fixed the hypergeometric calculator's math to work for large numbers.
  • Fixed an issue with how cube popularity is calculated.
  • Added more colors to the chart analytic.
  • Fixed an issue with CMC 0 cards in the average analytic.
  • Fixed an error with discord and P1P1 images.


3.5 Release
4/16/2020, 10:16:08 PM

This update comes with a huge upgrade in our server infrastructure. We've migrated from Digital Ocean to AWS, and so far everything is looking very smooth. The major advantages this brings are 100% seamless deployments, and auto-scaling - which means the site speed will not be impacted by the amount of traffic we're getting at any point in time.

As for the site changes, we have many very exciting new features to reveal. Cube Analysis has been completely overhauled (again), this time bringing in a few new tools including a machine learning powered card recommender. The existing analytics have been updated to give greater control over the slice of cards being analyzed, I encourage you to check it out and let us know how we did!

New Features:

  • New Analytic: Recommender. This module uses machine learning to suggest adds and cuts.
  • New Analytic: Pivot Table.
  • New Analytic. Hyper-geometric Calculator
  • Added cube resizing: this feature will change your cube size by adding or cutting the respective suggested cards, given a user limitation.
  • Existing analytics reworked to have more control.
  • Elo and Prices added to maybe-board cards.
  • Note field added to cards.
  • MTGO ID now included in CSV export.

Bugfixes:

  • MTGO exports now work correctly for cards in your sideboard.
  • Fixed drafting notifications.
  • Fixed user deck pages.
  • Fixed 'sticky' autocard.
  • Improved dynamic color selection for draft bots.
  • Fixed an issue were searching for 'powered' cubes would also show all 'unpowered' cubes.
  • Several missing tokens added.
  • Improved sample pack image styling.


3.4 Release
4/3/2020, 7:49:52 PM

This is a relatively small release, despite needing to be postponed. We have several big features that aren't ready yet to be published yet. Enjoy these bugfixes, and stay tuned for news on the future features!

New Features:

  • Added Elo and prices to maybeboard cards.
  • Draft bots are smarter about picking their colors, can go more than 2 colors, and will detect if a cube is missing a color.
  • Enter can be used to accept confirm delete modals.
  • Added Battle Box, Multiplayer, and Judge Tower format labels.
  • Improved Analysis styling.

Bugfixes:

  • Fixed a bug where custom images weren't displayed during the draft.
  • Fixed autocard for DFCs, and decreased size.
  • Fixed sorting with duplicate labels.
  • Fixed deck MTGO export for split cards.
  • Fixed a bug where Elo sort would put cards in wrong buckets.
  • Fixed an issue where drafts can't be started if a card with a '.' in it's name is included.
  • Fixed an issue where the order of packs in a custom format is incorrect.
  • Fixed an issue where drafts wouldn't transition to deckbuilder correctly.


3.3 Release
3/13/2020, 4:21:47 PM

Today we have a very large update for you. We did unfortunately have to skip the previous (3.2) update, so all the features we had ready for 3.2 will be new on 3.3. This update includes many improvements to viewing decks, including a pick by pick breakdown for not just the human drafter, but all the bots drafting as well. Cube Search has been overhauled, it's now much faster, looks better, and has much more useful search options including 'Cubes with the card x'.

New Features:

  • Draft + Deck objects updated in preparation for multiplayer drafting.
  • Deck view reworked, can now view pick by pick breakdown, and decks for each seat.
  • Added sample hand to Deck view.
  • Search reworked, better performance, new UI, and more powerful search options.
  • Added basic sealed.
  • Explore page reworked, cube content unchanged, but search bar added.
  • Can now do up to 16 seats for a playtest draft.
  • Added a notification if someone clones your cube.
  • Several performances improvements.
  • added picks/cubes/Elo filter to Top Cards.
  • Card Page buttons moved up, added a button to view all cubes with that card.
  • Improved display when no blog posts visible.
  • Tweaked draft bots to value colorless cards slightly higher, and value rainbow fetches higher.
  • contact and Donate pages updated to be responsive.
  • CSV export now sorts based on current sort selection.
  • Maybeboard cards added to CSV export/import.
  • Several improvements to analytics page.
  • Increased autocard display size.

Bugfixes:

  • Fixed an issue with Android Chrome context search.
  • Fixed an issue where cubes with token cards (Ajani's pridemate token, for example) would not load the cube list.
  • Fixed several rendering bugs where inaccessible controls were visible.
  • Follow button removed from cubes you own.
  • Jace, Vryn's Prodigy emblem added to token analysis.
  • Fixed several issues with importing cards.
  • Fixed a bug with comment edit/delete.
  • Fixed a bug where CSV download would spin forever.
  • Fixed a bug where cube cloning would spin forever.
  • Fixed uploaded deck username.
  • Fixed issue where Elo wouldn't display in card modal.
  • Fixed an issue where a null CMC (vanguard cards, for example) couldn't be drafted.
  • Fixed login state on confirm upload screen.
  • Fixed a bug where the flip side of a transform card wasn't visible during draft.
  • Fixed a bug where an item would say 'n years ago' instead of 'n seconds ago'.
  • Stopped anime WAR walkers from being added by default.
  • Fixed a reroute issue with registration requests.
  • Fixed a display issue when drafts are completed.


3.1 Release
2/14/2020, 8:11:44 PM

Welcome back to another round of "What's new on Cube Cobra?", today we have some improvements to social features, the start of a new cube analytics page, and a sizable list of bugfixes. One major thing we noticed was Scryfall links to Cube Cobra card pages had been broken for non-english cards, so now you can use those links correctly from Scryfall. We're very excited to start working on an Analytics page rewrite, but there is still a lot more work I want to do with it to provide the best user experience. Please don't hesitate to give me all your feedback on this new page.

New Features:

  • Beginning of major analytics re-write. (Still very rough, so let us know what you like and don't like!)
  • Added settings to cubes, including options for default printing and status.
  • New social page to see followed users and cubes.
  • Profile pictures added. (you are an ambush viper right now)
  • Top cards use correct non-digital price.
  • Improved top cards performance.
  • Cards with proxied status no longer contribute to owned price.
  • All cards will now be displayed on top cards regardless of presence of data, but data may be blank.
  • Foil overlay tweaked per user feedback.
  • Added Commander as a cube type.
  • Non-english scryfall IDs now redirect to english version for card analytics.

Bugfixes:

  • Dates now sort chronologically instead of alphabetically.
  • Fixed an issue with cube overview image not being able to be set.
  • Fixed a bug where Cube Tags always reset to blank.
  • Fixed an issue where certain cube's overview would not load.
  • Fixed autocard on dashboard.
  • Fixed unlisted cubes displayed on profile page.
  • Fixed registration redirects.
  • Fixed an issue where using select all does not apply filter.
  • Fixed a warning in Cube Playtest Page.
  • Fixed custom draft format sorting issue.


3.0 Release
1/31/2020, 11:15:06 PM

Today's release features some changes that people have been asking since day one. We have some significant draft bot improvements, so please try them out and let us know what you think! The draft bots now will use an Elo system, and you can see individual card's Elo in the context modal in addition to the respective card page. We've modified the cube price field to display two values, one representative of how much the cube is worth taking into account finish and status, and the other only counts the cheapest version of each card in the cube. There are many other small improvements we're very excited to bring you today, please don't hesitate to let us know your thoughts so we can continue to build the best possible platform we can!

New Features:

  • Added a button to clone cubes.
  • Draft bot improvements, now only use Elo and modified land and color priority.
  • Elo for cards can be viewing on card modal.
  • Added Elo as a sort and filter.
  • Added Elo to card pages.
  • Styling improvements for prices and Elo.
  • Cube prices improved.
  • Small UI Improvements to custom draft formats.
  • Added Proxied as a card status.
  • Card list item color tweaked.
  • Mayboard items added to CSV import/export.
  • Updated group modal with single card modal changes. (tagging w/o clicking tab is the important change)
  • Added creature/noncreature as a sort.
  • Group modals now dismiss when the last card is removed.
  • Improved compressed view.

Bugfixes:

  • Fixed an issue where editing a custom format loads incorrect state.
  • Fixed an issue where editing cube tags would cause a crash.
  • Fixed several issues with server-side rendering.
  • Fixed an issue with faulty autocard on top cards.
  • Fixed several issues related to maybeboard.
  • Fixed a bug where importing with csv would remove all cube images.


2.9 Release
1/17/2020, 10:25:55 PM

Ok, where to start? We have an absurd amount of bugfixes in this update, and several significant new features including maybeboard, filter syntax for custom draft formats, and a bunch of improvements to the deck view.

New Features:

  • Added cube Maybeboard
  • Custom draft formats can now be constructed with filter syntax
  • Added sideboard to draft deck view
  • Added commenting + comments section on decks
  • Added editable deck names and description
  • Several Performance improvements
  • Pagination for many pages of blog posts improved
  • Adjusted the column widths in draft view, allowing you to see 4 columns on smaller devices.
  • More columns in table view can now be viewed on mobile
  • Added compressed view, a toggle that allows the entire cube to be viewed on mobile in table view
  • Card links added to cards in deck page
  • Replaced mana symbols with higher-quality images
  • Added cube count to Top Cards view
  • Add Finish and Image URL to csv export format
  • Updated foil overlay finish to be more subtle

Bugfixes:

  • 45th card drafted will now correctly go into your pool
  • Revised cards/land/nonlands for deck counts
  • Fixed issue where you couldn't edit or delete custom formats
  • Fixed a bug where hitting tab in AutocompleteInput when no matches crashes
  • Added back scroll Area for cube changelist
  • User about page now respects newlines
  • Fixed removing/replacing for duplicate cards
  • Fixed an issue where duplicating decks crashed the analytics script
  • Fixed a bug where anonymous decks can't be rebuilt
  • Removed the number above the column during the draft when the column count is not greater than 0
  • Fixed an issue where users were being erroneously redirected to the long-ID page
  • Fixed an issue where draft decks can't be edited
  • Cube deletion no longer 404s, now goes to dashboard
  • Fixed a crash on Top Cards tags filter
  • Fixed a bug when updating cards with no finish
  • Fixed Microsoft Edge support (but you should still reconsider your choices)\
  • Fixed missing navigation bar in Overview on mobile
  • Fixed an issue where Add/replace invalid card name crashes
  • Fixed price and manacost type sort
  • Fixed an issue where dragging cards in draft/deck editor would instead drag the autocard image
  • Added back correct links to tokens on token pages
  • Fixed an issue where your cube overview would be displayed as 'undefined'
  • Fixed an issue where capitals in custom id cause links to break
  • Fixed an issue where switching view mode crashes
  • Fixed an issue where filter on top cards crashes
  • Added back Autocard in cube overview + blog posts
  • Fixed an issue where blogposts for cube updates are just displayed as 'undefined'
  • Fixed alert spacing on overview page
  • Fixed an issue where cube compare 'Enter' keypress causes crash
  • Fixed crash on playtest and deck view