Release v0.108.0
15 April 2025This release is all about the API! We’ve had a read-only API for a few releases now, but this release brings the ability to update and create data as well.
First, you’ll need to create an OAuth application in the settings area, with the appropriate scopes. You can then use it to create, edit and delete all the basic data for creators and collections, and update metadata for models and files. That means that, for instance, you could write a script to import data from another hosting site. The best way to explore the API is to try it live from the API documentation; just click “Authorise” and paste in your app credentials!
There are a few things that aren’t in there yet; problems, permissions, admin capabilities, and you can’t yet upload new files, but all that will be coming in future releases, so stay tuned!
What’s Changed
💥 Breaking Changes 💥
- Change API to use vendor-specific content type, including version by @Floppy in #3975
✨ New Features ✨
- Delete API for Creators, Collection, Models, and Files by @Floppy in #3968
- Create and edit creators and collections via API by @Floppy in #3978
- Edit models and file metadata via API by @Floppy in #3979
- Add remaining creator, collection, model and file fields to API by @Floppy in #3988
- Add scope selection to OAuth app UI by @Floppy in #3991
🔒 Security 🔒
- Doorkeeper configuration improvements by @Floppy in #3967
- Add support for enforcing scopes on API calls by @Floppy in #3970
🛠️ Other Improvements 🛠️
- Refactor: add :after_first_run metadata for test setup by @Floppy in #3966
- Add Rswag configuration to code linter by @Floppy in #3972
- Add tests for public vs read scope on lists by @Floppy in #3976
- Skip CSRF protection on API requests by @Floppy in #3977
- Refactor form parameters into deserializer objects by @Floppy in #3982
- Add support to generate screenshots for documentation in specs by @mtancoigne in #3981
- Refactor API schema code by @Floppy in #3987
- Check that JSON-LD responses produce valid RDF by @Floppy in #3990
- Remove unused doorkeeper translation file by @Floppy in #3992
Full Changelog: v0.107.0…v0.108.0
See the original release on GitHub: v0.108.0