StevenL.3761:

What is the actual significance of the build number? More specifically: if the build number changes, what does that mean for other endpoints?

On the wiki, it says that the build ID can be used to for example register when event timers reset due to server restarts. This is suggesting that there are other uses, yet none of them are documented.

The thing that I’m most interested in: for as long as the build number remains the same, will static data remain the same?

Examples of changes that I have in mind:

  • changing the level requirement for an item_details object
  • fixing a typo in an event_names object
  • adding a new color to the colors object

Do these sort of changes (always) require a new build?

smiley.1438:

for as long as the build number remains the same, will static data remain the same?
Do these sort of changes (always) require a new build?

A yes for both (or more a maybe for the latter).

Static data won’t change as long as the build id doesn’t but of course the “discovery” data does all the time.
A maybe for the changes after patch because at least renamings most likely occur for other languages than english – stat changes on items usually don’t occur unless they’ve been announced.

We’ve created a tracker for new discovered items as well as for renamed items (for all languages):

http://gw2wbot.darthmaim.de/rss/newItems/
http://gw2wbot.darthmaim.de/rss/renamedItems/

StevenL.3761:

So if I write a program that makes a 1:1 local copy of the static data, I only have to worry about updating my local copy when the build number changes?

For discovery endpoints, the build number doesn’t matter as much, right? I’m guessing that new identifiers are only added to the output as they are discovered by in-game players?

Dr Ishmael.9685:

That’s correct.

  • The data returned by item_details.json / recipe_details.json / map_floor.json / colors.json / etc. can only change when a new build is released.
  • items.json and recipes.json will have new IDs added as players discover new items/recipes, so you should probably check them periodically.
  • event_names.json is special because it’s a combined static/discovery endpoint. New events will be added to the list the first time they run after a build, but the name is then static and can only change after a new build.