Skip to content

Releases

Rotula 0.4.0

Choose a tag to compare

@glenntosco glenntosco released this 10 Nov 14:00

Added

  • Print to any Windows printer. A DYMO, Brother, TSC, SATO, Epson or office printer that does not understand ZPL can now print your labels through its Windows driver. Each printer has a print mode: Printer language (ZPL), as before, or Windows driver (picture), which draws the label at the printer's real resolution and the label's real size. The mode is remembered per printer. The first time you print to a printer with no saved mode, the Print dialog asks once "How does this printer understand labels?" and suggests an answer from the printer's name and driver (ZPL for Zebra-style names and "Generic / Text Only" queues); network printers added in Rotula by address (TCP/IP, port 9100) always get ZPL. Nothing is switched for you: the printer saved in your settings stays on ZPL without a question, and other printers you used before this version are asked about once, with ZPL already selected for Zebra-style names. Before a picture print, Rotula lists what a driver cannot print the same way (raw ZPL kept from an imported file, barcodes only a ZPL printer can draw, recalls of graphics stored on the printer, images too large to draw, UL and CSA marks, a barcode whose bars are narrower than their safe size, a label larger than the area the printer can print on, whose outer edge may be cut off) and asks for one tick for the whole job; a label larger than the paper the driver uses is refused; a field the printer would number, date or fill in itself (^SN/^SF, ^FC, ^FE) cannot be printed this way and is refused. It works for a single label, for a whole data-merge batch (checked once, not per record) and for the print station. Because every copy is a page of its own in the Windows print queue, one job may print at most 100,000 labels (all the ticked records times their copies); more is refused with a plain message that says to print in smaller batches, and no tick lets it through. A label that does not fit the driver's paper but fits it turned a quarter turn (sideways stock) is turned clockwise for you, pixel for pixel so barcodes stay exact, and Rotula says so before printing (one tick); when neither way fits you get the usual paper error. The preview says it shows the printed picture. Printer-side counters, cutter, tear-off and status checks stay ZPL-only; the MCP server and the command line print ZPL only, and ZPL output does not change. No label printer to hand? Choose "Microsoft Print to PDF" and the Windows driver mode to try it. See docs/printing.md.
  • Set up print station (File > Set up print station...): checks every label of a print station with the printer it uses and, for a printer in Windows driver mode, shows the points a driver cannot print the same way. When the label is fine as it is, you tick one box and save, and operators can print it. The acceptance is kept in station.acknowledged.json next to station.json (which is never changed). If the points found for a label change after you accepted them, operators are told to ask you to check it again. See docs/print-station.md.
  • Print engine for scripts and warehouse systems (rotula.exe): print .rotula labels with no window. rotula print takes a label, field values (--set) or records from a CSV, Excel or JSON file, and a Windows printer or network address, and prints through the designer's own print path: resolution conversion, darkness and speed, variables, questions (--answer, otherwise the designer default; never a sample value), copies, and serial numbers used once. Before every job it checks the printer status (~HS) and holds the job back on a fault; after the last job it waits until the printer reports it finished. rotula status and rotula printers report printers, --json gives a machine-readable result, and exit codes tell a script what happened. rotula serve offers the same as a REST API (/api/v1/jobs, printer status and lists, OpenAPI at /openapi/v1.json) that can run as a Windows service: off until started, on 127.0.0.1 by default, an API key on every call (only its hash is stored), and only the label folders and printers its settings file lists. One job at a time per printer. Messages in English, Spanish, Portuguese (Brazil) and French (Canada). A new PrintEngine policy lets an administrator switch it off. The setup program, the MSI and the portable zip include rotula.exe beside the app. See docs/print-engine.md.
  • Label sheets for office printers (File > Export > Label sheets (PDF), or Label sheets in the Print dialog): put the label on sheets for a laser or inkjet printer and save them as a PDF at the sheet's real size, each label at its own physical size. Pick a generic template (Letter 30-up, 20-up, 14-up, 10-up, 6-up, 80-up and half sheets; A4 3 x 8, 21-up, 65-up, 16-up, 14-up, 8-up and 2-up) or type your own layout, start at any position of a partly used sheet, and add crop marks or label outlines. With data loaded the ticked records go on the sheets with their copies, and serial numbers are used once, exactly as when printing. The layout is saved with the label; older versions of Rotula open such a file and ignore it. Sending the sheets straight to a Windows printer is not offered: print the PDF at actual size.
  • Machine-wide MSI for IT departments: every release now also has Rotula-X.Y.Z-win-x64.msi, signed like the setup program. It installs to Program Files for every user with a Start menu entry and the .rotula association, upgrades older versions in place, and is made for silent deployment with Intune, Group Policy or Configuration Manager. The setup program can now also install for all users silently with /ALLUSERS. Silent install and uninstall commands, exit codes, Intune detection rules and Group Policy steps are in the new docs/deployment.md.
  • Settings your organization can manage: administrators can fix the language and switch the update check on or off for everyone, suggest a default printer, keep add-ons in the user's own folder from loading, and switch printing or database access of the MCP server off, through Group Policy or Intune. Administrative templates (English and Spanish) are in packaging/policies. A setting fixed this way is greyed out in Rotula with "Managed by your organization".
  • Optional update check (Help > Check for updates once a day): off unless you switch it on. Then Rotula asks GitHub once a day, with one anonymous request that carries nothing about you or your PC, whether a newer version exists, and shows a notice with a link to the release page. It never downloads or installs anything.
  • winget: the manifests use schema 1.10, offer the MSI for --scope machine next to the per-user installer, and have a Spanish (es-MX) description. The submission steps are in docs/releasing.md.
  • Print station for the warehouse floor: a locked, print-only screen started with Rotula.exe --station <folder, station.json or label> (without a path it uses %ProgramData%\Rotula\station.json) or from File > Open print station. Labels show as large tiles with thumbnails and a search box; scanning a label's code opens it. Its questions are large fields that take keyboard-wedge scanner input: Enter or Tab moves to the next one, the last scan can print at once, and the label's own rules (required, length, pattern) are checked before anything is sent. Printing goes through the same print path as the Print dialog with the printer status check, and the result is shown in large plain words (ready, held back with the reason, printed and verified, not confirmed); the questions then reset for the next item, keeping the answers the station is told to keep. A station.json sets the labels and their scan codes, the printer of each label or a default, copy limits, whether the label's data may be printed, and an exit PIN stored only as a salted PBKDF2 hash (made with File > Create print station PIN or Rotula.exe --station-pin); five wrong PINs lock the PIN box for 30 seconds. Every setting is checked and a mistake is explained with the setting and line. See docs/print-station.md.
  • Printer status before and after printing (ZPL ~HS). Before each job Rotula asks the printer for its status and does not send while it reports it is out of labels, its printhead is open, the ribbon is out, it is paused, too hot, in diagnostics mode or its buffer is full; the Print dialog says which and what to do. After the job it waits (up to 30 seconds) until the printer reports it finished, then says "printed and verified", names a fault that appeared after the job (the labels still count as possibly printed, so no serial number is reused), or says it could not confirm. A printer that cannot answer never blocks printing. On by default for network printers and off for Windows printers, switchable in the Print dialog; "Check printer status" shows the decoded answer at any time. The MCP server has a matching get_printer_status tool.
  • A gallery of eight showcase labels in the README (GS1-128 pallet, parcel, food, wine, lab specimen, asset tag, shelf tags with data merge, print conditions). Their .rotula files and the CSV data are in docs/showcase, and the pictures are rendered with Rotula's own PNG export by a test that only runs when ROTULA_RENDER_SHOWCASE=1 is set.
  • Text fit for wrapped text (Properties panel, Text fit): choose what a text block does when its text is longer than the box. "Shrink to fit" uses the largest font size, between a smallest and a largest size you set, at which all the text fits; "Grow height" adds lines, up to a limit you set, so all the text shows. With data merge every record gets the size or the lines its own text needs, the canvas shows the same size that prints, and "Do not warn" hides the does-not-fit warning when cutting the text off is what you want. Labels that do not use it ar...
