A two-hour WP REST API team meeting on Slack ended yesterday with the devs at a standstill and the API delayed.
The group had gathered to discuss the existing post, term, user, and comment endpoints. The team is investigating handling these issues in a plugin instead of delaying the merge with the core. The biggest issues with these four items are password-protected posts, autosaves, and meta handling.
At the end of September, Ryan McCue announced the merge proposal for the API, saying the infrastructure will be merged with 4.4, which it has been, and the endpoints will be taken care of for 4.5. However, some core contributors, including Matt Mullenweg, raised concerns about the REST API’s readiness during yesterday’s meeting.
“It’s good to have a complete API design before crystalizing parts of it by shipping in core, which ties our hands a lot, even with versioning,” Mullenweg said in the meeting.
Other contributors pointed out that the API is made to be enhanced and changed over time, much like WordPress itself, and that waiting for something that is 100 percent complete is limiting and won’t work.
“There is no such thing as a complete API though, as WP will have new features in the future, we’ll always be adding stuff,” said McCue.
Drew Jaynes, core developer, added that there can’t be a complete implementation, so the team should decide on what feels like a “solid base” before making further decisions. But Mullenweg stuck to his guns, saying he is uncomfortable adding “a partial API to the core,” noting that adoption is taking longer than he expected.
Aaron Jorbin, CTO of Happytables, suggested the team define what “ready” means for each of the four core objects before deciding how to move forward. Jorbin noted that right now they don’t allow for full wp-admin replacements. Other team members countered that argument, saying full admin replacement capability is unrealistic.
The conversation then ground to a standstill. Most agreed that locking in the endpoints before merging is the best course of action, but struggled to define at what stage those endpoints are ready for inclusion. An agreement has not yet been reached.