Changelog

Eine Übersicht aller PrintAgent-Releases. Neue Versionen und Verbesserungen finden Sie hier.

v1.5.1202-11-2026
GitHub

Opgelost

  • Het veld "Voorbeeld (canvas)" werd niet bewaard: de waarde verdween zodra je het veld

verliet of op Enter drukte, omdat de eigenschap niet in de lijst met elementeigenschappen stond.

Het veld wordt nu in het ontwerp opgeslagen en de barcode op het canvas wordt ermee getekend.

v1.5.1102-11-2026
GitHub

Opgelost

  • Barcode met een veldplaceholder toonde "ongeldige data": een barcode met {{veld}} als data

werd letterlijk naar de encoder gestuurd, waardoor Code 39 (en in feite elk formaat) een rode

foutbox gaf. Het canvas tekent nu de voorbeeldwaarde van het veld uit de dataset — en zonder

dataset een vaste waarde per formaat, met een geldig controlecijfer voor de EAN's — en het

eigenschappenpaneel noemt de waarde die je ziet; met het nieuwe veld Voorbeeld (canvas) op

het barcode-element bepaal je zelf waarmee de code op het canvas staat (ook een {{veld}} mag,

dat wordt dan met de dataset ingevuld). Past een voorbeeld niet bij het formaat, dan

volgt een amberkleurige melding ("voorbeeld past niet bij dit formaat"); de rode "ongeldige data"

blijft gereserveerd voor echte invoerfouten.

v1.5.930-10-2026
GitHub

Toegevoegd

  • Bedrijf en eigenaar in een keer aanmaken (admin): op /admin-businesses opent de knop

*Nieuw bedrijf* een paneel waarin je de bedrijfsnaam, het adres, de bewaartermijn en het

e-mailadres van de eigenaar invult. De API maakt het Auth0-account aan als dat nog niet bestaat,

koppelt de rol Print_Owner, zet de bedrijfsclaim, stuurt de uitnodigingsmail en start

desgewenst direct de proefperiode. Faalt het koppelen, dan worden het bedrijf en een zojuist

aangemaakt Auth0-account weer opgeruimd. Nieuw endpoint: POST /Business/admin/create

(admin-only, buiten de API-key-scope).

v1.5.830-10-2026
GitHub

