Releases: Donkie/Spoolman
v0.20.0
Minor update this time around. This update most importantly fixes an issue where spool usage would be many times greater than what it should be in some situations.
Frontend
- Added double curly braces to printing dialog template which lets you add a prefix to fields that only shows if the field is set. By @TomW1605 in #446
- Improved contrast for the new spool icon if the color is similar to the background. By @teoteo in #458
- Add option to use full URL in QR codes instead of web+spoolman: prefix. By @samturner3 in #461
Backend
- Fixed issue where spool usage updates from plugins would partially fail because Spoolman failed to send websocket updates to disconnected clients. The spool usage was actually committed to the database correctly, but Moonraker interpreted it as a failure, so it kept retrying the usage, causing the spool usage to skyrocket.
Translations
- Updated Italian translation by Giovanni Locatelli and Federico Di Lorenzo
- Updated German translation by Benedikt Fuchs and Tobias Maschek
- Updated French translation by Vincent MALZIEU
- Updated Dutch translation by Maurice Kevenaar
- Updated Spanish translation by gallegonovato
- Updated Czech translation by Miloslav Kos
- Updated Chinese (Simplified) translation by Zack zhou (WeAPoN.Z)
Full Changelog: v0.19.3...v0.20.0
v0.19.3
Frontend
- Fixed being unable to change currency
- Allow larger print preview scale size
Full Changelog: v0.19.2...v0.19.3
v0.19.2
v0.19.1
Frontend
- Fixed multi color picker in create filament page not working
- Fixed importing multi color filaments in create filament page and create spool page
Full Changelog: v0.19.0...v0.19.1
v0.19.0
Major changes
- Added support for multi-color filaments.
- Many label printing upgrades.
- Dialog to add/subtract filament from a spool.
Note: Due to the new label printing preset system in this update, all of your label printing settings will be reset. Note down your settings before updating so you can re-apply them after the update.
Remember to clear your browser cache to receive all the frontend updates. Ctrl + F5 in the Spoolman page.
Frontend
- Added frontend support for the new multi-color filaments.
- Got rid of the spool color icon in the filament column and now uses a more minimalistic box instead. This was necessary since showing multi-color filaments using the spool icon wasn't really feasible.
- Column filters now perform exact matches, this prevents seeing e.g. "PLA+" filaments when filtering for just "PLA" filaments.
- Updated text alignment and number precision of various list columns, by @tzahari
- Added button in spool list page to add/subtract filament from the spool either by weight or length.
- Fixed not being able to set spool weight to 0.
- Fixed showing wrong spool price if it was overridden to 0 in the spool.
- Fixed item cloning not handling extra fields correctly.
- Label printing upgrades:
- Dialog is now its own page instead of being a modal, this improves the UX quite a lot.
- Added button in spool show page to take you to printing a label for that spool directly.
- Added backend-stored preset system. Previously all the settings were stored in your browser, but now they're stored in the Spoolman backend database instead, to let you share between different computers, and to reduce the risk of them disappearing. Settings from the old system will not be carried over automatically.
- Added new text-based template field where you can customize the content and layout of the text on the label. This also opens up the ability for your to print the values of your extra fields.
- Added "Save as Image" button which downloads all displayed labels as .png images.
- Added ability to specify item copies in label printing dialog, if you want multiple labels per spool.
- Added ability to hide the QR code entirely on the label.
Backend
- Updated database schemas and backend to support multi-color filaments. To make it backwards compatible, this is represented as a new field called
multi_color_hexes
on the filament object. See the REST API documentation for more details. - Updated Pydantic and FastAPI to v2.
- Changed docker base image to Python 3.12 Debian Bookworm, previously it used Python 3.11 Alpine.
- Added backend support to perform exact matches, surround a search term with quotes to match exactly.
Translations
- Added Portugese language.
- Updated Estonian translation by Ahti Nurme
- Updated Portuguese translation by Diogo Resende
- Updated Russian translation by Dr_Perry_Coke
- Updated Italian translation by Federico Di Lorenzo and Alessandro Schiavo
- Updated Danish translation by srbjessen
- Updated Dutch translation by Maurice Kevenaar
- Updated Spanish translation by gallegonovato
- Updated Czech translation by Michael Klečka and Miloslav Kos
- Updated Chinese (Simplified) translation by Samuel Wang
- Updated German translation by Sascha Bürk, luger16, Nick Träger, Justus Kagerer and Manuel
- Updated French translation by Ano10
Full Changelog: v0.18.1...v0.19.0
v0.18.1
Backend
- Moved hishel cache into the spoolman data directory to prevent folder permission issues
Client
- Fixed issues with the base path changes
Full Changelog: v0.18.0...v0.18.1
v0.18.0
Note: You can update Spoolman using Moonraker's update manager. However, note that the update manager will not re-run the install.sh script, which is necessary to get the latest dependencies in this update. So you will have to do that yourself.
Major changes
- Added support for fetching filament definitions from an external database. By default it collects information from SpoolmanDB which everyone is free to contribute to. This shows up in the UI in the form of a new section in the filament dropdown in Spool creation/edit form which now both shows your internal filaments like before, but also shows the filaments from the external database. You can additionally import external filaments in the filament creation screen by a new button at the top.
- Renamed "Vendor" to "Manufacturer" in the UI. The API and URLs still refer to it as vendor though. This entity has always been the manufacturer but due to bad english on my part it's been mis-represented since the beginning.
- Now supports running Spoolman on a sub path, e.g. you can have your Spoolmans root path be
http://mydomain.me/spoolman
. Configure this using theSPOOLMAN_BASE_PATH
environment variable.
Backend
- Added support for fetching and storing filaments and materials from an external DB. The DB is automatically synced every hour, but that can be disabled if not wanted. The URL where it fetches external data can be adjusted. The fetch is heavily cached so nothing will get downloaded unless the external db has actually changed.
- Added a new API to locally expose the external filament data.
- Added a new field to filaments and vendors that store the ID from the external database it was imported from. This is not used today, but may be used in the future to for example update the local filament definition if there are updates in the external database.
- Now supplies a dynamic config.js file on the base path to inform client side what the base path is.
- Fixed various spool list sorting issues for price, length and weight columns.
- Update OctoPrint plugin in README.md by @zarthross in #377
Note: The backend imports materials from the external DB but the client does not yet make use of this information.
Client
- Added ability to select from the list of external filaments when creating/editing spools. Selecting an external filament will cause the filament to automatically be created (along with automatically creating the manufacturer if necessary) when the spool is created.
- Added ability to import filament data from the external database in the create filament screen.
- Updated all strings referring to "Vendor" to "Manufacturer".
- Updated the client to support a non-root base path.
- feat: lossless image optimization. by @StuSerious in #381
Full Changelog: v0.17.0...v0.18.0
v0.17.0
Note: Install script has changed name from install_debian.sh
to install.sh
since it supports Arch-variant distros now as well.
Note: You can now update Spoolman using Moonraker's update manager. However, note that the update manager will not re-run the install.sh script, which is necessary to get the latest dependencies in this update. So you will have to do that yourself.
⚠️ Warning! ⚠️
This update introduces changes to existing data in the database, and will automatically manipulate your data to support the new format when Spoolman starts up with the new version. Your data should be preserved without any issue, but please make backups of your data before you install this update to be on the safe side.
Backend
- Added prometheus integration by @Forest-Troll in #350
- Various updates to spool weight calculations by @spyder007 in #339
- Create Arch install script by @CooperGerman in #335
Client
- Fixed spool clone showing a white screen by @Donkie
Translations
- Updated Czech translation by Mick#6366
- Updated Spanish translation by gallegonovato and Daniel Oliver
- Updated Greek translation by Athanasios Papadimos
- Updated Russian translation by Dr_Perry_Coke
- Updated German translation by Kev, luger16 and Benedikt Fuchs
- Updated Polish translation by Habag111
- Updated Romanian translation by Constantin Sarbu
- Updated Chinese (Simplified) translation by Jaccob Hui and Samuel Wang
- Updated Danish translation by srbjessen
- Updated Dutch translation by Karter87 and Maurice Kevenaar
- Updated Portuguese translation by Roberto Besser
- Updated Hungarian translation by Donkó Márk
- Updated Italian translation by Giadej
- Updated Ukrainian translation by A S
- Updated French translation by Guillaume Guerin
- Updated Swedish translation by Daniel Hultgren
Full Changelog: v0.16.1...v0.17.0
v0.16.1
After updating to this version using Moonraker's update_manager, Spoolman might fail to start. Simply re-run bash ./scripts/install_debian.sh
and it should be fixed for future versions.
Backend
- Updated systemd configuration so that start.sh doesn't need execute permissions by @Donkie
Client
- Currency setting is now utilized in filament/spool lists, edit pages etc by @Donkie
- Fixed sorting by remaining weight/length causing database issues by @Donkie
Translations
- Updated Swedish translation by Daniel Hultgren
- Updated Russian translation by Алексей
- Updated Italian translation by Giadej
- Updated Czech translation by Mick#6366
Full Changelog: v0.16.0...v0.16.1
v0.16.0
Major changes
- Added new custom extra fields system. With it, you can specify custom fields for spools, filaments and vendors. You configure it in the new Settings menu.
- Further support for Moonraker's update manager. With some help from @Arksine, starting with this release, you should be able to automatically update SpoolManager from within Moonraker. See further down for the necessary Moonraker configuration.
- Added price field to spools. This allows you to override the filament price for a single spool. By @pdsccode
- Added "Add Spool" button on filament list page.
- Added tooltip in filament filter menu, to help distinguish between the two filaments with the same name.
- Fixed sorting by filament in spool page.
- Added ability to change the system currency in the new Settings menu. This setting does not yet do anything however. This will be expanded upon in the future.
Backend
- Added new settings system and API. Clients can set/get pre-defined (hardcoded) settings.
- Added new extra fields system and API. Clients can set/get extra fields for spools, filaments and vendors. This uses the new settings system in the backend.
- Added new filament price field to spools. By @pdsccode
- Updates to integration testing suite. By @hcooper
- Standalone installation updates to now use requirements.txt instead of PDM.
- Added backend ability to sort by filament combined_name
- Fixed build date and commit not working on standalone installations.
Frontend
- Added new Settings menu. This menu will contain various settings for the application. Currently, it only contains the currency setting and the new extra fields system.
- Added new extra fields system to the frontend. This allows you to specify custom fields for spools, filaments and vendors. You configure it in the new Settings menu.
- Added "Add Spool" button on filament list page.
- Removed camera constraints from QR scanner.
- Added a tooltip on hover in the filament filter menu, to help distinguish between the two filaments with the same name.
- Fixed sorting by filament in spool page. Previously the sorting was done by filament ID, which did not reflect the filament name.
Translations
- Updated Dutch translation by Maurice Kevenaar
- Updated Czech translation by Mick#6366
- Updated German translation by luger16 and Michael Benz
- Updated Ukrainian translation by Сергій and my_mail
- Updated Danish translation by srbjessen
- Updated French translation by Gregory Fontaine and Ashmodaj
- Updated Chinese (Simplified) translation by Samuel Wang
- Updated Swedish translation by Daniel Hultgren and bittin1ddc447d824349b2
- Updated Spanish translation by gallegonovato
- Updated Portuguese translation by Luis and Anonymous
- Updated Italian translation by Daniel Hultgren
- Updated Hungarian translation by Anonymous
- Updated Romanian translation by Constantin Sarbu
- Updated Russian translation by Dr_Perry_Coke
- Updated Greek translation by Athanasios Papadimos
Moonraker update_manager configuration
Do not add this until AFTER you have updated to Spoolman 0.16.0, it is NOT compatible with older versions!
Add this to your moonraker configuration:
[update_manager Spoolman]
type: zip
channel: stable
repo: Donkie/Spoolman
path: ~/Spoolman
virtualenv: .venv
requirements: requirements.txt
persistent_files:
.venv
.env
managed_services: Spoolman
You might need to change the path to the Spoolman directory, depending on where you installed it.