Skip to content

Releases: GW2ToolBelt/api-generator

0.12.0

16 Mar 11:21
f8f393f

Choose a tag to compare

Fixes

  • Endpoints:
    • /v2/achievements:
      • Item rewards are now correctly named (previously Items) [GH-550]
      • MiniPet bits now use correct capitalization for disambiguation (Minipet).
    • /v2/gliders:
      • Made unlock_items optional to support old legendary gliders. [GW2-151]
    • /v2/skills:
      • dual_wield is now correctly specified as string again.
      • icon is now optional.
      • Added support for Duration facts.
      • Added basic support for HealingAdjust facts. The semantics of these facts are unclear as they appear to be incomplete.
    • /v2/skins:
      • Added support for skins without dye slots.

0.11.0

16 Feb 19:29
ae438da

Choose a tag to compare

Improvements

  • Added support for strings formats to encode additional semantic properties of a string's contents via the SchemaString.format property. [GH-461]
    • ISO-8601 timestamps and UUIDs are now properly marked as such and can now be mapped to more appropriate types.

Fixes

  • Endpoints:
    • /v2/account/inventory:
      • Inventory slots are now marked as nullable. [GH-546]
    • /v2/characters/:id/equipment:
      • Added missing count field. [GH-543]
    • /v2/characters/:id/inventory:
      • Bag slots are now marked as nullable. [GH-544]

0.10.1

05 Feb 11:05
295bb6e

Choose a tag to compare

Fixes

  • The API reference is now correctly published again.

0.10.0

04 Feb 22:13
a5c0378

Choose a tag to compare

Improvements

  • Endpoints:
    • Added support for /v2/logos. [GH-489]
    • The achievement bits for /v2/achievements are now a conditional based on the "type" field.
      • This enables type-safe access to the ID of the bit depending on the bits type.

Fixes

  • Endpoints:
    • /v2/account/bank:
      • Added support for the CritDamage item stat property. [GH-539]
    • /v2/account/inventory:
      • Added support for the upgrade_slot_indices property. [GH-541]
    • /v2/character:
      • Marked PvP equipment as optional. [GH-538]

Breaking Changes

  • Increased minimum required Java version to 17 (from 8).
  • Increased minimum required Kotlin version to 2.2 (from 1.8).
  • The copy functions of data classes with no publicly accessible constructors are no longer available. This includes (but is not limited to) the IR and schema types.

0.9.0

13 May 16:20
b7217f7

Choose a tag to compare

Improvements

  • Endpoints:
    • /v2/guild/:id/members:
      • Added support for wvw_member.

0.8.1

28 Feb 22:43
770a0c7

Choose a tag to compare

Fixes

  • Endpoints:
    • /v2/account
      • Fixed the WvW rank property introduced in schema version 2024-07-20T01:00:00.000Z.
    • /v2/character
      • Fixed the nesting of item attributes in equipment tabs.

0.8.0

27 Feb 13:49
0d3fbe2

Choose a tag to compare

Improvements

  • Endpoints
    • Added support for /v2/account/homestead/decorations. [GH-357]
    • Added support for /v2/account/homestead/glyphs. [GH-355]
    • Added support for /v2/account/wvw. [GH-326]
    • Added support for /v2/homestead/decorations. [GH-356]
    • Added support for /v2/homestead/decorations/categories. [GH-358]
    • Added support for /v2/homestead/glyphs. [GH-354]
    • Added support for /v2/wvw/guilds. [GH-331]
    • Added support for /v2/wvw/guilds/:region. [GH-332]
    • Added support for /v2/wvw/timers. [GH-327]
    • Added support for /v2/wvw/timers/lockout. [GH-328]
    • Added support for /v2/wvw/timers/teamAssignment. [GH-329]
    • Added inventories to required permissions to access /v2/characters/:id/equipment. [GH-342]
  • Added support for V2 schema 2024-07-20T01:00:00.000Z.
  • Added support for fields whose presence is dependent on the availability of multiple token scopes.
  • Introduced aliases for many unmapped ID types. [GH-283]

Fixes

  • Endpoints:
    • /v2/character
      • Corrected token scope information for conditional fields. [GH-342]

Breaking Changes

  • The API of Optionality.MANDATED has been changed to expose a Set<TokenScope> instead of single token scope.

0.7.0

30 Jun 22:11
3b66fd2

Choose a tag to compare

