Skip to content

Releases: Aptimex/QRSpool

v0.7.0 Tag Builder

Choose a tag to compare

@Aptimex Aptimex released this 29 Aug 21:38
63a495e

New Features

Added a Tag Builder page (click the dropdown in the top nav bar) for easily generating both 3D-printable QR codes and NFC tags (including native write support on Android+Chrome).

Server Changes

No server changes for this release.

Future Plans

This is probably the last release for QRSpool.com that will support servers still running release 0.5.0 and below. Please update those ASAP to get important API bug fixes that will be required for future frontend changes.

The next release will hopefully be a major server overhaul that provides much better support for Bambu printers on newer firmwares.

v0.6.0 Multi-Printer and LAN+DEV Mode Support

Choose a tag to compare

@Aptimex Aptimex released this 09 May 21:13
8a23e31

New Features

This is a big update. The backend server and frontend have been updated with multi-printer support and support for printers that use the newer LAN+DEV protocol mode.

Multi-Printer Support

The server now supports managing multiple Bambu printers from a single instance. Configure them in configs/bambu_config.json (see bambu_config.example.json). The client shows a printer selector dropdown at the top of the Scan and Apply pages when multiple printers are configured.

Config File Changes

Replaced the Python bambu_config.py with a more versatile bambu_config.json file. The code falls back to the legacy Python config if the JSON file is not found, to provide temporary backwards-compatibility. This behavior will be removed in the future. Please update your configs to use the new JSON file to avoid future issues.

Experimental LAN+DEV Mode Support

I couldn't find any existing libraries that support the LAN Only + Developer (LAN+DEV) mode that allows 3rd-party communication with newer printers/firmwares (with Bambu's new "security" restrictions). So I attempted to implement my own code for that. This is highly experimental, please report any issues you have with it. You MUST specify "new_dev_mode": true in the bambu_config.json file for printers that use this mode. Old printers using the legacy LAN-Only mode must have "new_dev_mode": false instead.

Printer Name in Slot Tags

For multi-printer support, slot QR/NFC tags now support an optional third field for the printer name: SLOT|<ids>|<printer_name>. When a slot tag with a printer name is scanned, the client automatically switches to that printer before applying filament to the slot. Both ids and printer_name are optional, but at least one must be present for the tag to have any effect. The printer name must exactly match a name configured in bambu_config.json.

In-Page Debug Console

A collapsible debug panel is now injected at the bottom of every page on the website. It captures console.log, warn, error, and info output from the site's Javascript, plus unhandled errors and promise rejections, making it MUCH easier to diagnose issues on mobile devices. Click the "Debug" button at the bottom-right of a page to toggle the panel.

New API Endpoints

These new API endpoints implement the multi-printer features on the server:

  • GET /printers: List all configured printer names
  • GET /activePrinter: Returns the name of the currently active printer
  • POST /activePrinter: Switches the active printer

Server Changes

  • Dockerfile: Certificates moved to /certs/ to avoid being shadowed by volume mounts. Now defaults to HTTP mode to make it easier for new users to test out the project.
  • docker-compose.yml: Volume mount changed from just ./configs to the full project directory so code changes take effect with a simple container restart, instead of requiring full rebuilding.

Client Changes

  • Fixed bug where calls to vibration libraries would crash the Javascript in some browsers
  • Fixed bug where NFC tags with URL targets wouldn't correctly trigger navigation to the Apply page when they should
  • Fixed some status/feedback messages not disappearing when they should
  • Settings page shows an available printer list
  • Settings Save/Clear buttons now show a brief toast confirmation message

Documentation

  • README.md: Completely overhauled to make it better organized and easier to get started.
  • bambu-server/HTTPS.md: New dedicated guide for setting up legitimate HTTPS certificates for the backend with Caddy and DuckDNS

Breaking Changes

The bambu_config.json format replaces the old bambu_config.py. A bambu_config.example.json is provided in the configs directory. If you were using bambu_config.py, the server will still start and read it, but the JSON format is now the default and recommended configuration method. Multi-printer setups must use the JSON format. Support for existing bambu_config.py file will be removed in the future.

v0.5.0 OpenTag3D Support

Choose a tag to compare

@Aptimex Aptimex released this 26 Apr 02:56

New Features

The backend server code has been updated to support new features and fix some breaking bugs. Please update your backend server for full feature support and to avoid a future breaking change.

OpenTag3D NFC Tag Support

The client now supports OpenTag3D NFC tags in browsers that support NFC! (currently only Chrome on Android)

The server now accepts the colorName field from those tags when applying filament. This is combined with an aggressive code-matching process to provide proactive support for several different filament abbreviation methods that will be required when using tags from this spec. See the README for details.

