MTGJSON v5 Changelog
The following is the MTGJSON v5 Changelog. Some parts may be updated for clarity or corrections at any point.
5.2.1
Release Date: 2023-02-12
Announcements
Welcome to v5.2.1! The MTGJSON team, our contributors, and the community have been working hard with this latest update with focuses on providing more properties, deprecating old properties, and bug fixes. Although this changelog does not reflect all the new sets and decks added, MTGJSON will continue to build frequently enough to capture all new products on a daily basis.
As always, if you have suggestions for improvements, bug reports, or would just like to help address existing issues, we are always looking for help. You can contribute to the project through the MTGJSON Repository or the Documentation Repository. If you would like to help in other ways please consider donating to the project via PayPal (one-time donation) or via Patreon (recurring donations).
Card Model
Added
- Added
attractionLightsoptional property to Card (Atomic), Card (Deck), and Card (Set) - Added
boosterTypesoptional property to Card (Deck) and Card (Set) - Added
edhrecSaltinessoptional property to Card (Atomic), Card (Deck), and Card (Set) - Added
firstPrintingoptional property to Card (Atomic) - Added
foreignDataoptional property to Card (Atomic) - Added
isFunnyoptional property to Card (Atomic) - Added
languageproperty to Card (Deck), Card (Set), and Card (Token) - Added
relatedCardsproperty to all Card Data Models - Added
subsetsoptional property to all Card Data Models
Fixed
- Fixed some cards showing side
"b"for both faces of the card - Fixed
"meld"cards in The Brothers' War (BRO) set
Changed
- Changed
isAlternativeproperty to be set only on card variants within the same set - Changed
legalitiesproperty to use the most permissive legalities of the card
Deprecated
- Deprecated
isStarteroptional property on Card (Deck), and Card (Set) as it provides no useful data. Will be removed inv5.3.0 - Deprecated
reverseRelatedoptional property on Card (Token) in favor of therelatedCardsproperty, described by the Related Cards Data Model. Will be removed inv5.3.0
Related Cards Model (New)
This new Data Model encapsulates data related to cards that are connected to other cards including the "spellbook" mechanic, "meld" cards, and token creation.
Added
- Added
reverseRelatedoptional property to Related Cards - Added
spellbookoptional property to Related Cards
Legalities Model
Added
- Added
exploreroptional property to Legalities
Removed
- Removed
frontieroptional property
Identifiers Model
Added
- Added
mtgjsonFoilVersionIdoptional property to Identifiers - Added
mtgjsonNonFoilVersionIdoptional property to Identifiers
Fixed
- Fixed
scryfallOracleIdproperty not appearing on some cards
Set Model
Added
Fixed
- Fixed
translationsnot having values
Sealed Product Model
Added
- Added
categoryoptional property to Sealed Product - Added
subtypeoptional property to Sealed Product - Added
productSizeoptional property to Sealed Product
Enum Values Model
Added
- Added
languageproperty tocardproperty - Added
boosterTypesproperty tocardproperty - Added
condition,finishes,language, andprintingproperties to a newtcgplayerSkusproperty
Misc
- MTGJSON dropped support for Python 3.6
- MTGJSON added support for Python 3.11
- MTGJSON no longer requires a configuration file
- MTGJSON now queries Gatherer for Multiverse ID as a fallback
- Documentation now uses VitePress under the hood
5.2.0
Release Date: 2021-12-20
Announcements
Welcome to v5.2.0! With this update we've added a lot of new Card Data Model properties with a focus on Card identification. Some of these new properties are signatures, stamps, and finishes. Also, some properties were deprecated with various slates of removal.
We want to remind everyone that while this Changelog can show updates to new Sets that have dropped and our added support for them. MTGJSON will continue to build frequently enough to have this new data without major or minor updates to the application or Changelog. You can always see the current build date using the Meta JSON file and observing the date property or the date appended to the version number.
If you have suggestions for improvements, bug reports, or would just like to help address existing issues, we are always looking for help. You can contribute to the project through the MTGJSON Repository or the Documentation Repository. If you would like to help in other ways please consider donating to the project via PayPal (one-time donation) or via Patreon (recurring donations).
Card Model
Added
- Added
manaValueproperty Card (Atomic), Card (Deck), and Card (Set) - Added
isFunnyoptional property to Card (Deck), Card (Set), and Card (Token) - Added
finishesproperty to Card (Deck), Card (Set), and Card (Token) - Added
cardPartsoptional property to Card (Deck), Card (Set), and Card (Token) - Added
securityStampoptional property to Card (Deck), Card (Set), and Card (Token) - Added
faceManaValueoptional property to Card (Atomic), Card (Deck), and Card (Set) - Added
faceFlavorNameoptional property to Card (Deck), Card (Set), and Card (Token) - Added
signatureoptional property to Card (Deck), Card (Set), and Card (Token) - Added
isRebalancedoptional property to Card (Deck) and Card (Set) - Added
rebalancedPrintingsoptional property to Card (Deck) and Card (Set) - Added
originalPrintingsoptional propertiy to Card (Deck) and Card (Set) - Added
otherFaceIdsproperty to Card (Token) - Added support for
"Dungeon"cards in Card (Atomic)
Fixed
- Fixed dual-faced cards having the wrong mana value on its face
- Fixed
hasAlternativeDeckLimitproperty forSeven Dwarvesbeing incorrect - Fixed
isAlternativeproperty for cards in theCMRandJMPsets - Fixed
Grist, the Hunger Tidenot being a valid commander - Fixed
releaseDateproperty not getting set on"flip"cards - Fixed an issue where duplicate UUID's were being set on Adventures in the Forgotten Realms Art Series (
AAFR) tokens - Fixed an issue where flavor names were not set correctly for certain foreign cards
- Fixed an issue caused by a source having its printed text not providing line breaks
Deprecated
- Deprecated
convertedManaCostproperty in favor ofmanaValueproperty. Will be removed inv6.0.0 - Deprecated
faceConvertedManaCostoptional property in favor offaceManaValueoptional property. Will be removed inv6.0.0 - Deprecated
hasFoilandhasNonFoilproperties in favor offinishesproperty. Will be removed inv5.3.0
Set Model
Added
- Added
sealedProductoptional property to Set (This is still a WIP, but the foundation is now available)
Fixed
- Fixed an issue where the French name of
"Eldritch Moon"was incorrect
Foreign Data Model
Fixed
- Fixed an issue where data was not getting set
Identifiers Model
Added
- Added
tcgplayerEtchedProductIdoptional property to Identifiers - Added
cardKingdomEtechedIdoptional property to Identifiers
Changed
- Changed
scryfallOracleIdproperty to be optional
Purchase Urls Model
Added
- Added
tcgplayerEtchedoptional property to Purchase Urls - Added
cardKingdomEtchedoptional property to Purchase Urls
Legalities Model
Added
- Added
gladiatorproperty to Legalities - Added
historicbrawlproperty to Legalities - Added
oldschoolproperty to Legalities - Added
premodernproperty to Legalities
Enum Values Model
Added
- Added
finishesproperty tocardmodel
Keywords Model
Fixed
- Fixed
abilityWordsproperty showing wrong values
Tcgplayer Skus Model
Added
- Added
finishesproperty to Tcgplayer Skus
Misc
- MTGJSON now supports Python 3.6 - 3.10
- Better handle Gatherer downtime halting builds
- Merged some File Models and Abstract Models within the documentation to the Data Model category for more clarity and ease of use. This in no way changes how and where the data files are downloaded or how their models are formed.
5.1.0
Release Date: 2021-01-18
Announcements
Welcome to v5.1.0! With this release we are no longer supporting Version 4, so if you have not already, please update all your sources to the Version 5 endpoints to ensure your applications function correctly going forward.
Note: With this release, MTGJSONv4 has been fully deprecated. On February 28th, 2021 all v4 endpoints will be removed.
We're rolling out MTGGraphQL! For more information see the MTGGraphQL documentation. Access during our beta rollout is limited to Patreon supporters. A GraphQL GUI can be accessed via MTGGraphQL Playground
Card Model
Added
- Added
originalReleaseDateoptional property to Card (Deck) and Card (Set) - Added
keywordsproperty to Card (Atomic) - Added
asciiNameproperty to Card (Atomic) - Added
identifiersproperty to Card (Atomic)
Changed
- Changed
layoutproperty to be set to"token"if the set is only tokens
Fixed
- Fixed cards with
art_seriestype - Fixed
isAlternativeproperty for cards within a single set (Thanks, kodabb!)
Set Model
Added
- Added
mcmIdExtrasoptional property to Set (Thanks, mjainta!)
Set List Model
Deck Model
Added
- Added
commanderoptional property to Deck
Deck List Model
Added
- Added
typeproperty to Deck List
Legalities Model
Added
- Added
historicoptional property to Legalities
Fixed
- Fixed broken link to Keyrune
Set Model
Fixed
- Fixed Salvat 2005 (
PSAL) to be now correctly marked as foreign (Thanks, silasary!)
Files
Added
- Added
TcgplayerSkus.*file which contains TCGplayer SKU information organized by card UUID - Added
currencyproperty toAllPricesfile (Thanks, tpblaster!)
Updated
- Updated the order of keys so that the
metakey appears at the top
Misc
- MTGJSON has dropped TravisCI support in favor of GitHub Actions (Thanks, ebbit1q!)
- Fixed a documentation issue where Data Models without optional properties were able to be filtered
5.0.1
Release Date: 2020-08-24
Announcements
Welcome to v5.0.1! We've made some minor changes to Data Models with a big push to release a new file: AllIdentifiers!
Card Model
Added
- Added
setCodeproperty to Card (Deck), Card (Set), and Card (Token)
Foreign Data Model
Added
- Added
faceNameoptional property to Foreign Data
Set Model
Fixed
- Fixed some
translationproperty inaccuracies - Fixed some
keyruneCodeproperty inaccuracies
Files
Added
- Added
AllIdentifiers.*file for download which contains all cards organized by UUID
5.0.0
Release Date: 2020-07-03
Announcements
Welcome to v5.0.0! We are proud to announce the 5th major release of MTGJSON. The team has made big improvements including a new “API” endpoint to serve files. We have also given our documentation an overhaul - including upgrading our server to run on Nginx.
We are also pleased to announce the addition of booster optional property defined as the Booster Abstract Model on the Set Data Model.
If you have suggestions for improvements, bug reports, or would just like to help address existing issues, we are always looking for help. You can contribute to the project through the MTGJSON Repository or the Documentation Repository. If you would like to help in other ways please consider donating to the project via PayPal (one-time donation) or via Patreon (recurring donations).
The MTGJSON team we would like to thank the community for its continued support and we look forward to serving you well.
Card Model
Added
- Added
hasAlternativeDeckLimitoptional property to Card (Atomic), Card (Deck), and Card (Set) - Added
promoTypesoptional property to Card (Deck), Card (Set), and Card (Token) - Added and back-ported
hasContentWarningproperty to Card (Deck) and Card (Set) (Cards that are marked by Wizards of the Coast for having sensitive content) - Added
variationsoptional property to Card (Deck) and Card (Set) - Added
keywordsproperty to Card (Atomic), Card (Deck), Card (Set), and Card (Token) - Added
faceNameoptional property to Card (Atomic), Card (Deck), Card (Set), and Card (Token)
Changed
- Changed
"Meld"cardsnameandsideproperties to be more clear. Example:"Gisela, the Broken Blade // Brisela, Voice of Nightmares"(side a),"Bruna, the Fading Light // Brisela, Voice of Nightmares"(side a), and"Brisela, Voice of Nightmares"(side b) - Changed
mcmId,mcmMetaId,mtgoFoilId,mtgoId,multiverseId,scryfallId,scryallIllustrationId,scryfallOracleId, andtcgplayerProductIdproperties to be nested in to a newidentifiersproperty.mtgstocksIdwas removed for redundancy - Changed
isArena,isMtgo, andisPaperproperties to be nested inside a newavailabilityproperty. Values return a string of the available property. See the available examples for all the values - Changed
isBuyABox,isBundle,isPlaneswalkerStamped, andisDateStampedproperties to be nested in to a newpromoTypesproperty - Changed
nameproperty to show full split card names (name1 // name2) - Changed
nameproperty to be verbatim as printed on the card (see Unglued variants for example) - Changed
namesproperty tootherFaceIdsproperty - Changed
uuidproperty for all tokens and split cards - Changed
hasNoDeckLimitproperty tohasAlternativeDeckLimitproperty
Removed
- Removed
pricesproperty in favor of a dedicatedAllPricesfile
Set Model
Added
- Added
boosteroptional property to Set
Removed
- Removed
boosterV3property
Identifiers Model
Added
- Added
mtgjsonV4Idoptional property to Identifiers to help transition developer code
Files
Changed
- Changed all file downloads to be available via the
/api/v5/*web-based url - Changed
AllCardsfile to renamedAtomicCardsto better clarify that these files only contain atomic card data - Changed
[Format]Printingsfiles to be renamed to just their format name:Modern,Legacy, etc - Changed the
versionfile to renamedMeta - Changed all files to use a top-level
dataandmetakey. Any Data Models inside ofdatawill lose the nestedmetaobject
Added
- Added SHA-256 file validation for every file, downloadable at the file location and file name with an appended
.sha256format - Added
AllPricesfile to collect card prices based on Card UUID with a limited history of prices available. Contains paper prices from tcgplayer, cardmarket, and cardkingdom; mtgo prices from cardhoarder
Misc
- Added
Phyrexianlanguage where language data is available - The documentation application server was switched over to Nginx
- Documentation data "Structures" are now named "Data Models"
- Data Models now reference their parent keys and parent files more accurately
- Data Models now have the "optional" tag marked on properties for clarity
- More Data Models are more clearly defined now that the files deliver all the same top-level keys
- Atomic Cards are now documented outright as a Card (Atomic) Data Model for clarity
- Property value examples were added for properties with enumuerated values from
EnumValues.json - You can now toggle optional properties on/off within documentation. If all properties are optional, then the UI is disabled
- You can now open a link to create a PR for a specific documentation page from the footer