github manyfold3d/manyfold v0.133.0

8 hours ago

This is a big one! At long last, Manyfold can now create static image previews of your 3D models thanks to our new friends at F3D, so you can see exactly what you've got without having to load the whole model - but of course, you can still click to load the real thing.

Screen.Recording.2026-02-24.at.15.24.57.mov

This features is disabled by default, but you can turn it on in the "File Derivatives" settings area. It will start generating images straight away. Beware though, it will use up some disk space, and for large libraries, it will take a while to complete!

There are a couple of high-priority security fixes in this release. The first is a rare problem with session leakage when using an intervening cache, in particular Nginx Proxy Manager. The other was potentially more serious, but was only in unreleased code for a few days, so unless you run edge you couldn't have been affected.

We've also got bugfixes for permission editing, sensitive content display, and a few behind-the-scenes issues.

What's Changed

✨ New Features ✨

  • Render static 3D preview images using F3D by @Floppy in #5438
  • Add "jobs unlock" CLI command to remove stale background job locks by @Floppy in #5511

🔒 Security 🔒

  • Don't set session cookies on indexed asset requests by @Floppy in #5503
  • Fix potential shell expansion exploit in f3d rendering by @Floppy in #5515

🐛 Bug Fixes 🐛

  • Fix logging in development and in background workers by @Floppy in #5482
  • FIx small bug in collection preview box sensitive content check by @Floppy in #5490
  • Fix performance of mime type fix job by @Floppy in #5509
  • Unlock iteration jobs when they're interrupted, so they can be requeued by @Floppy in #5524
  • Don't mark models as updated when generating file derivatives by @Floppy in #4886
  • Fix editing and removal of existing permissions by @Floppy in #5469

🔋 Sustainability & Performance 🔋

  • Calculate digest in chunks to reduce memory usage by @Floppy in #5522

🌍 Internationalization 🌏

🛠️ Other Improvements 🛠️

  • DRY up Dockerfile APK installs by @Floppy in #5472
  • Add alternative vendor MIME types as used by f3d by @Floppy in #5478
  • Automatically create derivatives on file promotion by @Floppy in #5479
  • Show pre-rendered derivatives for models if available by @Floppy in #5480
  • Adjust camera parameters to match up better to new renderer by @Floppy in #5481
  • Add F3D and required packages to Docker images by @Floppy in #5493
  • Improve image derivatives by @Floppy in #5494
  • Refactor image backfill for reuse by @Floppy in #5495
  • Test that derivatives forms trigger background jobs correctly by @Floppy in #5501
  • Fix mime types by @Floppy in #5502
  • Set XDG_CACHE_HOME in docker image for F3D cache data by @Floppy in #5512
  • Add progress messages to image and model backfill jobs by @Floppy in #5513
  • Set sensible length for file deduplication suffix by @Floppy in #5523
  • Test for CLI tool availability by @Floppy in #5525
  • Regenerate derivatives if axis is changed by @Floppy in #5527
  • Don't show FASP lifecycle jobs in the activity list by @Floppy in #5552
  • Refresh derivatives when files are moved by @Floppy in #5555

Full Changelog: v0.132.1...v0.133.0

Don't miss a new manyfold release

NewReleases is sending notifications on new releases.