What happened since last month? In a nutshell:
- 2.0 & 2.1 released 🙂
- Usage continues to rise: ~400 → ~1700 sites, 50% of those on 2.0 1
- Gabe proposed JSON:API profiles for versioning/revisions and multiple-arity relationships, to take advantage of the upcoming 1.1 version of the spec
- New core patch to bring JSON:API to Drupal core: #2843147-101
- Several refactors of internals 2 that pave the path for hypermedia links and partial caching
- JSON:API Extras is kept in sync — about 300 of you use that with JSON:API 2.x.
Work-arounds for two very common use cases are no longer necessary: decoupled UIs that are capable of previews and image uploads3.
- File uploads work similarly to Drupal core’s file uploads in the REST module, with the exception that a simpler developer experience is available when uploading files to an entity that already exists.
- Revision support is for now limited to retrieving the working copy of an entity using
?resourceVersion=rel:working-copy. This enables the use case we hear about the most: previewing draft
Nodes. 4Browsing all revisions is not yet possible due to missing infrastructure in Drupal core. With this, JSON:API leaps ahead of core’s REST API.
Please share your experience with using the JSON:API module!
Note that usage statistics on drupal.org are an underestimation! Any site can opt out from reporting back, and composer-based installs don’t report back by default. ↩︎
Mediaentities are supported, since other entity types don’t have standardized revision access control. ↩︎