Through the years, Roblox has been changing its API silently leaving us library developers to figure out changes when peoples’ bots and games (that use our libraries) suddenly start breaking. It isn’t a very effective method. The API is surely inconsistent and we thank Roblox engineers for trying to bring consistency to it. However, consistency without informing anyone is just trouble for everyone. As a Roblox library developer, it is very difficult for us to quickly deliver fixes to our libraries that are a result of silent changes to Roblox API endpoints.
At 0:34 EDT today, a user asked for support with an issue he was having after using the noblox.js library which I maintain. I found it peculiar considering his code looked perfectly fine and I even asked him to reduce it to just simpler methods like
nbx.changeRank. His issue was the function was promoting/demoting people to seemingly random ranks. I didn’t know what the issue was until another user mentioned the issue came from Roblox as they now returned the roles in a group in random order.
One year ago, another similar issue occurred just as subtle with the same endpoint. Previously, what this endpoint returned had a different naming convention where all the field names were capitalized. Suddenly, all the field names were lowercase. So instead of
ID, it turned into
id. Incredibly subtle change when you’re looking over your code trying to figure out what’s wrong.
In order to prevent future cases like these with subtle changes being made, I am asking for some kind of change logs be implemented so we can see what is changing about API endpoints so library developers can quickly update their libraries without having to spend hours trying to figure out what slight change occurred. If this issue is addressed, it would not only improve my development experience but those of others as well as there will be less worries about broken code due to random changes to Roblox’s API.