MHWDB API Versions Save

Source code for the Monster Hunter World API project

1.18.5

4 years ago

Changelog

  • Fixed a bug wherein $and and $or operators in a query document would throw an unknown field error.

1.18.4

4 years ago

Changelog

  • Add support for "guiding lands" as a reward condition type.

1.18.3

4 years ago

Changelog

  • Fixed a bug wherein skills with empty modifier lists were being normalized to empty arrays instead of objects (reported via Discord).

1.18.2

4 years ago

Changelog

  • Fixed a bug wherein the application would respond with an uncaught 500 error after activating a new user account, or after performing a password reset.

1.18.1

4 years ago

Changelog

  • Fixed a bug wherein saving newly added CharmRank objects would return a 500 error (fixes LartTyler/MHWDB-Contrib#49).

1.18.0

4 years ago

Changelog

  • Added support for localizing strings on most objects. Supported languages and their language code can be found in the table below.
  • Removed deprecated length fields from all entities.
  • Added support for purple sharpness.

Breaking Changes

  • All length fields have been removed from collections in the API. Use the $size operator to query for collection length instead.

Deprecations

  • On Charm Ranks, the name field is now deprecated, as it was an auto-generated value that could not properly be translated.

Supported Languages

Language Script Tag
English
French fr
German de
Chinese Simplified zh
Traditional zh-Hant

The table above lists all languages that will be supported with this release. If you'd like to request an additional langauge, please open a new issue on this repository. Please be aware that this does not indicate languages that will have all their data localized following this release, as localization requires manual data entry via the contribution site. If you'd like to help with localization, please email me at [email protected], or via our Discord server.

1.17.3

4 years ago

Changelog

  • Updated event term parsing logic to be more reliable.
  • Fixed a bug wherein duplicate date values in the markup on the events page would cause the events parser to error out (resolves #136).

1.17.2

4 years ago

Changelog

  • Fixed a bug wherein empty attribute objects were still being serialized as empty arrays for certain endpoints.

1.17.1

4 years ago

Changelog

  • Fixed a bug wherein requests to https://mhw-db.com were not being redirected to the documentation site.
  • Fixed a bug wherein attributes objects (such as Weapon.attributes or SkillRank.modifiers) would be serialized to an empty array if they contained no keys.

1.17.0

4 years ago

Changelog

  • Added "fanged beast" as a monster species.
  • Scraping of Iceborne events is now supported by the API.
  • Safi'jiiva siege events are now supported by the API.
  • Updated symfony/* packages to v5.0.
  • Replaced dbstudios/doze-bundle with dbstudios/php-api-common.

Breaking Changes

  • Removed the following fields from weapons (as they're now supported by top-level weapon fields):
    • attributes.elderseal
    • attributes.phialType
    • attributes.ammoCapacities
    • attributes.coatings
    • attributes.specialAmmo
    • attributes.deviation
    • attributes.boostType
    • attributes.damageType
    • attributes.shellingType

Deprecations

  • The length field on all relationships are being deprecated in favor of the new $size operator, and will be removed in v1.18.0. For more information, please read the section titled New $size Operator.

New $size Operator

Early on the API's lifetime, the decision was made to support queries against the length of a collection or relationship via a special .length field. To do this, an extra column was added for every relationship that stored a cached count of the number of elements in the relationship. When a query hit the API that used the length field, it would be translated to the correct column name (e.g. crafting.materials.length would actually query crafting.materialsLength). This worked well when the API was read-only, and lengths could be calculated on a development server, then pushed to production. Now that the API relies on user contributed information, however, those cached lengths have to be recalculated every time an entity with relationships is updated, even if the number of items in the relationship hasn't changed.

With the most recent update to the dbstudios/doctrine-query-document library, it became possible to leverage Doctrine's built-in SIZE function for relationships, like so.

/skills?q={"ranks": {"$size": 1}}

In the example above, the API would return any skill with exactly one rank. The $size operator also supports embedding other operators, to give you more flexibility in your queries.

/skills?q={"ranks": {"$size": {"$lte": 1}}}
/skills?q={"ranks": {"$size": {"$in": [1, 2, 3]}}

The examples above would return skills with zero or one rank, and skills with one, two, or three ranks, respectively. For more information on the $size query, refer to the library docs.