Toegevoegd

  • Printformats van een Dini Argeo-weegschaal beheren (#221): de node leest de formats 1-30

van de weegschaal (G804/G205), schrijft ze terug (S### met een S804-commit en daarna een

lengtecontrole), maakt ze leeg, verstuurt ze en koppelt een format aan een printfunctie

(LNKF). Bewerken gaat op /settings/scale in Dinitools-notatie; de node bewaart de formats

per weegschaal in scale-formats\{scaleId}.json, zodat je ze ook zonder open verbinding kunt

bekijken. Protocol en proeven staan in docs/SCALE-PRINT-FORMATS.md.

Opgelost

  • Eigenschappenpaneel bleef leeg bij een via de API aangemaakt etiket: ontwerpen die via de

API of de AI-functie binnenkomen bevatten elementen zonder id. De designer zoekt een element

op via dat id, dus klikken op de canvas leverde geen eigenschappen op. Ontbrekende ids worden

nu bij het laden aangevuld en dubbele ids uniek gemaakt.

  • Een gewijzigd printer-IP werd niet meteen gebruikt: een actie (filedrop, weegschaal of

HTTP-trigger) bleef tot een service-herstart naar het oude adres printen, en een gebufferde

opdracht werd tot 24 uur lang met het oude adres opnieuw geprobeerd. Beide halen het adres nu

opnieuw op voordat er geprint wordt.

  • Een weegschaal bevestigt de ontvangst van artikelen; zonder die bevestiging meldt de node geen

succes meer (#135).

v1.5.730-10-2026
GitHub

Toegevoegd

  • Weegschaalregistraties met totalen (#135): /scale toont de registraties met totalen in

vier kolommen, houdt per registratie bij of ze al afgedrukt is, exporteert naar xlsx en kan

archiveren zonder afdruk.

  • Producten en templates naar de weegschaal sturen (#135), zodat de 3590 zelf de

artikelgegevens heeft en de weging direct een label kan opleveren.

  • Live verbindingsstatus per weegschaal op /settings/scale.
  • Ruwe frames en testframes (#135): bekijk de frames die de weegschaal stuurt, stuur zelf een

testframe in en het komma-formaat wordt herkend.

  • A4-totaalafdruk als PCL met kop, details en voettekst (#135).
  • Ingebouwde scale-dataset (#135): een dataset met de weegschaal-placeholders, zodat een

label direct aan een registratie gekoppeld kan worden.

Verbeterd

  • Printen bij een weegschaalregistratie gaat alleen nog via een actie; de oude automatische

print-instellingen zijn uit de node-UI verdwenen. Een scale-trigger doet nu ook

productmatching (ProductLookup).

  • De frames- en uploadpanelen staan bij elkaar op /settings/scale in plaats van verspreid over

de pagina's.

  • De WPF-agent is verwijderd; de agent-kern zit in de node, met één gedeelde runtime voor service

en tray.

Opgelost

  • PCL-regels worden met CR+LF afgesloten, zodat de laserprinter elke regel apart afdrukt.
  • Het CMD-commando van de 3590 wordt herkend ondanks voorloop-controltekens.
  • Een identiek gewicht wordt alleen binnen 3 seconden genegeerd, zodat twee keer PRINTEN wel

registreert.

  • De release-feed en de node-statistieken delen de GitHub-cache en token, zodat de cijfers niet

wegvallen zodra de API-limiet is bereikt (#229).

v1.5.626-10-2026
GitHub

Toegevoegd

  • SEO-basis voor de website (#225): elke pagina heeft een eigen titel en beschrijving in het

Engels, Nederlands en Duits, met canonical-URL's en hreflang-links (inclusief x-default).

De taalkeuze staat in de URL (?culture=nl|de), <html lang> volgt de requestcultuur en elke

pagina heeft Open Graph- en Twitter-kaarten met een 1200×630-afbeelding. De homepage en

/pricing leveren JSON-LD (Organisatie, SoftwareApplication met de actuele prijs uit

PrinterPricing, en FAQPage). /robots.txt en /sitemap.xml worden gegenereerd uit dezelfde

bron als de canonical-links, en de nooit gelinkte conceptpagina /v2 is verwijderd (onbekende

paden krijgen noindex).

  • Bezoekers- en gebruikersstatistieken in de admin (#225): nieuwe pagina

/admin-analytics met drie tabbladen.

*Bezoekers* toont weergaven en unieke bezoekers per dag of maand, met de populairste pagina's,

talen en apparaten. De landing meet dit zonder cookies: het IP-adres wordt alleen als

SHA-256-hash met een maandsalt opgeslagen, bekende bots en onbekende paden worden genegeerd en

de gegevens bewaren 400 dagen.

*App* toont wie er nú in de App werkt (e-mailadres, bedrijf, pagina, laatst gezien), het aantal

online nodes en een 24-uursgrafiek. De App stuurt daarvoor één keer per minuut een hartslag.

*Node* toont de downloads per node-versie (GitHub Releases), het aantal actieve en online nodes

en een trend van 30 dagen.

  • De node houdt zijn LastSeen nu actief bij via een hartslag elke vijf minuten en via de

hubverbinding (#225), zodat "online nodes" niet meer afhangt van de update-check.

  • Op /printers staat alles in één lijst, met per printer het type Cloud, Lokaal of

Cloud + lokaal (#228). Een lokaal ingestelde printer kan met Naar cloud in één keer aan

de cloud worden toegevoegd (gekoppeld aan deze node); bestaat hetzelfde adres al, dan volgt

geen duplicaat.

  • De products-pagina van de node ververst automatisch zodra de cloud een product wijzigt (#228),

zonder de pagina te herladen en zonder elke keer de volledige lijst op te halen.

Verbeterd

  • De privacyverklaring legt in drie talen uit welke geanonimiseerde statistieken worden

bijgehouden en dat daarvoor geen cookiebanner nodig is (#225).

Opgelost

  • Een node herkent zichzelf weer als node (#225). De controle vergeleek de assemblynaam exact met

PrintAgent.Node, maar de node compileert de agent-bronnen in PrintAgent.Node.Windows,

waardoor IsNode telkens op false werd gezet en de node niet als actieve node meetelde.

  • De downloadcijfers op het tabblad *Node* blijven staan als GitHub tijdelijk niet antwoordt

(#225); de pagina waarschuwt en probeert het na vijf minuten opnieuw.

  • Een node registreert na het herverbinden weer zijn bedrijfsgroep bij de hub (#226), zodat

printopdrachten en productwijzigingen niet stilvallen na een netwerkonderbreking.

Installatie

  • Database: draai vóór de uitrol Builder/SQL/20261026151810_AddAnalytics.sql (tabellen

PageViews, UserPresence en NodeVersionSnapshots). Migraties draaien niet automatisch.

  • Optioneel: zet Node__Stats__Token in Dokploy met een fine-grained PAT (public read op

tegrasystems/tegra-releases) om de GitHub-limiet van 60 naar 5.000 requests per uur te

brengen (zie #229). Zonder token blijven de cijfers werken, maar kunnen ze periodiek ontbreken.

v1.5.525-10-2026
GitHub

Opgelost

  • De printerinventaris van een node neemt nu ook een lege lijst over (#192). Werd de laatste

printer aan een andere node toegewezen, dan bleven de oude printers zichtbaar (en kregen

printerstatus en -commando's de verkeerde node) tot een service-herstart. Dezelfde correctie zit

in de OPC UA-printerstatus (PrinterStatusWorker). Bij een lege lijst blijft de node elke 30

seconden opnieuw kijken, zodat een later toegewezen printer snel verschijnt.

Verbeterd

  • De release-feed (GET /Node/release) heeft een instelbare cache: Node:Release:CacheSeconds

(seconden, 0 = geen cache, standaard 10 minuten per API-instantie). Zo is een net

gepubliceerde node-release sneller zichtbaar voor de update-check van de nodes.

  • De Scalar-documentatie van de node groepeert de vijf endpoints die een integratie met een

API-key mag gebruiken onder de tag Integratie (API-key), met eigen samenvattingen en

beschrijvingen (status, historie, printers, templates en printen). Een dubbele registratie van

GET /api/templates is verwijderd.

An error has occurred. This application may no longer respond until reloaded. Reload 🗙