Update: We are pushing back the original dates listed in this post by two weeks. We will be setting all apps to “current” mode on March 27th. We will be sunsetting all existing migrations on April 3rd.
Although most of our API development effort is focused on delivering new functionality, over the last few months we’ve made a number of tweaks to the existing behavior of the API. Our strategy for making incremental changes to existing functionality in the API without breaking apps is to use migrations. Migrations allow us to introduce new behavior while allowing existing apps to operate in “legacy” mode until they’ve had a chance to update their code.
We currently have four active migrations, three of which have been active since September. These migrations are simple changes to the API and we want to get everyone up-to-date so we can reduce documentation complexity, bugs, etc. To move things along, we will be sunsetting our existing migrations on March 20th April 3rd.
This will be our first time sunsetting any migrations (and there will be new ones in the future) so we want to make sure it goes smoothly for everyone. On March 13th 27th, a week before we sunset the existing migrations (and one month from today), we will set all apps to use “current” mode for all migrations. You will still be able to set these back to “legacy” mode if anything breaks. You can check and adjust the current migration settings for your apps here. Please also check for any instances where you have overridden migration settings on a per-call basis. If all your migrations are already set to “current” and you’re not overriding anything on a per-call basis you do not need to make any changes to your code.
The following is the complete list of existing migrations, along with examples so you can review and make sure your code is good to go:
Response envelope migration - all responses are returned in a response envelope with “data” and “meta” fields.
| Legacy | Current |
|---|---|
|
|
Pagination IDs migration – max_id / min_id are always returned as strings rather than ints.
| Legacy | Current |
|---|---|
|
|
Follow pagination migration – follower / following user lists are always paginated.
| Legacy | Current |
|---|---|
|
|
Disable min/max id migration – when using pagination to request posts, pass since_id or before_id. Note also that the legacy response would include the post matching the supplied id, but the current response does not.
| Legacy | Current |
|---|---|
|
|
If you have any questions please contact @orian or join the developer channel.




