Skip to main content

FDM Monster release 2.0.0

· 5 min read
David Zwart
Founder / Lead Developer

Version 2.0.0 of FDM Monster has been released! This is a major milestone bringing a completely redesigned UI, streamlined architecture, and powerful new features for managing your 3D print farm.

Highlights​

This major release represents a significant evolution of FDM Monster with breaking changes and exciting new capabilities:

Major Changes:

  • Brand New UI - Complete redesign with fdm-monster-client-next v2.0.0
  • SQLite Only - MongoDB support removed for simplified setup and maintenance
  • API v2 - New API endpoint structure at /api/v2
  • Print Queue System - Manage and schedule multiple print jobs
  • File Analysis - Advanced gcode analysis and metadata extraction
  • Swagger/OpenAPI - Interactive API documentation built-in
  • Slicer Integration - Direct upload from your slicer software

Breaking Changes​

MongoDB Support Removed​

FDM Monster 2.0.0 removes MongoDB support entirely. All installations now use SQLite as the built-in database. This change brings several benefits:

  • Simplified setup - No need to install or manage a separate database server
  • Better performance - SQLite provides excellent performance for FDM Monster's use case
  • Easier backups - Your entire database is a single file
  • Lower resource usage - Reduced memory and CPU overhead

Migration: If you're running FDM Monster 1.x with MongoDB, use the YAML export feature to backup your printers and settings, then import them after upgrading to 2.0.0.

New API Endpoint Structure​

The API has been restructured to /api/v2. This provides a clean slate for future API evolution while maintaining stability.

New Features​

Complete UI Redesign​

FDM Monster Client Next brings a modern, responsive interface with improved usability and new features. The redesign focuses on:

  • Enhanced printer grid layouts
  • Better mobile support
  • Improved navigation
  • More intuitive workflows
  • Faster load times

See the full client release notes for details.

The new queue system allows you to:

  • Schedule multiple print jobs per printer
  • Automatically start the next job when one completes
  • Manage queue priorities
  • View queue status across all printers

File Analysis​

Advanced file analysis provides:

  • Automatic gcode metadata extraction
  • Estimated print time and material usage
  • Thumbnail generation support
  • File compatibility checking

Slicer Integration API​

Upload directly from your slicer software with the new slicer API:

  • Direct integration with popular slicers
  • Automatic printer selection
  • Print start control
  • Progress tracking

Swagger/OpenAPI Documentation​

Built-in API documentation accessible at /swagger:

  • Interactive API testing
  • Complete endpoint documentation
  • Schema definitions
  • Request/response examples

Configure with environment variables:

  • DISABLE_SWAGGER_OPENAPI - Disable Swagger UI (default: false)
  • GENERATE_SWAGGER_JSON - Generate swagger.json file (default: false)

Tag Colors​

Organize your printers better with colored tags:

  • Visual categorization
  • Quick identification
  • Customizable colors
  • Filter by tag

Track your print jobs with detailed history:

  • Keep records of all completed prints
  • See which prints succeeded or failed
  • Monitor material usage over time
  • Track how long each print took

Improvements and Fixes​

Stability Improvements​

  • BambuLab connection rejections can no longer cause server crashes
  • Camera entity properly handles printer deletion with SET NULL foreign key
  • ExceptionFilter now uses loggerFactory for better error logging
  • YAML import service more robust against printer type failures

Performance Enhancements​

  • Printer files load in background instead of synchronously
  • Better resource management
  • Optimized WebSocket connections
  • Reduced memory footprint

Bug Fixes​

  • Floor service position updates now work correctly (fixed x==x, y==x comparison)
  • Quick stop API endpoint moved to printer controller
  • File uploads now go to media/file-uploads instead of media
  • First-time-setup API filter now allows Swagger endpoints
  • Floor order changes properly implemented in API service
  • Fixed all TypeScript strict null check issues

Removed Features​

The following experimental or unused features were removed:

  • MongoDB support (breaking change)
  • Experimental thumbnail support (will be redesigned)
  • Custom Gcode table (unused)
  • PrintCompletion table (broken, replaced by PrintJob)
  • Client next experimental setting (now default)
  • Batch/single gcode analysis toggle

Technical Changes​

Architecture​

  • Role system reimplemented based on RoleName
  • Permission system cleaned up and unused permissions removed
  • Key-diff cache now uses Map instead of Object
  • PrinterGroup renamed to PrinterTag for clarity

Developer Experience​

  • Complete TypeScript strict null checks
  • Improved dependency injection
  • Better code organization
  • Comprehensive API documentation

Upgrading to 2.0.0​

Docker / Docker Compose​

Update your image tag:

services:
fdm-monster:
image: fdmmonster/fdm-monster:2

Then pull and restart:

docker-compose pull && docker-compose up -d

Linux One-Click Install​

Use the upgrade command:

fdmm upgrade

Your data is automatically preserved during the upgrade.

MongoDB to SQLite Migration​

  1. Export your data from FDM Monster 1.x:

    • Go to Settings → Import/Export
    • Export YAML file with all printers, floors, and settings
  2. Upgrade to FDM Monster 2.0.0

  3. Import your data:

    • Go to Settings → Import/Export
    • Import the YAML file from step 1

See our YAML Import/Export guide for details.

What's Next​

FDM Monster 2.0.0 lays the foundation for exciting features planned for future releases:

  • Enhanced BambuLab support (currently work in progress)
  • Advanced queue management features
  • Improved file analysis and thumbnails
  • More printer firmware integrations
  • Enhanced monitoring and alerting

Issues and Feedback​

If you encounter issues with this release, please:

Contributors​

This major release was made possible thanks to the FDM Monster team and the entire community.

Special thanks to all community members who:

  • Tested release candidates
  • Provided feedback on the new UI
  • Reported bugs and issues
  • Contributed to discussions and planning

Full details of what has been included can be found in the release notes.


Welcome to FDM Monster 2.0 - the future of 3D print farm management! 🚀