Improvements

  • Endpoints
    • Added support for /v2/account/jadebots. [GH-259]
    • Added support for /v2/account/skiffs. [GH-261]
    • Added support for /v2/account/wizardsvault/daily. [GH-297]
    • Added support for /v2/account/wizardsvault/listings. [GH-298]
    • Added support for /v2/account/wizardsvault/special. [GH-299]
    • Added support for /v2/account/wizardsvault/weekly. [GH-300]
    • Added support for /v2/jadebots. [GH-258]
    • Added support for /v2/skiffs. [GH-260]
    • Added support for /v2/wizardsvault. [GH-296]
    • Added support for /v2/wizardsvault/listings. [GH-294]
    • Added support for /v2/wizardsvault/objectives. [GH-295]
  • Added a SchemaBitfield type to be used for bitfields. This type should always be mapped to 64bit integers.
  • Added support for V2 schema 2022-03-23T19:00:00.000Z.
  • Introduced a low-level API to move the version information out of the schema API into an intermediate representation (IR).
    • APIs can now be generated for specific schema versions making it significantly easier for consumers to work with.
  • Introduced a Name abstraction to make case conversion for names an explicit operation.
  • Introduced the concept of inlined properties for reference types.
    • Inlined properties can be used to group elements into logical units without affecting the serial representation.
  • Introduced enums. Enums allow defining a known set of values for an element. [GH-152]
  • Introduced tuples. Tuples are arrays with a fixed size where each element may carry different semantic information. [GH-189]

Fixes

  • Endpoints:
    • /v2/account:
      • Fixed the optionality of build_storage_slots for tokens without BUILDS scope.
    • /v2/characters:
      • Made amulet and runes optional.
  • Changed the type of worldID in the MumbleLinkIdentity to BITFIELD.

Breaking Changes

  • The library now requires Kotlin 1.8.

0.6.0

14 Jul 16:05
25a0be6

Choose a tag to compare

Improvements

  • Updated the library to Kotlin 1.6 and replaced all experimental functionality.

Breaking Changes

  • The library now requires Kotlin 1.6.

0.5.0

07 Jun 12:42
e39912e

Choose a tag to compare

Improvements

  • Endpoints:
    • Added support for /v2/account/legendaryarmory. [GH-179]
    • Added support for /v2/characters. [GH-46]
    • Added support for /v2/characters/:id/buildtabs/active. [GH-49]
    • Added support for /v2/characters/:id/equipment. [GH-53]
    • Added support for /v2/characters/:id/equipmenttabs. [GH-54]
    • Added support for /v2/characters/:id/equipmenttabs/active. [GH-55]
    • Added support for /v2/guild/:id/log. [GH-82]
    • Added support for /v2/guild/:id/stash. [GH-85]
    • Added support for /v2/legendaryarmory. [GH-178]
    • Added support for /v2/skills. [GH-128]
    • Added support for /v2/traits. [GH-135]
    • /v2/account:
      • Added support for build_storage_slots (since 2019-12-19T00:00:00.000Z).
    • /v2/legends:
      • Added support for code (since 2019-12-19T00:00:00.000Z).
  • Added support for V2 schema 2021-07-15T13:00:00.000Z.
  • Added support for V2 schema 2022-03-09T02:00:00.000Z.

Fixes

  • Endpoints:
    • /v1/guild_details
      • Changed types of color and emblem ID fields from STRING to INTEGER.
    • /v1/map_floor:
      • Changed type of file IDs from STRING to INTEGER.
    • /v2/guild/:id
      • Changed types of emblem ID fields from STRING to INTEGER.
    • /v2/guild/:id/stash
      • Changed types of upgrade_id, id and count from STRING to INTEGER.
    • /v2/guild/upgrades
      • Changed types of count from STRING to INTEGER.
    • /v2/mounts/skins
      • Changed type of color ID fields from STRING to INTEGER.
    • /v2/pets:
      • Changed ID type of pet skill objects from STRING to INTEGER.
    • /v2/pvp/seasons/:id/leaderboards/:board/:region:
      • Rename type LeaderboardEntry to PvPSeasonsLeaderboardEntry.
      • Changed type of team from INTEGER to STRING.
      • Changed type of value from STRING to INTEGER.
    • /v2/pvp/seasons:
      • Made duration optional.
    • /v2/wvw/matches:
      • Changed types of map and skirmish IDs from STRING to INTEGER.
    • /v2/wvw/matches/stats:
      • Changed types of map and skirmish IDs from STRING to INTEGER.
    • /v2/wvw/matches/scores:
      • Changed types of map and skirmish IDs from STRING to INTEGER.

Breaking Changes

  • The libraries' API was restructured to support working with only a subset of
    endpoints and to implement a better type-system.