Manyfold
Self-hosted digital asset manager for 3D print files
Alternative to: thingiverse, myminifactory, cults3d
v0.108.0
2025-04-15This 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 https://github.com/manyfold3d/manyfold/pull/3975
✨ New Features ✨
- Delete API for Creators, Collection, Models, and Files by @Floppy in https://github.com/manyfold3d/manyfold/pull/3968
- Create and edit creators and collections via API by @Floppy in https://github.com/manyfold3d/manyfold/pull/3978
- Edit models and file metadata via API by @Floppy in https://github.com/manyfold3d/manyfold/pull/3979
- Add remaining creator, collection, model and file fields to API by @Floppy in https://github.com/manyfold3d/manyfold/pull/3988
- Add scope selection to OAuth app UI by @Floppy in https://github.com/manyfold3d/manyfold/pull/3991
🔒 Security 🔒
- Doorkeeper configuration improvements by @Floppy in https://github.com/manyfold3d/manyfold/pull/3967
- Add support for enforcing scopes on API calls by @Floppy in https://github.com/manyfold3d/manyfold/pull/3970
🛠️ Other Improvements 🛠️
- Refactor: add :after_first_run metadata for test setup by @Floppy in https://github.com/manyfold3d/manyfold/pull/3966
- Add Rswag configuration to code linter by @Floppy in https://github.com/manyfold3d/manyfold/pull/3972
- Add tests for public vs read scope on lists by @Floppy in https://github.com/manyfold3d/manyfold/pull/3976
- Skip CSRF protection on API requests by @Floppy in https://github.com/manyfold3d/manyfold/pull/3977
- Refactor form parameters into deserializer objects by @Floppy in https://github.com/manyfold3d/manyfold/pull/3982
- Add support to generate screenshots for documentation in specs by @mtancoigne in https://github.com/manyfold3d/manyfold/pull/3981
- Refactor API schema code by @Floppy in https://github.com/manyfold3d/manyfold/pull/3987
- Check that JSON-LD responses produce valid RDF by @Floppy in https://github.com/manyfold3d/manyfold/pull/3990
- Remove unused doorkeeper translation file by @Floppy in https://github.com/manyfold3d/manyfold/pull/3992
Full Changelog: https://github.com/manyfold3d/manyfold/compare/v0.107.0…v0.108.0