NFC Scanning Improvements

  • Scan cooldown now fully disables the NFC scanner during the delay to prevent continuous vibrations generated by the OS
  • The "Go to Apply page" setting is now respected for NFC tags, matching QR code behavior
  • Scanning an NFC tag while on the Apply page updates the displayed tag in-place rather than refreshing the whole page
  • Unparsable or blank NFC tags now display a red error message in place of the scanner status text

Server Version Compatibility Warnings

The client now checks the configured server's version on page load and displays a banner if it is out of date:

  • Yellow banner: server is outdated; core features should still work but newer functionality is likely unavailable
  • Red banner: server version is too outdated and existing features likely will no longer work; update server before continuing

Reminder: If you want to avoid unexpected compatibility breaks when QRSpool.com updates, you can always host your own local copy of the client site.

Bug Fixes

  • Scanning a second NFC tag on the Apply page now replaces the previously displayed tag instead of appending a second table below it
  • Errors returned by the filament code lookup are now correctly propagated to the API response instead of being silently discarded
  • The /setFilament endpoint no longer errors when the request body contains unrecognized fields, making it tolerant of future client additions

Server Filament Code Database

Added new filament types scraped from the Bambu Studio repository:

  • Bambu PLA Tough+
  • Bambu PLA Translucent
  • Generic PA
  • Generic PA-CF
  • Generic TPU

Breaking Changes

The colorName field added to /setFilament is sent only to servers running v0.5.0 or newer due to a previous server bug that would just return an error when unknown fields were sent. Requests to older servers omit the field, preserving existing behavior. This backwards-compatibility workaround is just a temporary measure to give users time to update their servers, and will be removed in a future release.

v0.4.0 Scannable Slot Tags

Choose a tag to compare

@Aptimex Aptimex released this 19 Apr 04:44
cef2344

Adds support for scanning QR and NFC tags that represent spool slots on a printer (AMS or similar). Filament and slot tags can be scanned in quick succession to quickly apply the filament to the slot without the user needing to interact with the UI. The tags can be scanned in either order, and new settings control which one(s) get cleared after the pair is applied.

Slot QR codes have the format SLOT|<ids>, where <ids> is the the ids value shown in the slot's data table on the Apply page. See the updated README for more info.

Other changes:

  • Several new options in Settings to control new client behavior
  • Optionally require user confirmation before applying a pair of scanned tags
  • Add vibration and (optional) audio feedback when a tag is scanned
  • Slot ids values can be copied with a click for easy pasting into a QR code generator
  • Added buttons to clear active tags to the Scan and Apply pages
  • Scan page now stays active by default until a valid pair of tags is scanned (configurable)
  • Added a configurable delay between processing tags

v0.3.4 Better Errors

Choose a tag to compare

@Aptimex Aptimex released this 05 Apr 05:49
  • Fixed several bugs that were preventing errors from being displayed properly, in website and in server output
  • Fixed bugs with how the quick-apply buttons were displaying feedback
  • Added specific error message when a target slot is empty and cannot be changed
  • Updated all server dependencies
  • Ignore printer camera feed features to avoid pointless resource usage and error messages from the bambulabs library
  • Settings page now shows a version string returned by the server to make it easier to check when your server needs updating

V0.3.3 Quick Apply

Choose a tag to compare

@Aptimex Aptimex released this 12 Jan 05:43

Added Quick Apply buttons near the top of the client's Apply screen so you can apply a scanned tag faster if you already know the AMS unit and slot number you want to change.

Also fixed a bug where the Clear button on the Settings page didn't properly clear all the server info and credentials.

V0.3.2 Dependancy Update

Choose a tag to compare

@Aptimex Aptimex released this 17 Aug 20:13
419772f

Update one of the server's Python packages due to a known vulnerability in the previous version

V0.3.1 Fix URL parameter spelling

Choose a tag to compare

@Aptimex Aptimex released this 15 May 02:43

Fixed the URL parameter parsing code to use the same key spelling as the OpenSpool standard

V0.3.0 URL parameters support

Choose a tag to compare

@Aptimex Aptimex released this 14 May 05:32

Tag data can now be passed in using URL parameters, allowing filament data to be set by scanning NFC tags with URI records on most modern smartphones. See the README for more details.

V0.2.0 NFC Support on Chrome for Android

Choose a tag to compare

@Aptimex Aptimex released this 13 May 04:48
616bde9

Thanks to the Web NFC standard (currently only available on Android, primarily in Chrome), added support for scanning NTAG NFC tags through the web browser. Now featuring full support for OpenSpool NFC tags as an alternative to QR codes on compatible devices.