Releases: manyfold3d/manyfold
v0.109.2
We had a bug with saving user preferences in the last release, due to a dependency upgrade. We should have caught it, but it slipped by us. It's now fixed, but unfortunately if you experienced the bug, your preferences will be set back to the defaults; fortunately that's just user-level things though, like problem severities, and various display options like renderer, pagination, and tag cloud. Sorry for the inconvenience!
What's Changed
🐛 Bug Fixes 🐛
🛠️ Other Improvements 🛠️
- Remove no longer needed allow_api_access method by @Floppy in #4101
- Improve download creation process by @Floppy in #4102
Full Changelog: v0.109.1...v0.109.2
v0.109.1
A small release, mainly to fix a performance issue with large creator and collection lists.
What's Changed
🌍 Sustainability & Performance 🌍
🛠️ Other Improvements 🛠️
- Refactor API authentication into Warden strategy by @Floppy in #4079
- Add Tus upload API documentation and OAuth scope by @Floppy in #4095
Full Changelog: v0.109.0...v0.109.1
v0.109.0
Some new features for admins in this release, and some metadata parse and import improvements!
There is now a bin/manyfold
command that can do various admin tasks, like cleaning up incorrect data; the Advanced Tasks page on the website explains how to use it. You can now also set an upload quota for accounts, handy if you're running a public instance. You can set a site-wide default, then override it for each account individually.
Metdata parsing has been improved and made more reliable; "rescan all models" in the menu and "rescan all files" in a single model both now do the same thing, and will re-parse metadata from path templates and other sources. A new source for metadata is README files; they're now read into the model description automatically, but if it's a Thingiverse-formatted README, we also automatically try to set creator, title, and license.
What's Changed
✨ New Features ✨
- Add bin/manyfold management tool for advanced tasks by @Floppy in #4039
- Add CLI command to rerun metadata parsing by @Floppy in #4042
- User quota feature by @matthewbadeau in #3961
- Import notes from "README" files by @Floppy in #4058
- Change "rescan all models" scan so that it re-parses metadata as well as checking problems by @Floppy in #4060
- Parse metadata out of Thingiverse README files by @Floppy in #4066
🔒 Security 🔒
🐛 Bug Fixes 🐛
- Fixes multiple successive downloads race condition by @matthewbadeau in #4029
- Fix dev environment loop by @matthewbadeau in #4053
- Reject self links in datapackage parsing by @Floppy in #4067
- Fix ASCII conversion error when parsing READMEs by @Floppy in #4068
- Fix some unassigned preview files by @Floppy in #4069
- Ensure links are unique for each linkable object, plus a "manyfold links deduplicate" admin task by @Floppy in #4075
- Don't write datapackages if model didn't change by @Floppy in #4076
- Fix link duplicate detection on PostgreSQL by @Floppy in #4078
- Reject empty urls in links by @Floppy in #4085
- Don't update model file records unnecessarily by @Floppy in #4087
🛠️ Other Improvements 🛠️
- Add logo.png to repo root by @matthewbadeau in #4038
- Add allowed option values for "problems purge" command by @Floppy in #4041
- Add user and email commands to Manyfold CLI by @matthewbadeau in #4047
- Removes deprecated devise sign_in bypass method by @matthewbadeau in #4059
- Better navbar behaviour on medium-width screens by @Floppy in #4061
- Make sign in button more obvious by @Floppy in #4062
- add FEDERATION.md by @Floppy in #4063
- Restyle sign in process to make it cleaner and more obvious by @Floppy in #4064
- Update english translations to consistently refer to "accounts" instead of "users" by @Floppy in #4086
Full Changelog: v0.108.1...v0.109.0
v0.108.1
We've taken a few days to squash some bugs, so hopefully you'll get a smoother Manyfold experience!
What's Changed
🐛 Bug Fixes 🐛
- Fix automatic application of "new" tag by @Floppy in #3994
- Fix 404 bug clicking "new collection" from upload or edit form by @Floppy in #3995
- Restrict preview file selection to only image or renderable 3d files by @Floppy in #3996
- Change to Github Flavoured Markdown parser by @Floppy in #3997
- Allow re-parsing of data when a creator is set, without overwriting it by @Floppy in #4008
- Fix problem not saving file ignore regexes by @Floppy in #4009
- Deduplicate links when loading metadata from datapackages by @Floppy in #4010
- Ensure no null data is written when parsing metadata by @Floppy in #4012
- Preserve file created/modified times during upload and download by @Floppy in #4011
- Fix ignored file regex input, and improve some help text by @Floppy in #4016
- Fail safely when parsing metadata if datapackage file is missing by @Floppy in #4018
- Prevent the creation of libraries inside other library folders by @Floppy in #4019
- Fix carousel pause button by @Floppy in #4020
- Fix inconsequential but annoying analyse job errors by @Floppy in #4024
🛠️ Other Improvements 🛠️
- Add help text to indicate that s3 endpoint needs complete URL, including scheme by @Floppy in #3998
- Adds default values for missing translations in links by @matthewbadeau in #4013
- Improve job documentation by @Floppy in #4014
- Add a few sites to the translations to retain their naming style by @matthewbadeau in #4015
- Add FUNDING.yml file with opencollective link by @Floppy in #4021
- Translation updates by @Floppy in #4022
- Change code coverage to use Codacy instead of CodeClimate by @Floppy in #4023
Full Changelog: v0.108.0...v0.108.1
v0.108.0
This 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 💥
✨ 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
v0.107.0
This release adds some handy new features. First, Manyfold now imports metadata from a datapackage.json file, both on upload and scan. One thing this means is that if you lose your database, you should be able to recover most of your data from the files that are stored on disk along with the models! The other big thing is that now we have API authentication using OAuth; you can create a set of OAuth application credentials, and then use them to access private data using the existing read APIs.
We've also got a new social following page, support for federated unfollows and deletes, support for opening in ElegooSlicer and SuperSlicer, support for HFP and SLDPRT, a new theme, and the usual pile of bugfixes and minor improvements.
What's Changed
✨ New Features ✨
- Add following/follower lists by @Floppy in #3900
- Add support for
hfp
format of Hue Forge by @SaraVieira in #3908 - Add "open in Elegoo Slicer" by @TheMBeat in #3906
- Add extensions to DataPackage for Manyfold-specific data by @Floppy in #3923
- Use metadata from datapackages, both on upload and on scan by @Floppy in #3918
- Open in Superslicer by @Floppy in #3925
- Add delete button on image carousel by @Floppy in #3928
- Added "Brite" theme by @Floppy in #3949
- Add API authentication using OAuth2 Client Credentials flow by @Floppy in #3951
- Add .sldprt file handling by @Floppy in #3953
🐛 Bug Fixes 🐛
- Fix federated unfollowing by @Floppy in #3898
- Remove unused translations from non-en languages by @Floppy in #3901
- Fix actor upgrade job by @Floppy in #3947
- Fix some problems with actor database inconsistency by @Floppy in #3960
🛠️ Other Improvements 🛠️
- Refactor scanning jobs to make them easier to understand and navigate by @Floppy in #3907
- Refactor metadata parsing in preparation for datapackage parsing by @Floppy in #3909
- Added README doc for background job dependencies by @Floppy in #3914
- Add datapackage deserializer by @Floppy in #3916
- Add datapackage files when scanning disk by @Floppy in #3917
- Decrease upload chunk size to 1M to match nginx default by @Floppy in #3922
- Set model updated time when files are updated by @Floppy in #3892
- Updates tag cloud sorting setting and adds translation for form field by @matthewbadeau in #3927
- Removes trailing and leading backslashes from tags by @matthewbadeau in #3926
- Federails 0.6: ActivityPub "Delete" activities, unfollowing, and more improvements. by @Floppy in #3944
- Upgrade jobs no longer run as part of rails console init by @matthewbadeau in #3948
- Remove ability to generate long-lived bearer tokens by @Floppy in #3952
- add MANYFOLD_LOG_LEVEL env var to control log verbosity by @Floppy in #3959
New Contributors
- @SaraVieira made their first contribution in #3908
Full Changelog: v0.106.0...v0.107.0
v0.106.0
There's a HUGE changelist in this release, because we've spent some time on a whole load of features for people running public servers as well as the usual collection of bugfixes and minor improvements.
All the appearance and customisation options are now built in to the settings pages, so the old SITE_NAME environment variables have gone away; you can also open and close signups from within settings. There's a new about page, a place to specify server rules and a donation link, and a change to how site statistics are displayed which makes more sense for big instances. Add on email notifications, editable fediverse usernames, and the list gets pretty huge!
We also have a brand new translation into Czech, courtesy of @ichlubna, bringing us to 6 languages now!
There's quite a big UI change though - you may notice that libraries have disappeared. We found that in general people don't use them for organisation, and on public instances they're confusing, so we've hidden them away by default. Now they're really just a way to configure storage locations. You can set default library for uploads, and admins can still move models between libraries. Don't worry though, if you want it back how it was before, you can enable the previous behaviour in the site appearance settings.
What's Changed
💥 Breaking Changes 💥
- Hide libraries by default, with admin option to show them again by @Floppy in #3848
- Require moderator approval for signups by default by @Floppy in #3860
✨ New Features ✨
- Change user fediverse handles to editable username by @Floppy in #3839
- Add editing for creator slugs (aka fedi usernames) by @Floppy in #3844
- Add setting for default library, used when uploading by @Floppy in #3846
- Hide "unassigned" creator/collection if empty by @Floppy in #3852
- Send email to moderators when new accounts are created and need approval by @Floppy in #3853
- Send notifications to moderators when a new report is received by @Floppy in #3862
- Change "enable signup" environment setting into a settings page option by @Floppy in #3865
- Move site name, icon, and tagline into site settings appearance page by @Floppy in #3867
- Add server rules to site settings, with markdown support and automatically shown at signup by @Floppy in #3868
- Add customisable "about" page for specific instance by @Floppy in #3871
- Add setting for an instance-specific financial support link by @Floppy in #3874
- Czech translation by @Floppy in #3882
- Show follower counts for Models, Creators and Collections by @Floppy in #388 8000 7
🐛 Bug Fixes 🐛
- Ignore self in multimodel uniqueness check by @Floppy in #3838
- Remove punctuation that breaks links in mailers by @Floppy in #3854
- Fix signup validation failure bug by @Floppy in #3859
- Don't include "JSON files only" as a download option by @Floppy in #3880
- Remove debug output that was accidentally left in by @Floppy in #3883
- Don't store incoming activities by @Floppy in #3889
🛠️ Other Improvements 🛠️
- Add custom validator for checking uniqueness across different tables by @Floppy in #3837
- Disambiguate usernames on startup by @Floppy in #3845
- Improve wording for Creator slug/handle/username edit box by @Floppy in #3847
- Enable cs locale (Czech) on translation.io by @Floppy in #3863
- Remove statistics from footer, and move to admin area by @Floppy in #3872
- Reorganised footer with local instance links by @Floppy in #3873
- Only show version in footer to administrators by @Floppy in #3879
- Translation updates for DE, ES, & PL by @Floppy in #3881
- Reimplement timeline without using Federails Activities by @Floppy in #3891
Full Changelog: v0.105.0...v0.106.0
v0.105.0
This release sees the first proper API endpoints for public models, creators and collections. It's a pretty standard JSON-LD REST API, and should be considered version zero; it will definitely change over time, but we're excited to see what can be done with it! Full documentation is at /api
on every instance (including on Try Manyfold), and is linked in the site footer.
Authenticated access tokens for accessing private data will be coming soon, followed by being able to edit data and upload content.
What's Changed
✨ New Features ✨
- Added API responses for public models, collections, and creators by @Floppy in #3800
- Add license details to model and file APIs by @Floppy in #3814
- API improvements, linking resources together and improving JSON-LD by @Floppy in #3824
🐛 Bug Fixes 🐛
- Ignore datapackage.json when generating filesystem change lists by @Floppy in #3828
- Fix extra slash on rpg-awesome path by @amethystdragon in #3827
🛠️ Other Improvements 🛠️
- Improvements to testing across single/multi user by @Floppy in #3806
- Add icons to "open in slicer" menu options by @Floppy in #3815
New Contributors
- @amethystdragon made their first contribution in #3827
Full Changelog: v0.104.1...v0.105.0
v0.104.1
v0.104.0
This release makes it easier to include content from Manyfold elsewhere on the web, by adding support for the oEmbed standard. On many blog platforms, you should now be able to just paste in a public model, creator or collection URL, and get a nice preview. If the platform you're using allows it, you might even get a proper 3D view if you've got a model selected as the preview file!
We've also got two long-requested features for you; deleting libraries (finally), and the ability to open a file directly in your slicer. Currently OrcaSlicer and Cura are supported, but we will add more in future when we can! We could do PrusaSlicer and Bambu Studio as well, but they will only open files from Printables or Makerworld respectively; perhaps in time we can convince them to open that up a bit.
What's Changed
✨ New Features ✨
- OEmbed support for model URLs by @Floppy in #3740
- Delete library button added to library settings by @matthewbadeau in #3627
- Download straight into slicers from model detail page by @Floppy in #3779
- Add dropdown menu for files including "open in slicer" actions by @Floppy in #3791
🐛 Bug Fixes 🐛
- Make file removal safer by @Floppy in #3786
- Fix foreign key errors by removing default scope on files by @Floppy in #3790
- Absorb shrine error after library deletion by @Floppy in #3793
🛠️ Other Improvements 🛠️
- Add oEmbed autodiscovery tags for creators and collections by @Floppy in #3764
- Improve access tests by @Floppy in #3763
- Signed download URLs for model files by @Floppy in #3778
- Ensure that library deletion doesn't remove files on disk by @Floppy in #3789
- Change rubocop includes to plugins by @Floppy in #3792
Full Changelog: v0.103.2...v0.104.0