Releases: Printmaster-Org/printmaster
Release list
PrintMaster Server v0.31.1-dev.caafd2d (Dev)
PrintMaster Server v0.31.1-dev.caafd2d (Development Build)
To receive dev builds automatically, set your server's releases.include_prerelease = "true" or run a dev build of the server.
📦 Installation
Docker
# Pull the dev image
docker pull ghcr.io/printmaster-org/printmaster-server:main
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/printmaster-org/printmaster-server:main⏱️ Build Information
🔗 Links
PrintMaster Server v0.31.1-dev.75eb836 (Dev)
PrintMaster Server v0.31.1-dev.75eb836 (Development Build)
To receive dev builds automatically, set your server's releases.include_prerelease = "true" or run a dev build of the server.
📦 Installation
Docker
# Pull the dev image
docker pull ghcr.io/printmaster-org/printmaster-server:main
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/printmaster-org/printmaster-server:main⏱️ Build Information
🔗 Links
PrintMaster Server v0.31.1-dev.3d91ea9 (Dev)
PrintMaster Server v0.31.1-dev.3d91ea9 (Development Build)
To receive dev builds automatically, set your server's releases.include_prerelease = "true" or run a dev build of the server.
📦 Installation
Docker
# Pull the dev image
docker pull ghcr.io/printmaster-org/printmaster-server:main
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/printmaster-org/printmaster-server:main⏱️ Build Information
🔗 Links
PrintMaster Server v0.31.1-dev.f0b73f0 (Dev)
PrintMaster Server v0.31.1-dev.f0b73f0 (Development Build)
To receive dev builds automatically, set your server's releases.include_prerelease = "true" or run a dev build of the server.
📦 Installation
Docker
# Pull the dev image
docker pull ghcr.io/mstrhakr/printmaster-server:main
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/mstrhakr/printmaster-server:main⏱️ Build Information
🔗 Links
PrintMaster Server v0.31.1
PrintMaster Server v0.31.1
📝 Changes
- Bug fixes and improvements
📦 Installation
Docker (Recommended)
# Pull the latest image (supports amd64, arm64, arm/v7)
docker pull ghcr.io/mstrhakr/printmaster-server:0.31.1
docker pull ghcr.io/mstrhakr/printmaster-server:latest
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/mstrhakr/printmaster-server:latestBinary Installation
- Download the appropriate binary for your platform from the Assets section below
- Extract the archive
- Run the binary with
--helpto see available options
Supported Platforms:
- Windows (amd64)
- Linux (amd64, arm64)
- macOS (amd64, arm64)
🤖 Agent Downloads
You'll need the PrintMaster Agent to discover and monitor printers. Download the latest agent:
Latest Agent: v0.31.1 — View Release
| Platform | Download |
|---|---|
| Windows (MSI) | printmaster-agent-v0.31.1-windows-amd64.msi |
| Linux (amd64) | printmaster-agent-v0.31.1-linux-amd64 |
| Linux (arm64) | printmaster-agent-v0.31.1-linux-arm64 |
| Debian/Ubuntu | printmaster-agent_0.31.1_amd64.deb |
| Fedora/RHEL | printmaster-agent-0.31.1.x86_64.rpm |
| macOS (Intel) | printmaster-agent-v0.31.1-darwin-amd64 |
| macOS (Apple Silicon) | printmaster-agent-v0.31.1-darwin-arm64 |
⏱️ Build Information
- Workflow run: 35780472313
- Commit: fc82919
🔗 Links
PrintMaster Agent v0.31.1
PrintMaster Agent v0.31.1
📝 Changes
✨ Features
- implement resource path recovery for device proxy requests (3f0a61c)
- add synced hover crosshair + click-to-pin across metrics charts (81a603d)
- support PostgreSQL 18 TimescaleDB deployments (53d2146)
🐛 Bug Fixes
- initialize databases before offline seeding (6f3ea03)
- apply privilege escalation consistently (44d4b44)
- preserve committed version state on failure (9c594ff)
- preserve successful changelog status (eaff0da)
- report embedded version accurately (b877fb3)
- serve Kyocera model scripts as JavaScript (289351b)
- rewrite device-supplied tag in proxied HTML (969ed78)
- apply mono/color toner filtering to all buildTonerLevels sources (128c6c7)
- context menu never found the connected agent/device VM data (124cf3e)
- keep WS-gated agent context menu items visible but disabled (c3e272a)
- don't set both Director and Rewrite on device proxy ReverseProxy (201d01e)
- apply SQLite pragmas via DSN so every pooled connection gets WAL/busy_timeout (0e9d76a)
- cast AVG() to INTEGER in downsample queries to fix SQLITE scan errors (3eaf8ae)
- use single-transaction save-all endpoint to avoid SQLITE_BUSY on bulk device save (594bc66)
- respect agent settings ownership and timestamps (1c4e2fb)
- preserve empty fleet section metadata (50ca600)
- version fleet section metadata (8feb706)
- honor fleet managed section selection (6809c68)
- sync and reload fleet settings (da91241)
♻️ Refactoring
- unify toner/consumable bar rendering into common/web (f063b6d)
📚 Documentation
- require matching TimescaleDB versions for restore (d95231a)
- clarify PG18 volume layout and Timescale restore (7d510b8)
📝 Other Changes
- cleanup: remove dead conditionals/assignments flagged by CodeQL (js/trivial-conditional, js/useless-assignment-to-local) (455e2d1)
- security: fix missing regex anchor allowing issuer spoofing (CodeQL #80) (7280dcb)
- security: escape exception messages before innerHTML insertion (CodeQL #188/#165/#18) (1029243)
- security: escape values before innerHTML/onclick-attribute insertion (CodeQL #178/#17) (22a421c)
- security: fix CSS-selector escaping and harden path utilities against prototype pollution (1506b1e)
- security: validate redirect target before navigation in login.js (CodeQL #186/#187) (131afb1)
- security: harden open-redirect check in agent auth callback (CodeQL #28) (9aca229)
- security: fix reflected XSS in agent proxy HTML injection (CodeQL #34) (3468206)
- security: remove dead server/logger package, sanitize agent log fallback (d28c1b7)
- security: pin GitHub Actions to commit SHAs and add Dependabot config (2be4065)
- agent: reject local edits to server-managed discovery/snmp/features/spooler settings (7ba38c3)
- server: use longer proxy timeout for slow /discover agent requests (11554f8)
- agent: fix Discover Now button giving no feedback/error handling (1184f9d)
📦 Quick Install
Debian/Ubuntu (APT repo):
echo "deb [trusted=yes] https://mstrhakr.github.io/printmaster stable main" | sudo tee /etc/apt/sources.list.d/printmaster.list && sudo apt-get update && sudo apt-get install -y printmaster-agentFedora/RHEL (DNF repo):
sudo dnf config-manager addrepo --from-repofile=https://mstrhakr.github.io/printmaster/printmaster.repo && sudo dnf install -y printmaster-agentWindows: Download the MSI installer from Assets below.
Docker:
docker run -d -p 8080:8080 -v agent-data:/var/lib/printmaster/agent ghcr.io/mstrhakr/printmaster-agent:0.31.1Web UI at http://localhost:8080 after install.
Supported Platforms: Debian/Ubuntu • Fedora/RHEL • Windows • Docker • macOS
🖥️ Server Download
For multi-site management, you'll also need the PrintMaster Server:
Latest Server: v0.31.1-dev.fc82919 — View Release
# Docker (recommended)
docker pull ghcr.io/mstrhakr/printmaster-server:latest⏱️ Build Information
- Workflow run: 35780468595
- Commit: fc82919
🔗 Links
PrintMaster Server v0.31.1-dev.fc82919 (Dev)
PrintMaster Server v0.31.1-dev.fc82919 (Development Build)
To receive dev builds automatically, set your server's releases.include_prerelease = "true" or run a dev build of the server.
📦 Installation
Docker
# Pull the dev image
docker pull ghcr.io/mstrhakr/printmaster-server:main
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/mstrhakr/printmaster-server:main⏱️ Build Information
🔗 Links
PrintMaster Server v0.31.0-dev.3f0a61c (Dev)
PrintMaster Server v0.31.0-dev.3f0a61c (Development Build)
To receive dev builds automatically, set your server's releases.include_prerelease = "true" or run a dev build of the server.
📦 Installation
Docker
# Pull the dev image
docker pull ghcr.io/mstrhakr/printmaster-server:main
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/mstrhakr/printmaster-server:main⏱️ Build Information
🔗 Links
PrintMaster Server v0.31.0-dev.289351b (Dev)
PrintMaster Server v0.31.0-dev.289351b (Development Build)
To receive dev builds automatically, set your server's releases.include_prerelease = "true" or run a dev build of the server.
📦 Installation
Docker
# Pull the dev image
docker pull ghcr.io/mstrhakr/printmaster-server:main
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/mstrhakr/printmaster-server:main⏱️ Build Information
🔗 Links
PrintMaster Server v0.31.0-dev.f063b6d (Dev)
PrintMaster Server v0.31.0-dev.f063b6d (Development Build)
To receive dev builds automatically, set your server's releases.include_prerelease = "true" or run a dev build of the server.
📦 Installation
Docker
# Pull the dev image
docker pull ghcr.io/mstrhakr/printmaster-server:main
# Run the container
docker run -d \
--name printmaster-server \
-p 9090:9090 \
-v printmaster-data:/var/lib/printmaster/server \
ghcr.io/mstrhakr/printmaster-server:main