Read more

Rotula 0.3.5

Choose a tag to compare

@glenntosco glenntosco released this 12 Oct 13:45

Every label now brings its data back when you open it.

  • Fixed: a label saved with a data file (CSV or Excel) or a saved database connection used to open with empty fields and a red crossed box until you went to the Data window and clicked Reload or "Connect and reload data". Every label now reads its data again by itself when opened, including labels made earlier or elsewhere, and the label does not show as changed afterwards.
  • The checks are the same as the buttons: a data file must be on a local drive, a query must pass the read-only check, and a database is reached only through a connection you already saved under that exact name (a label never stores a host or password).
  • If the file or connection is not available, the Data window says why and the buttons are still there.
  • Replaces the 0.3.4 behaviour, which only reloaded labels saved on this PC.

The installer is signed by Barrdega Sistemas NA LLC. Compare downloads with SHA256SUMS.txt.

Rotula 0.3.4

Choose a tag to compare

@glenntosco glenntosco released this 12 Oct 13:19

Labels you saved in Rotula now bring their data back when you open them.

  • Fixed: a label saved with a data file (CSV or Excel) or a saved database connection used to open with empty fields and a red crossed box until you went to the Data window and clicked Reload or "Connect and reload data". Labels saved on this PC now read their data again by themselves when opened.
  • A label that did not come from this PC, or that was changed outside Rotula, still waits for one click first, because its query would otherwise run on your own database connection without you having seen it. That click also marks the file as trusted on this PC.
  • If the file or connection is not available, the Data window says why, and the buttons are still there.
  • Includes everything from 0.3.3 (PNG, JPEG and PDF export of labels with data fields).

The installer is signed by Barrdega Sistemas NA LLC. Compare downloads with SHA256SUMS.txt.

