CI Report:
https://ci-tests.linuxserver.io/linuxserver/manyfold/v0.110.0-ls79/index.html
LinuxServer Changes:
Rebase to Alpine 3.21.
Remote Changes:
Because of some medical issues (don't get old, folks), it's been an unusually long time between releases. But, that just means that this is a big one! And oh boy, it's a big one.
Downloads
First off, we've got improvements to downloads; you now get a visual hint that your download zipfile will need to be created, and when you click, it'll update the button state when it's ready. There are also options for site admins to proactively create ZIP downloads and set how long they're kept; if you're running a site with lots of downloading, you might want them instantly available, at the cost of disk space of course!
Faster page loading
Next, we've got some new client-side technology that enables the live updates; using Hotwire, using your instance should now feel much faster, and act more like a client-side app. That also means that you'll see updates to models live as they happen; if you rescan, or upload some files, they'll appear in the page without you having to reload.
New "original" rendering mode
Manyfold is seeing use not just in 3D printing, but in the game development world, and in that case, showing an untextured model isn't really right. Our new "original" rendering mode uses the textures and materials from the file itself, so complex formats like glTF, FBX, and more, will show the model as it really should look, while falling back to the usual preferences for models that don't have any of that stuff. This also comes with indexing of .bin files for glTF, and preview rendering for DRACO, FBX, and 3DS.
GCODE previews
Rest assured we've not forgotten about print though; we've also added rendering for GCode files!
Better search
Finally, there's a whole new search syntax, with powerful boolean operations, the ability to search specific fields, and more. Under the search box you'll see a new "search syntax" link, which will bring up a help box that explains it all. Search now also includes model descriptions and captions, and even filenames!
What's Changed
✨ New Features ✨
- Show download readiness state on download buttons by @Floppy in manyfold3d/manyfold#4121
- Add options to admin UI for pregenerating downloads, and how long to keep them. by @Floppy in manyfold3d/manyfold#4126
- Add file URLs that include the original filename by @Floppy in manyfold3d/manyfold#4151
- Add support for .bin files (just as basic octet streams) by @Floppy in manyfold3d/manyfold#4153
- Add setting to render the actual materials defined in a file by @Floppy in manyfold3d/manyfold#4152
- Show filename on cards in model view by @Floppy in manyfold3d/manyfold#4158
- DRACO compression support for loading glTF files by @Floppy in manyfold3d/manyfold#4159
- Index and render DRACO drc files by @Floppy in manyfold3d/manyfold#4160
- Add render support for 3DS, FBX and GCode files by @Floppy in manyfold3d/manyfold#4162
- Automatically refresh model page when download becomes ready by @Floppy in manyfold3d/manyfold#4164
- More powerful search syntax by @Floppy in manyfold3d/manyfold#4177
- Match model notes and captions in searches by @Floppy in manyfold3d/manyfold#4179
- Match model filenames for search by @Floppy in manyfold3d/manyfold#4181
- Add search syntax help modal by @Floppy in manyfold3d/manyfold#4186
🐛 Bug Fixes 🐛
- Fx potential nil error in ArchiveDownloadService by @Floppy in manyfold3d/manyfold#4120
- Fix links in creator and collection cards by @Floppy in manyfold3d/manyfold#4130
- Adjust CSP to allow the turbo progress bar to be displayed by @Floppy in manyfold3d/manyfold#4133
- Various UI fixes for Turbo by @Floppy in manyfold3d/manyfold#4139
- Fix upload initialization under Turbo by @Floppy in manyfold3d/manyfold#4145
- Fix relative-path asset loading by @Floppy in manyfold3d/manyfold#4155
- Fix bin file indexing by @Floppy in manyfold3d/manyfold#4154
- Fix loading by filename by @Floppy in manyfold3d/manyfold#4161
- Ensure special characters work in searches by @Floppy in manyfold3d/manyfold#4173
- Use DISTINCT ON for joining tables during search on PostgreSQL by @Floppy in manyfold3d/manyfold#4189
- Fix where clause in ModelSearchService on postgres by @Floppy in manyfold3d/manyfold#4191
- Reconnect tag select UI on morph by @Floppy in manyfold3d/manyfold#4194
- Fix random search test failure caused by fake captions by @Floppy in manyfold3d/manyfold#4201
🌍 Sustainability & Performance 🌍
- Enhanced page performance using Turbo page morphing by @Floppy in manyfold3d/manyfold#4131
- Live refreshing for model, file, creator and collection pages using Turbo by @Floppy in manyfold3d/manyfold#4132
🛠️ Other Improvements 🛠️
- Change from ViewComponents to Phlex by @Floppy in manyfold3d/manyfold#4119
- Move download archive creation into background job by @Floppy in manyfold3d/manyfold#4122
- Reorganise queues by priority by @Floppy in manyfold3d/manyfold#4127
- Remove unnecessary explicit render? check for phlex components by @Floppy in manyfold3d/manyfold#4140
- Add a helper for rendering collections of Phlex components by @Floppy in manyfold3d/manyfold#4144
- Complete refactoring of frontend code to use Stimulus controllers by @Floppy in manyfold3d/manyfold#4150
- Set turbo stream priority to critical by @Floppy in manyfold3d/manyfold#4156
- Automatically find new files in subfolders on model check if there aren't any nested models by @Floppy in manyfold3d/manyfold#4157
- Better search query parsing, including "quoted terms for multiword matching" by @Floppy in manyfold3d/manyfold#4169
- Minor search refactoring by @Floppy in manyfold3d/manyfold#4175
- Remove direct dependency on ransack by @Floppy in manyfold3d/manyfold#4182
- Remove parslet-based search syntax by @Floppy in manyfold3d/manyfold#4183
- Alias "notes" internal field to "description" in search to match UI by @Floppy in manyfold3d/manyfold#4187
- Display error if search syntax was bad by @Floppy in manyfold3d/manyfold#4188
- Add Fediverse search syntax to help modal by @Floppy in manyfold3d/manyfold#4200
Full Changelog: manyfold3d/manyfold@v0.109.2...v0.110.0