Rotula 0.3.3

Choose a tag to compare

@glenntosco glenntosco released this 12 Oct 12:15

Fixes exports of labels that use data fields.

  • Fixed: the PNG, JPEG and PDF export of a label with data fields came out with the fields empty, and a barcode of a field showed as a red crossed box. The export ignored the record shown in the Data window; it now exports that record, the same one you see on screen.
  • Includes everything from 0.3.2 (JPEG export, the size-reading fix and the memory fix).

The installer is signed by Barrdega Sistemas NA LLC. Compare downloads with SHA256SUMS.txt.

Rotula 0.3.2

Choose a tag to compare

@glenntosco glenntosco released this 11 Oct 16:58

Adds JPEG export and two fixes.

  • New: File > Export > JPEG image saves the label as a JPEG at printer resolution on a white background. Use PNG when the picture will be scanned or printed.
  • Fixed: a size such as "4in x 6in" could be read as "no size" on a slow computer right after the program started; the time limit is now longer.
  • Fixed: closed windows and finished screens no longer stay in memory listening for language changes.
  • Known issue, fixed in 0.3.3: exporting a label that uses data fields gave an empty picture. Use 0.3.3 or later.
  • Includes everything from 0.3.1 (choose the records to print on the Print screen).

The installer is signed by Barrdega Sistemas NA LLC. Compare downloads with SHA256SUMS.txt.

Rotula 0.3.1

Choose a tag to compare

@glenntosco glenntosco released this 11 Oct 15:44

The Print dialog is now where you choose what to print.

  • With data loaded, the Print dialog lists the records with tick boxes, a filter, sorting and Select all / none / invert. Print and Save as ZPL use only the ticked records, in data order, with serial numbers counted among the ticked ones.
  • If no record is ticked, Print is off and says why.
  • The number in Copies is the number of copies of each record's label (a copies-per-record setting in the Data window still wins, and a note says so).
  • Includes everything from 0.3.0.

The installer is signed by Barrdega Sistemas NA LLC. Compare downloads with SHA256SUMS.txt.

Rotula 0.3.0

Choose a tag to compare

@glenntosco glenntosco released this 11 Oct 14:55

Adds a record picker, text formatting controls and working word wrap, plus the variables engine in the print screens.

  • Data merge: a list of the loaded records with tick boxes, a filter, column sorting and Select all / none / invert. Only ticked records are previewed, printed, checked or exported.
  • Text formatting: font choice (printer and Windows fonts), size in points, bold, italic, underline, alignment, a formatting bar above the selected text, Ctrl+B/I/U, overflow warning, drag handles for the wrap width.
  • Word wrap now sizes its block from the label instead of a fixed 400 x 1 block.
  • Dates, computed values, print-time questions and serial numbers are now worked out when printing.
  • The Objects list at the lower right can be collapsed.
  • The database button and Ctrl+M stay inactive until a label exists.
  • Resizing an element no longer builds a very large scratch bitmap, and a failed preview shows "preview unavailable" instead of an error dialog.

The installer is signed by Barrdega Sistemas NA LLC. Compare downloads with SHA256SUMS.txt.

Rotula 0.2.0

Choose a tag to compare

@glenntosco glenntosco released this 11 Oct 11:59

Adds the app icon to the installer, the program and .rotula files (earlier 0.1.x installers had none), plus everything built since 0.1.0:

  • QR content builder and GS1 builder dialogs, with QR option rows.
  • Database name drop-down loaded from the server.
  • Add-ons for Oracle, Firebird, DuckDB and ClickHouse.
  • Variables engine (file format and MCP only for now; the print screens do not use them yet).
  • Includes the crash fixes from 0.1.1 and 0.1.2.

The installer is signed by Barrdega Sistemas NA LLC. Compare downloads with SHA256SUMS.txt.

Rotula 0.1.2

Choose a tag to compare

@glenntosco glenntosco released this 11 Oct 05:37

Fixes a crash: opening the Data merge window a second time, or opening Print and then Data merge, no longer makes the app run out of memory and close.

The installer is signed by Barrdega Sistemas NA LLC. Compare downloads with SHA256SUMS.txt.

Rotula 0.1.1

Choose a tag to compare

@glenntosco glenntosco released this 11 Oct 04:51

Fixed

  • The database table list no longer freezes the app, and could crash it, when a server has thousands of tables. The list now scrolls inside its own area. Measured with 5,000 tables: 26 seconds before, 2.5 seconds now.
  • Removed an endless loop between the "Windows printer" and "Network printer" options of the print settings (print dialog and data merge window). It is a possible cause of the app closing suddenly (stack overflow); it could not be reproduced on demand, so please report it if the app still closes unexpectedly.

The installer, Rotula.App.exe and Rotula.Mcp.exe are signed with Azure Artifact Signing (Barrdega Sistemas NA LLC). Checksums are in SHA256SUMS.txt.