1.19.1
Pre-release · alpha
August 13, 2026
Feed to clear now actually feeds — its leading label was blank and never printed.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Fixed
- Feed to clear now actually feeds. The job said it was printing one extra label but only the real ones came out — the leading label was completely blank, and a page with no ink on it never reached the paper, so the feed that clears the gap between the print head and the cutter silently didn't happen. The lead label now prints DISCARD across it, which both makes it print and saves you wondering whether a blank label was a misprint.
Previous releases
1.19.0August 9, 2026Brady M611 prints land square on the label, the designers show what won't print, and tables gain whole-table formatting.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Added
- Merge and Split buttons in the table inspector. Merging cells no longer requires the right-click menu — select two or more cells and use the buttons in "Rows & columns" (they stay visible but disabled, with a tooltip, when the selection can't be merged or split).
- Format a whole table at once. Select the table itself (rather than individual cells) and the inspector now offers the same font, size, style, alignment, wrap, auto-scale, tracking, stretch and column-width/row-height controls — applied to every cell in one step, with one undo. Each affected section shows a caution that the change applies to all cells. Controls that only make sense per cell (the text source: static text, a bound field, a formula, or a date/time) are deliberately not offered table-wide, since one of those written into every cell would wipe the table's content.
- New rows and columns now inherit the table's formatting instead of reverting to defaults.
- Pick out a scattered group of cells in Free Edit with ⌘-click. Shift-click still extends a contiguous range; ⌘-click now adds or removes individual cells, so you can build a selection of cells that aren't next to each other. Copy, paste, fill and clear all understand the scattered selection.
- "Insert rows above/below…" in the print window. Right-click a row in the print window's record list and you can now insert several blank rows at once, just as the Custom Designer's Free Edit does — the count starts at however many rows you have selected. The new rows are written back to your source CSV like any other edit, and they start unticked so they don't join the job until you fill them in.
- "Copy printer properties" (Engine → Settings → your printer). Asks the printer to list *everything* it reports and writes it out next to what our supply catalog claims for the loaded supply, with any difference stated in printer dots. Two reasons it exists: the catalog's printable sizes are hand-entered, and the printer may report things we've never read. Brady M611 for now (it's the only printer with live telemetry). The report is copied to the clipboard as well as saved, so it can be pasted straight into a bug report. Running it on real cassettes established that the M611 publishes its printable area as a proper rectangle — size, position and rotation — and that our catalog's printable sizes are exactly right on every supply tested. On a self-laminating wrap the rest of the label is a second area: the clear flap that folds over the print, which is not somewhere you'd want to print.
Changed
- The designer canvas no longer carries “Buy” buttons. Ordering more stock now lives only in the supply picker, where the part numbers are already in front of you — it was competing with the print controls on a job about to run.
- "Rotate 90°" is now one setting per supply, and only appears where it can work. It used to be a checkbox on every part-number row of a die-cut supply, but only one of them (the row the printer's loaded cassette happened to resolve to) actually changed what printed — the others looked identical and did nothing. There is now a single "Feed rotation" control on the supply itself, in Preferences ▸ Printers ▸ Edit Supplies…, and it applies to all of that supply's part numbers. It is shown only for die-cut supplies with a square printable area, which are the only ones the renderer can rotate (on any other shape the rotated design would fall outside the printable area, so it was always ignored). If a non-square supply already has the old setting saved, it is kept — not erased — and the editor now says plainly that it is ignored when printing.
- A supply whose part-number rows disagreed about "Rotate 90°" is put back in step on first launch, using the setting that was actually printing. Only the first part number's checkbox ever reached the printer, so that value is now written to all of them and shown in the single new control — nothing prints differently than it did before, and the control finally matches what comes out.
- The calibration grid now measures the edge loss instead of just flagging it. Each of the four printable edges carries a row of six short single-dot ticks, set 1, 2, 3, 5, 8 and 13 dots in from that edge. They are spread out along the edge — one per slot, in order, with a clear gap between each — so you read *which slots are blank*, counting from the corner, rather than trying to separate six lines packed into a millimetre. Each tick is also slightly longer than the one before it, so the order stays obvious once the first few are gone. If the printer can't reach right to an edge, the low-numbered slots print nothing: | Blank slots, counting from the corner | With the thin outer frame on that side | Dots lost | | --- | --- | --- | | none (all six ticks print) | frame prints | 0 | | none (all six ticks print) | frame missing | 1 | | slot 1 | — | 2 | | slots 1–2 | — | 3 | | slots 1–3 | — | 4 or 5 | | slots 1–4 | — | 6 to 8 | | slots 1–5 | — | 9 to 13 | | all six, heavy border still prints | — | 14 to 18 | Above three dots this gives a range rather than an exact figure — that's the price of spacing the ticks far enough apart to tell apart at all. On a 180-dpi Brother the sixth tick doesn't fit inside the border, so five slots are drawn; the reading above is unchanged, only the top of the scale is (all five blank = 9 to 11 dots). Very small labels likewise get fewer slots. The ticks sit outside the 1/16" bordered target and don't move with the alignment offset, so an offset you've already dialled in stays valid and every other mark is unchanged.
- The website feedback form now verifies where a submission came from, and its spam-trap field no longer catches browser autofill (which silently discarded genuine reports behind a "Thanks — we got it" screen).
- M611: wrong-orientation prints after a supply change or mismatch warning. A full review of the auto-rotation pipeline (prompted by a real sideways print on a 2×1 raised panel with a different-color cassette) found and fixed four compounding causes: the printer's large telemetry reply could be cut off mid-read while it was busy — losing the loaded-cassette info entirely (which is also why the printer warned about the wrong supply: the app couldn't name the loaded cassette, color included); a reading taken mid-swap (printhead open) could seed — and then permanently stick — a garbage rotation for the new cassette; back-to-back jobs could rotate against an out-of-date snapshot instead of the latest cassette. The M611 also now logs every orientation decision (the M610 always has) — including when a missing printable rect left the rotation unverified — so any future report is diagnosable.
Fixed
- Brady M611: you can now print right to the edge of the label. A few dots at two edges never came out — content laid flush to the edge lost a sliver. The head can reach them (Brady's own software prints there), so this was our image landing slightly offset on the label, not a limit of the printer. Prints are now offset by the measured amount so the design reaches both edges. The shading that used to mark those dots as unreachable is gone, because they aren't.
- The designer now shows you what won't print. Anything you place outside the label's printable area is thrown away when it prints — but the designer drew it in full, so a logo nudged slightly off the top of the label looked perfect on screen and came out with a slice missing. The area outside the printable rectangle is now dimmed, so an object hanging over the edge is obvious while you're laying it out. It's still visible and still draggable — just clearly marked as not printing. (The hatched strips only ever covered the physical label around the printable area, which on a self-laminating wrap is all at one end, leaving the other three edges unmarked.)
- Symbols no longer print stretched. A symbol placed on a label kept its proportions on screen but was squashed or stretched to fill its box when printed — the one object type where the design and the finished label disagreed. Plain images are unaffected: they fill their box in both, which is what they have always done.
- Brady M611: the designers stopped showing the unprintable part of a wrap. When a cassette was loaded, the hatched "unprintable" strips around the canvas disappeared — so a self-laminating wrap looked like the whole label could be printed on, when in fact only the white strip can and the rest is the clear flap that folds over it. The printer publishes its printable area as a proper rectangle, but the app was reading two older values it also publishes, which turn out to be empty; the empty ones were being padded out to the size of the whole label, which the designer read as "no margin at all". It now reads the real rectangle — and shows the flap at the end of the label where it actually is, rather than splitting it half at each end.
- Brady M611: the designers now show the area the head can actually print. The M611 can't quite reach two edges of the label — about 5 dots at one side and 9 along the feed, measured on hardware with the calibration grid. Nothing accounted for that, so a design laid out flush to its printable area quietly lost a sliver off two edges, with nothing on screen to warn you (the calibration grid looked perfect precisely because it's drawn at the raster's true bounds). The blue printable-area outline now excludes that strip, so what you draw inside the line is what comes out. Which two edges lose the dots depends on how the label is turned on its way to the head, so the outline follows the supply's orientation, the canvas rotation, and the feed rotation of square wraps like the M6-33-427 — on that wrap the margin lands on the opposite pair of edges from an un-rotated one. Prints themselves are not moved: content still lands exactly where the design puts it, and only the strip the head can't reach is lost. M611 only — the M610 takes the same supplies but its head has never been measured, and it keeps the old behaviour rather than being given another printer's numbers.
- Brady M611: the label size sent with each job can no longer describe a label shorter than the image. That size is measured in thousandths of an inch, a coarser grid than the printer's dots, and rounding it to the nearest thousandth could come out one dot short of the image actually sent. Whether the printer was trimming that last row of dots or rounding it back up is not something we've been able to confirm on hardware — so the size is now always rounded up, and it can't be short either way. One continuous length in four was affected (any length whose dot count landed just above a whole thousandth, e.g. 1‑1/16"); every die-cut wrap and every whole-inch tape length was already exact, so those prints are byte-for-byte unchanged.
- Print window: the ticks now follow the records when you insert, duplicate or delete a row. The print checkmarks stayed on the same row *numbers* while the data slid down past them, so inserting a row above your selection quietly re-pointed it at different records and the job printed the wrong labels. Ticks now stay on the records you ticked, wherever they end up; a newly inserted or duplicated row starts unticked, and deleting a ticked record drops it from the job instead of moving the tick to its neighbour. The same correction applies to the highlighted row selection, so "Delete rows" can no longer remove rows you never highlighted.
- A cell you're part-way through editing can no longer be saved onto the wrong record. If you left a cell editor open and then inserted, duplicated or deleted rows, the editor kept pointing at a row *number* rather than the record — so saving it overwrote whichever record had slid into that position and lost the edit you meant to make, straight through to your source CSV. The open editor now follows its record; if that record is deleted the pending edit is discarded rather than misplaced. The same fix applies to the Custom Designer. Pressing Enter in the "how many rows?" dialog can no longer also save an open cell editor behind it.
- Inserting rows while the list is filtered or searched now says what will happen. Blank rows can't match a filter or a search, so the new rows were written to your data (and, in the print window, to your source CSV) while the list stayed pixel-identical — the command looked like it had done nothing, so it got repeated. Both windows now confirm first, naming the count.
- "Insert rows…" no longer opens on a number it will reject. With more than 1000 rows selected the dialog pre-filled the selection count and then refused its own default. It's now capped at the 1000-row maximum. Inserting *below* a row while the list is sorted also now places the rows after the row you clicked in the order you're looking at, not in file order.
- Square wire-wrap labels on the M611 no longer print 90° out when the printer reports its supply size incompletely. On a square supply the driver can't check the design against the label, so it uses the same fixed starting orientation the M610 uses and lets the supply's "Feed rotation" setting be the control. That only kicked in when the printer reported its printable size; a status message that named the cassette but left the printable size out dropped the label back onto the printer's own reported rotation, which is inconsistent between these cassettes — so the same file printed correctly one minute and sideways the next. The fixed orientation now also applies when the printable size is missing and the design is square, and the Engine keeps the last known printable size for the cassette that is still loaded (never for a different one). Non-square supplies are completely unaffected, and so is continuous tape — remembering the size is limited to die-cut labels, since tape already has its own fallback.
- A status message that arrives with nothing but a battery reading no longer makes the printer look like a different cassette. Those messages already inherited the loaded cassette's size; they now inherit its name too, so a single one of them can't quietly switch off the checks that keep the next label's orientation right for the rest of the session.
- M610: a partial cassette-chip read now falls back on the last complete one. Same remembering as above — it applies to every Brady printer, so a chip read that comes back without the label's printable size no longer loses the auto-rotation that read gave you a moment earlier (most visible on the raised-panel labels, which rotate to fit).
- The menu-bar menu now closes when you click anywhere else. It stayed open while a job was printing so progress remained visible, which meant the only way to dismiss it was to click the menu-bar icon again — and if a job ever failed without finalising, it stayed pinned for the rest of the session. It opens exactly as before; clicking away closes it.
- The 1″ vinyl continuous tape (M6C-1000-595) is now in the supply catalog. It shipped at 0.5″ and 2″ but not 1″, so loading that cassette matched nothing: “Use currently installed” reported no supply, and printing warned the label size didn’t match. Existing catalogs get it added automatically, alongside the polyester and clear-polyester 1″ tapes.
- The size-mismatch warning no longer invents a length for continuous tape. It read the cassette’s reported height as a label length — so a 1″-long design on 1″ stock was told the loaded label was “1″ × 0.5″”. A continuous cassette has no length until you set one, so it now reports the tape width, which is the only real measurement.
- The calibration grid can now show an edge problem instead of hiding it. The grid's ink stopped 1/16" short of every printable edge, so it always landed comfortably inside whatever the print head can really reach — while a real label's design runs right up to that edge. A grid that "prints perfectly" therefore proved nothing about a label that prints shifted. The grid now also draws a one-dot border *on* the printable edge: if a side of that outer border is missing on the tape, the printer can't reach that edge and a full-width design will be clipped and pushed towards the opposite side. That border is a fixed reference — unlike the rest of the grid it does *not* move with your alignment offsets, which is what makes a missing side mean the head rather than your offset. The inner grid, its 1" lines and the origin square are unchanged, so an offset you've already dialled in stays valid.
- The calibration grid prints on continuous tape again. An unreleased change lengthened the grid to 4" of tape so that drift along a long label would be visible; on hardware the grid then never printed at all with a continuous supply loaded, while a die-cut grid on the same printer printed fine. The length is back to the supply's own 1" sample, which is what demonstrably comes out of the printer. (Everything else about that change — the flush-edge border and the origin square — is unaffected.) A longer sample may return, with a print behind it.
- The calibration grid is now built from a live reading of the loaded supply. It was the one print in the app sized from the Engine's cached cassette details, which are only refreshed on your Status Refresh interval — so the *first* grid after changing the supply was drawn for the supply you just took out, and printed off the printable area. The Engine now reads the printer before drawing. If it can't confirm what's loaded (it retries once), it doesn't print a grid at all and tells you to run Detect Supply — a grid built for the wrong supply is worse than no grid, since the grid is the measuring instrument. The button also shows that it's working while it reads, and can't be pressed twice into two grids.
- A continuous tape the catalog doesn't recognise now gets a full 1" calibration grid. The grid took its feed length from the cassette, but a cassette has no label length on continuous stock — an unrecognised part could produce a half-inch grid, three cells long, on tape you believe is being measured. The width across the tape still comes from the cassette.
- The calibration grid's origin square marked the wrong tape edge on continuous stock. The solid 1/8" square shows which corner your design's top-left lands on. A continuous design is laid *along* the tape, which puts its origin on the opposite edge from where the square was drawn — so the one mark meant to make feed direction and mirroring readable pointed the wrong way across the tape. It's now drawn on the edge the design actually starts from. Die-cut is unchanged.
- The calibration grid now follows the loaded cassette on continuous tape. It was documented as being sized from the cassette's own reported printable area, but the reported size was silently replaced by the catalog entry whenever the part number matched one — so on continuous tape the grid measured the catalog against itself and could never reveal a disagreement with the actual supply. It now uses the width the cassette reports across the print head. (Die-cut supplies still use the catalog size: the cassette reports its rectangle in the printer's own frame, rotated relative to the way die-cut labels are designed.)
- A label whose supply has been deleted from the catalog no longer prints shifted. Templates save a copy of their supply's geometry so they survive that supply being removed. The saved *printable* width was ignored on print (the full physical label width was used instead) while the design canvas kept using the printable width — so every object landed hard against one edge of the tape, shifted by the difference, with the far edge cut off. Both now use the same saved printable width. Supplies still in the catalog are completely unaffected.
- The print window drew the unprintable margins on the wrong edges. For continuous tape in its normal (lengthwise) orientation, the hatched "unprintable" strips were shown at the two *ends* of the label instead of along the two tape edges — so the preview reported the wrong edges as unsafe. The designer already got this right; the print window now matches it. Preview only; it never affected what was printed.
- The M611 now says so in the log when a label is narrower than the tape it's printing on. The driver accepts a design within 4% of the tape width as correctly oriented, but nothing centres it, so up to ~2 mm of silent sideways shift was possible on 2" tape (usually a sign the template's supply doesn't match the loaded cassette). It now writes one clear line naming both widths and the difference, for any size of mismatch.
- A continuous label that's the wrong width for the tape is no longer rotated sideways because of its length. When a design didn't match the loaded tape's width, the M611 could fall through to a last-resort orientation search whose only remaining measurement was the label's *length* — so an ordinary length that happened to land within 4% of the tape width printed the whole label sideways. The label's length carries no orientation information, so it can no longer decide one: a design that misses the tape width by a fraction of it is treated as mis-sized (printed upright, shifted, and named in the log) rather than as sideways. A design that genuinely arrives rotated — whose width is a length, not a near-miss of the tape — is still turned the right way up as before.
- Long labels on continuous tape no longer print sideways and clipped on the M611. An 8"-long label on 2" continuous tape (M6C-2000-595) came out rotated across the tape with most of it cut off, and rotating the canvas made no difference. The driver was matching the design against *both* dimensions of the printable area the cassette reports — but on continuous tape the length is whatever you set at print time, so the cassette's reported length (here 0.5") is meaningless and nothing ever matched. On continuous stock the driver now fits the design to the tape width only — the one dimension the print head actually fixes — and the label's length never affects which way it comes out: a design that already spans the tape is sent exactly as the designer previewed it, at any length. Continuous tape is recognised from the supply catalog (the same place the label's size comes from) rather than a printer flag, because Brady's own cassettes report continuous tape as "die-cut". Die-cut supplies are untouched: they still match both dimensions exactly as before, and any supply the driver can't confirm is continuous stays on the die-cut behaviour.
- Wire-wrap labels on a square printable area (e.g. the 1.5" × 4" M6-33-427) print the way the "Rotate 90°" setting says. On this stock the setting is the only orientation control that reaches the printer, and it was being read from whichever part number happened to be listed first — so ticking or unticking the box on the other part number changed nothing at all.
- The same label now comes out the same way up on the M611 as on the M610. On a die-cut supply with a square printable area the printer's own reported orientation was steering the M611, and it isn't consistent across these supplies (one square 427 wrap reports 270°, another reports 0°) — so a design that had printed correctly on the M610 for weeks came out 90° off on the M611. On a square printable area the driver now uses the same fixed orientation the M610 uses and ignores the reported value, leaving the supply's "Feed rotation" as the single control on both printers — matched to the design's own orientation exactly as the M610 matches it, so a design rotated with the designer's ⟳ 90° button still lands the same way on both printers. This applies to every die-cut supply with a square printable area, which on Brady M6 stock is the 33-427 wrap plus M6-29-427, M6-23-427, M6-19-423, M6-32-483 and the small 423 squares — each of those now follows its "Feed rotation" setting rather than the printer's reported value. Supplies with a non-square printable area, including the hardware-validated wire wraps, are untouched. The print log now records which orientation was used and why.
- A label no longer prints rotated when the printer doesn't report the loaded cassette's orientation. If a status read comes back without it (a partial read, or one taken while the printhead was open mid-swap), the Engine now reuses the orientation that printer last reported for the same cassette instead of falling back to a fixed assumption. Only if a cassette has never reported one does the old default apply, and the log now says so explicitly.
- Swapping cassettes can no longer print one label using the previous supply's dimensions. When a status read arrives with no dimensions, the Engine fills them in from the last good read — but it did so even when the read already named a *different* cassette, so a label sent in that window could be laid out (and oriented) for the supply that had just been taken out. The fill-in now only happens for the same cassette.
- Custom Designer: a QR code or table cell bound to your data now prints one label per row. Previously a data-bound label whose only bound object was a barcode or a table cell was treated as a single label (printing one row instead of the whole batch).
- Custom Designer: switching to a different data file now resets the print selection. The checked rows and print range from the previous file no longer carry over onto the new one.
- Custom Designer: inserting or deleting rows in Free Edit keeps your print checkmarks on the right records (they no longer shift onto neighbouring rows, which could print the wrong labels).
- Custom Designer: tables no longer lose rows past 60 when saved and reopened, and you can now create a table with more than 20 rows. The Insert-table dialog silently clamped your number to 20 even though rows could be added afterwards; creation, insertion and saving now share one limit (200 rows / 60 columns) and say so when you hit it instead of quietly changing what you typed.
- Custom Designer: the tab name now updates when you Save or Save As. The tab briefly showed the new file name and then reverted to the old one (or "Untitled Custom Design"), because the page echoed its stale document name back over it.
- Custom Designer formulas that reference your own column names now print the value, not a blank. A bound column whose name matched a built-in wire field (e.g. "Rack", "Signal") previewed correctly but printed empty.
- Auto-scale (non-wrapping) text no longer prints as an illegible hairline. Long text in a small box now clamps to the same minimum size the on-screen preview shows.
- Starter templates no longer pile up as duplicates. Reopening the supplies-and-templates setup and choosing "Replace" (or "Install all & clear existing") now actually replaces the existing starter templates instead of adding "Sample 1_5x1_5-2", "-3", … each run — and a legacy template file left over from an old version no longer resurrects the old design.
- Crash reports now capture the most common crash type. Errors on the main thread were previously swallowed and never reported; they now produce a crash log and the "the app crashed last time" report offer.
- The failed-print folder is now cleaned up so repeated failures can't accumulate large files on disk over time. #### Saving and quitting
- Quitting a Designer with ⌘Q now asks to save. Both designers exited immediately and discarded every unsaved tab — there was no prompt at all on that path.
- Edits made while the Save panel is open are no longer lost. Saving wrote the snapshot taken when you pressed Save and then marked the tab clean, so anything typed while the panel was up could be discarded on close without a prompt.
- Inline edits to a print list are no longer lost when Auto Print quits, and reprinting right after an edit no longer shows the pre-edit values. #### Print window
- Large record lists scroll and search smoothly again. With no row picked, the list was rendering every row from the top of the list downward, so typing in the search box could re-lay-out thousands of rows on every keystroke.
- The template bar, presets strip and preview sidebar keep their scroll position instead of snapping back to the start whenever printer status updated in the background.
- Pasting into Free Edit with a sort active no longer overwrites the wrong rows (and no longer writes that corruption straight back to the CSV). The same fix is in Custom Designer.
- The print preview now shows the real value for a formula that references one of your own CSV columns instead of the column's name — the label already printed the value, so the preview was contradicting the output.
- Cancelling after changing only the Cut or feed setting now records a Recent Print, so you can pick the job back up. #### Designer
- The workspace and grid now fill the window at any zoom, and objects are never cut off. The design area was a fixed 2″ border around the label, so a small label left blank page around it and anything you stretched past that border was sliced at the edge. The workspace now sizes itself to whichever is largest — the label and its margin, the visible window, or your objects — and grows live as you drag something outwards. (The grid is now drawn as a repeating pattern rather than one line per gridline, so a large workspace at a fine grid size stays fast.)
- ⌘P prints, alongside ⌘Return, in both the Custom Designer and the print window.
- Changing the supply on a continuous label keeps your label length. It snapped back to 1″ every time, even though the supply only determines the tape width — the length is your choice. (Die-cut labels still take their length from the die.)
- Undo is finer-grained. Property-panel edits (bold, size, alignment, rotation, fill…) and arrow-key nudges weren't recorded individually, so one ⌘Z reverted them together with the previous action.
- "Insert column before/after" now inserts where you asked instead of at the far right once you'd reordered any column.
- Inserting a row or column through a merged region no longer makes hidden text reappear.
- Text that overflows its box now previews the same way it prints. The preview showed an ellipsis ("PATCHBAY A…") while the label clipped mid-character; the preview now clips too, matching the printed result and the existing behaviour for auto-scaled text.
- Multi-line text with typed line breaks now prints at the same line spacing as the preview (it was using the font's natural leading, drifting up to ~15% per line).
- Dates print correctly on Macs set to a non-Gregorian calendar (e.g. Buddhist or Japanese era), which previously printed a different year than both previews showed. #### Printers
- "Detect cassette" and the printer list stay responsive while another printer prints. Adding, removing or refreshing a printer could appear to do nothing until the next status sweep, and a detect on an idle network printer was declined even though its status channel is separate from the print pipe.
- Brother: a job no longer reports "done" when the printer stopped early, tape-out now reports "End of media" instead of a blank reason, a second Brother printer is still found when the first is busy, and the calibration grid prints at the loaded tape's width.
- Brother: 3.5 mm tape is now addressed correctly (it was sent as 3 mm, which the printer rejects). Hardware-unverified — please report how it behaves.
- M611: live status stays accurate on busy jobs. Several status updates arriving together could be dropped, and a reused job slot could report labels complete before they printed — which shortened the window in which Cancel still worked. #### Updates and reporting
- Update checks now actually run on a schedule. They only ever ran once per Engine launch, so on a Mac that sleeps instead of restarting, "Every 7 days" and "Remind Me Tomorrow" never fired. Checking for updates also warns before quitting the suite if a print job is running, and cancelling a download at the moment it completes no longer installs anyway.
- A problem report can no longer be lost by closing the window mid-send — the report window stays put until the send finishes, so the "Copy & Open Feedback Form" fallback is reachable.
- Settings shared between the apps no longer diverge silently if they can't be written, and Auto Print now picks up a settings change even if the notification is dropped. #### Files and catalog
- A supply catalog written by a newer version is no longer silently stripped when opened by an older one.
- Brother P-touch printers named with a prefix (e.g. "Brother PT-P750W") are recognised again for printable-width purposes.
- Objects skipped during a Brother
.lbx import are now reported instead of vanishing silently, and a cloud file that never finishes downloading no longer polls forever.
- Brady
.BWT templates no longer import stray fields from a previous layout. A Brady file that was built by re-pointing an older template at a different label can keep the old layout's text objects in the file, attached to nothing — they were imported at their original coordinates and landed off the label. Those leftovers are now identified by their position in the file's structure, skipped when they can't fit the label, and reported so a partial import is never silent. Fields that genuinely belong to the label are untouched.
Security
- Opening a malicious Brother
.lbx template can no longer read your files. A crafted P-touch file could use an XML trick to pull the contents of a local file (e.g. an SSH key) into the imported label's text. The importer now refuses external XML entities outright.
- A corrupt or hostile
.lbx no longer crashes the app. A file with a non-numeric coordinate could terminate the Custom/Template Designer instantly (losing other open tabs); such values are now rejected on import.
- Custom Designer: a crafted label file can no longer run code in the design canvas. The supply name from an opened document is now escaped before display in the print header.
1.18.1August 4, 2026Pruned exports no longer leave dead entries in Recent Prints.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Changed
- Pruning an old export now also clears its Recent Prints entry. When a project folder goes over "Exports to keep per project" and older CSVs are deleted, the prints that used them disappear from the Engine's Recent Prints list too — so you're no longer offered a Reprint that can only answer "the original print data is no longer available". Custom Designer prints are unaffected: they carry their own design, not a CSV.
- Preferences explains what "Exports to keep per project" does — how many exports are kept per project folder, that older ones are deleted when a new export arrives, and that their Recent Prints entries go with them.
1.18.0July 31, 2026Collate multi-copy prints, insert several rows at once, and Brother P-touch labels shorter than an inch now print at their real length.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Added
- Collate tick box when printing multiple copies in the Custom Designer. It appears once you set Copies above 1 (on a job that prints more than one label). Ticked prints a full set at a time — 1,2,3 · 1,2,3; unticked keeps the existing behavior of printing each label's copies together — 1,1 · 2,2 · 3,3.
- Insert several rows at once. Right-click a row in the Custom Designer's data grid and choose "Insert rows above…" / "Insert rows below…" to be asked how many blank rows you want (it defaults to however many rows you had selected). Table objects get the same thing on a cell's right-click menu.
Fixed
- Brother P-touch: short labels are no longer stretched to about an inch. The driver was padding every label's image out to 24.5 mm — that figure is the minimum length of tape the printer itself feeds, not a minimum image length — so anything shorter than ~1″ printed with blank tape tacked on the end, and every label of a half-cut strip was padded. It now uses Brother's documented 4.4 mm minimum. Note a single full-cut label may still come out around 24.5 mm: that floor is the printer's own cutter position, not something the app controls.
- Pasting into a cell you're typing in no longer replaces the whole cell. In Free Edit, ⌘V now inserts at your cursor (replacing just the text you've highlighted). It still replaces the whole cell when the cell's full contents are selected — which is what you get the moment you click or tab into a cell.
- Pasting one value into several selected cells now fills all of them instead of only a single cell.
1.17.1July 31, 2026The Print window's record list stays put while you edit cells.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Fixed
- The record list no longer jumps around while you edit cells in the Print window. With enough columns to scroll sideways, clicking a cell to edit it snapped the list back to the leftmost column (and often to the top) — every open, save and cancel moved the view. The list now stays exactly where you put it, in both the ✎ inline editor and Free Edit.
1.17.0July 27, 2026Brother table labels (like patch-panel grids) now import, and a failed update or report now points you to the working fallback instead of a dead-end error.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Fixed
- Brother P-touch labels that are a table now import. A
.lbx whose content is a table — like a patch-panel grid — previously wouldn't open in the designers at all. Tables now come in as an editable table object, including merged header cells.
Changed
- A failed update check now offers a "Download from Website" button — if the app can't reach the update server or download, it points you straight to the Downloads page for the latest signed installer.
- A failed problem report now offers "Copy & Open Feedback Form" so you can submit it manually in a couple of clicks, rather than only showing an error.
1.16.0July 25, 2026A new website feedback form (no GitHub account needed), and in-app problem reports now go straight to the developer's private tracker.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Added
- Send-feedback form on the website. Report a bug or request a feature without a GitHub account — it goes straight to the developer, with a quick anti-spam check.
Changed
- In-app problem reports now go to the developer's private repository through the website. The "Report a Problem" flow is unchanged for you; this just consolidates where reports land.
1.15.5July 23, 2026Finishes the fix for the updater opening two installers.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Fixed
- Installing an update really only opens one installer now. The previous fix (1.15.3) left a gap — the safeguard was set only after the installer was handed off, so a second trigger (both the update prompt and the Preferences ▸ Updates card offer "Update Now") could still slip a second installer through. The app now commits to the update the instant you start it, so no duplicate can begin.
1.15.4July 23, 2026The Designer's "Margins" button now shows and hides the label's blue boundary line.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Fixed
- The Designer's "Margins" button now turns the label's blue boundary line on and off. Previously the blue outline was always shown and the button only toggled the printer's unprintable-margin shading — invisible with no printer selected, so it looked inert. It now controls the blue outline too.
1.15.3July 23, 2026A Designer "Borders" toggle (outline text boxes on-canvas, never prints), a prompt to relocate a missing auto-sync data file, and a fix for the updater opening two installers.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Added
- "Borders" toggle in the Designer toolbar. Outline every text box on the canvas to see its bounds while designing. Design aid only — it never prints or shows in the Print window preview; remembered between sessions.
Changed
- Auto-sync designs prompt to relocate a missing data file when opened. If you reopen a Custom Designer design with auto-sync on and its linked file can't be found, it asks you to locate it right away (the saved copy still opens if you cancel). Designs without auto-sync only ask on "Refresh from source".
Fixed
- Installing an update no longer opens two installers. The updater could hand the downloaded installer off twice; the hand-off is now strictly one-shot.
1.15.2July 22, 2026Static text now honors the line breaks you type (with preview and print matching), and the Custom Designer can remove a bound database.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Added
- Remove a bound database in the Custom Designer. Click the data-file name in the Database pane and choose Remove database… to unbind the data and return the design to a single (non-data) label.
Fixed
- Static text honors the line breaks you type. With Wrap text off, pressing Enter inside a text box starts a new line on the label exactly as typed; with it on, the app keeps deciding line breaks by width. The preview and printed label now match in both modes.
1.15.1July 20, 2026Two refinements to the first-launch setup window's handling of the starter templates (install on a fresh install, skip on an update; and the preset button now covers templates too).
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Changed
- Starter templates default to install on a fresh install, but skip on an update. A new user gets them offered ready to install; an existing user updating the app no longer has them re-offered by default. Each can still be turned on per row, or all at once with the preset button; opening the window from Preferences also defaults to skip.
- "Install all & clear existing" now covers starter templates too. The preset button previously only reset the supply groups; it now also flips every starter template to Install & Replace.
1.15.0July 20, 2026The Engine keeps Auto Print running (a dead export watcher self-heals in ~20s), starter templates no longer duplicate on updates, dimension fields show their unit, and groundwork lands for Brady i3300 support.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Added
- The Engine keeps Auto Print running. If Auto Print isn't running — crashed, quit, or never started — the Engine relaunches it within about 20 seconds, so Vectorworks exports can't silently go unnoticed. "Launch at login" on the Engine now effectively covers Auto Print too.
- Groundwork for Brady i3300 support. A full "Brady i3300" supply catalog (B30/B33 series) with around 150 real part numbers across many materials, including supplies that ship multiple labels side-by-side on the roll. The printer driver itself comes later.
Fixed
- The first-launch setup no longer duplicates starter templates on updates. "Install & Replace" could silently add "Sample-2", "-3", "-4" copies instead of replacing. Existing duplicates aren't merged automatically — delete the extras you don't want.
Changed
- Dimension fields show their unit. Every position/size field in the Designer's properties panel is now labeled with the active unit, e.g. "Width (in)" or "Width (mm)", and updates live when you switch units.
1.14.3July 18, 2026Installer-text fix: the welcome screen no longer implies it installs starter templates (they come from the first-launch setup). No app changes from 1.14.2.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Fixed
- Installer welcome screen no longer implies it installs starter templates. The optional component is the Vectorworks ConnectCAD plug-ins; starter templates and stock supply groups are offered by the app's first-launch setup — not the installer. No behavior change.
1.14.2July 18, 2026Maintenance release — no functional changes from 1.14.1, republished to verify the in-place update path.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.
Changed
- Maintenance release. Same fixes as 1.14.1, republished to verify the in-place update path for existing installs.
1.14.1July 18, 2026Bug-fix for 1.14.0: fresh installs no longer crash on first launch (the cause of the Engine seeming not to launch after install, and of the Preferences setup button crashing it), plus installer & first-launch reliability fixes.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer now declines Intel Macs up front.
Fixed
- Fresh installs no longer crash on first launch. The Engine could crash the moment its first-launch setup window opened (it looked for bundled resources in a location that only exists on the machine that built it). That one crash is why the Engine seemed not to launch after installing, and why the Preferences ▸ Updates Set Up Supplies & Templates… button crashed it. Both now work.
- The Engine no longer stalls at launch reading your Documents folder. It no longer scans the templates folder at startup; the first-launch setup window loads your existing templates in the background, so it always opens right away.
- The installer won't install on Intel Macs it can't run on. The apps are Apple-Silicon-only; the installer now declines up front instead of installing cleanly and then failing to launch.
- Reinstalling over a running Engine starts the new version. An in-place update now quits the running apps first, so the freshly installed version takes over.
- Clearer feedback if starter templates can't be saved. If the templates folder can't be written (for example, Documents access was denied), the setup window says so instead of closing as though everything installed.
1.14.0July 17, 2026Menu-bar dropdown closes when you click elsewhere (pinned only while printing), and a Preferences ▸ Updates button to reopen the first-launch supplies & templates setup any time.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Reopen the first-launch setup any time. Preferences ▸ Updates has a new Set Up Supplies & Templates… button that opens the stock-supply-groups and starter-templates window on demand. Installing from it is additive — existing supplies and templates aren't touched.
Fixed
- The first-launch setup window reliably appears on a fresh install. It no longer depends solely on a marker the installer writes (which could fail on a new machine), and it shows before — not behind — the first-run update-settings prompt.
- The menu-bar dropdown closes when you click elsewhere. Clicking anywhere outside the Engine's menu dismisses it — except while a job is actively printing, when it stays pinned so you can watch progress (the menu-bar button still hides it any time).
1.13.0July 16, 2026Printing-pipeline reliability audit: wedged or out-of-media printers report honestly everywhere; pause/cancel state reaches every window live.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Fixed
- Honest job status on every printer, in every window. An M610 batch that wedges mid-job (jam, ribbon out) reports the labels that actually printed instead of claiming them all done; an M610 with an unreadable supply cell shows “unknown” while finishing instead of a frozen counter; and pause / “unknown” / Cancel changes now reach the Custom Designer and Auto Print live during a print (previously only the menu bar updated).
- Brother P-touch printers report their own problems. No media, a cutter jam, or an open cover mid-job now fails the job with the printer's reason instead of reporting it complete.
- Brother “cut every label” jobs show a per-label progress bar — progress reporting now follows the printer's actual send strategy (the cut mode).
- The calibration grid fits user-added supplies. It's sized from the loaded cassette's own reported printable area when available, with the catalog as fallback.
1.12.0July 16, 2026Brady auto-orientation to the loaded cassette's printable area, real M611 pause detection, and a detect-cassette button in the menu bar.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Detect the loaded cassette from the menu bar. Each printer row in the Engine's menu has a detect button (↻) that re-reads the loaded supply on demand — the same action as the print window's “Detect supply” — with a spinner while it runs. Handy right after swapping cassettes.
- The Engine knows when you pause the M611 on the device. Pausing mid-print now shows “Printer paused” in the menu bar and the Custom Designer, and the job is held open — it resumes tracking when you resume the printer, completes only on the printer's real “complete” signal, and can still be cancelled while paused. Works in both one-label-at-a-time and full-job modes (verified on hardware in one-at-a-time).
Changed
- Auto-rotation never consults the supply catalog. Print-time orientation derives only from the label being printed and what the physically-loaded cassette reports about itself — never from catalog entries. Editing the supply library or adding custom supplies can't affect how labels orient on the printer.
Fixed
- M611: wire wraps no longer print 90° off. The auto-rotation added for raised panels guessed orientation from the label body's shape, which a square-bodied wrap (e.g. M6/BM-32-427) defeated. Both Brady printers now fit the design against the printable-area rectangle the loaded cassette itself reports — confirmed against live cassette data for wraps and raised panels on both printers. Verified wire labels, panels, and continuous are all preserved; anything ambiguous keeps the printer's reported orientation (the design's ⟳ 90° button remains the manual override).
1.11.0July 16, 2026Honest M611 job status, M610 auto-orientation for raised panels, P-touch print weight matching the preview, wrap + auto-scale together, per-tab printer memory, full-state Reprint, and launch at login.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Launch the Engine at login. A new toggle in Preferences ▸ Advanced ▸ App Behaviour starts the VectorLabel Engine automatically when you log in. macOS may ask you to approve it under System Settings ▸ General ▸ Login Items.
- Each tab remembers its printer, and the right printer is picked for you. In the Custom Designer and the Print window, every tab keeps its own printer selection; opening a label (or picking a template) auto-selects a printer whose loaded supply matches, else your most recent printer. A manual pick always wins.
Changed
- The Engine shows “unknown” instead of guessing print progress. When an M611 stops reporting — or is paused on the device with labels queued — the job status shows a plain “unknown” rather than a made-up advancing count. A stalled job shows “unknown” for about its estimated print time, then is marked printed. (Real pause detection arrived in 1.12.0.)
- Cancel appears only for jobs that can actually be cancelled. One-label-at-a-time prints keep their Cancel button; a full-job batch is sent in one shot and can't be interrupted, so it no longer shows one.
Fixed
- M610: raised-panel labels no longer print rotated 90° off the panel. The M610 now auto-orients each label to fit the loaded supply (as the M611 already did) — verified on hardware with M6-171-593. Wire wraps and continuous tape are untouched.
- M611: full-job prints start right away instead of roughly one estimated-print-time late — the end-of-job signal is now sent immediately after the job data (network and USB), verified on hardware.
- M611: the printable area no longer flashes to 0 × 0 after a momentary partial status read — the last-known label geometry is kept.
- Reprint from the Custom Designer restores the full print setup: the print-range choice (All / Current / Selected / Range) and bounds, ticked rows, previewed record, database filter/sort/search, and printer — while loading the current version of the label file. An auto-sync data refresh no longer resets your print selection either.
- Brother P-touch text prints at the weight the preview shows, not bolder — the 180 dpi conversion now uses a neutral ink threshold (verified on hardware; Brady output unchanged).
- Auto-scale works together with word wrap. With both on, text wraps and shrinks to the largest size where every line fits the box — in the designer, the print preview, and the printed label.
1.10.0July 13, 2026Multi-sheet Excel support in the Custom Designer (pick which tab to print), starter templates on first launch, and database-grid and label-import fixes.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Pick which Excel worksheet to print. Binding an
.xlsx with more than one tab now asks which worksheet to use instead of silently taking the first. Switch later from the data-file menu → Redefine tab…; the chosen tab is saved with the document and re-read on refresh. Single-sheet workbooks and CSVs are unaffected.
- Starter templates on first launch. The sample label templates now ship inside the app and appear on the first-launch setup screen (next to the supply groups), where you choose which to install into your Templates folder.
Changed
- The installer no longer copies starter templates. They're built into the app and offered on first launch instead, so a fresh install always has them available.
Fixed
- The database grid keeps its position. Clicking a cell to edit, toggling a print checkbox, renaming a column header, or searching no longer moves the grid's scroll — in both regular and free-edit modes.
- The database header row stays visible while you scroll. The column header is now pinned to the top of the grid.
- Wrapped text stays inside its text box. With “Wrap text” on, lines that didn't fit used to spill past the box on the design canvas; they're now clipped to the box, matching what prints.
- Brother P-touch import: text comes in at the size P-touch shows, not larger — the importer now reads P-touch's fitted (shrink-to-frame) size instead of the pre-shrink base.
1.9.0July 8, 2026A large stability release: security hardening, fixes for silently-lost work, smarter label imports, and reprint that reopens where you left off.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Security
- Hardened against malicious template / spreadsheet content. A crafted template name, supply label, CSV filename, or printer name can no longer inject markup into the designer or print windows.
Fixed
- Imported labels snap to a catalog supply. A Brady
.BWT matches the M6 group and a Brother .lbx matches the P-touch tapes; if nothing matches, the supply picker opens showing the imported label's dimensions so you can choose — and imported labels no longer flip orientation as you click.
- Reprint reopens the Custom Designer exactly as you left it — the same label (the current version of the file if you've since edited it), the print range and selected rows, and the printer you chose.
- Work is no longer silently lost. Formatting and database-pane edits now count as unsaved changes and can be undone; inline text editing no longer deletes the whole object; Date/Time table cells survive save & reload; a failed save warns you instead of showing “Saved”.
- Print window: the broken “Load CSV…” button is gone and “+ Load template…” now opens a real file picker and prints the template you choose; the preview shows the label in its correct orientation.
- M611: labels no longer print 90° off on back-to-back jobs (needs hardware confirmation) — the loaded cassette's orientation is held stable across jobs.
- Sturdier all round: corrupt imports and spreadsheets no longer crash the app, suite settings survive two apps editing at once, Excel dates import as dates, and updates only install a verified download. See the full notes for the complete list.
1.8.1July 6, 2026A small fix: smoother middle-click panning of the design canvas.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Fixed
- Smoother middle-click panning. Panning the design canvas with the middle mouse button no longer stutters — the scroll updates once per animation frame instead of on every raw mouse event, so a high-report-rate mouse can't thrash the canvas.
1.8.0July 6, 2026Canvas panning and centred zoom, instant supply-size updates, part numbers in the supply list, and a batch of designer & Preferences fixes.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Middle-mouse-button drag pans the design canvas like a hand tool — hold the middle button and drag anywhere on the canvas to scroll around.
- Print just the current label (Custom Designer) — a new Current option next to All / Selected / Range prints only the record shown in the preview.
- The supply list shows part numbers — each supply in the catalog editor now lists its part numbers on their own line, wrapping to show them all.
Changed
- Zoom keeps the centre of the view fixed. The designer's + / − buttons now keep whatever was centred centred as you zoom, instead of drifting off-screen; Reset returns to 100% and re-centres the label.
- Simpler filter & sort in the Custom Designer — the Source/Destination options (only meaningful for Vectorworks ConnectCAD wire data) are hidden there.
Fixed
- Brady die-cut labels auto-rotate to fit the loaded supply (M611) — raised-panel labels (e.g. M6-173-593) that printed sideways and clipped now fit; correctly-oriented wire labels are unchanged.
- Loaded-cassette match ignores the ribbon-colour suffix — a printer reporting e.g.
M6-173-593-BK now matches the M6-173-593 supply instead of showing a false “⚠ mismatch”.
- Supply-size edits update the designer canvas instantly — changing a supply's size in the catalog editor now reaches every open designer / Auto Print window immediately (previously up to ~2 seconds).
- Resize / rotate handles behave correctly when zoomed past 100% — dragging an object's handles no longer makes it jump around the canvas.
- Fields commit when you click away — in the supply catalog and Preferences windows, clicking outside a field (even onto empty space) now ends the edit and keeps the value, including the “Add network printer” box.
- Corrected the printable area of the 0.5"×1" wrap (M6-11-427) to 0.375" tall (was 0.25") — existing catalogs update automatically.
- Escape no longer closes the designer (it deselects / dismisses a menu instead), and dragging a database column header now drops into the tab you're looking at.
1.7.1July 4, 2026A guided “Set up supply groups” step after installing, and editable per-part buy links.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- “Set up supply groups” wizard. Opens automatically when an install finishes (and any time from Engine ▸ Preferences ▸ Printers ▸ Set Up Supply Groups…). Each bundled group can be Don't install, Install New, or Install & Replace — defaulting to Replace when a same-named group already exists, else Install New (Install New over an existing name adds a numbered copy). Your existing groups each get a Delete tick, and an “Install all & clear existing” preset installs a clean factory set.
Changed
- Buy links are now an editable field per supply part, instead of always opening a Brady part-number search. Brady (M6) parts come pre-filled with that same Brady link (nothing changes for them); edit it or paste your own supplier URL in Engine ▸ Preferences ▸ Printers ▸ Edit Supplies. Parts with a blank link — including Brother P-touch tapes for now — simply show no buy button.
1.7.0July 4, 2026Inches or millimetres, fractions & math in any field, new shapes, date/time text, and a smoother save/open flow.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Metric or imperial units, suite-wide. Choose inches or millimetres in Engine ▸ Preferences ▸ Advanced ▸ Units; the rulers, every dimension field, the print previews, and supply readouts all follow — with a quick in/mm toggle in the ruler corner. Saved labels are unchanged; it's display + entry only.
- Type fractions, other units, and math in any size field. Enter
1/8", 1 1/4, or 3mm and it auto-converts; do arithmetic like .25"-1/8" → 0.125". Works in inches or millimetres.
- Supply editor takes both units at once — an inch field and a millimetre field side by side (and feet + metres for roll length); type into either and both update.
- More shapes — rounded rectangles (corner radius), a solid-fill option, and new triangle and polygon (3–12 sides) shapes; Brother imports now bring these across.
- Date / Time text — a text object, barcode, or table cell can show the current date and/or time at print time, including compact numeric formats like
YYYYMMDD (20260704) and MMDDYYYY (07042026).
- Auto-sync a bound data file (Custom Designer) — the data reloads automatically when the source file changes, and a header-row number lets you treat any row as the header.
- Custom Designer save/open flow — “Save Label” saves to the open file (with a separate “Save as…”); ⌘S / ⌘⇧S save and save-as in both designers; and a start dialog offers your recent labels, Browse, or a new blank label.
Changed & fixed
- The Custom Designer's bound data file is now a menu button (Replace / Export / Clear), each file dialog remembers its own last folder, and the database toolbar wraps neatly on a narrow window.
- Opening a label no longer leaves an empty “Untitled” tab, the “Text source” buttons no longer clip on a narrow panel, and the records list keeps its scroll position.
1.6.2July 3, 2026Save a problem report to a file to send another way.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- The problem-report popup now has a Save Report… button that writes the full report to a Markdown file, so you can send it to the developer another way (e.g. an email attachment) instead of, or in addition to, submitting it. Also offered if a send fails, so a report is never lost.
1.6.1July 3, 2026Problem reports include your contact details again.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Changed
- Problem reports again include your name, email, and phone in the report sent to the developer's private repo, so they can follow up (reverts the 1.6.0 change that withheld them).
1.6.0July 3, 2026Hardening release — correctness, safety, and privacy fixes from a full codebase audit.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Fixed
- Settings (calibration, watch folder, print range, columns) set in one app now apply across the whole suite — existing settings migrate automatically; calibration now works for network and Brother printers too.
- No lost prints or unsaved work at startup: jobs submitted before the first printer scan are requeued and retried, print failures are announced, and a minimized designer can't quit without offering to save.
- Privacy: problem reports no longer include your name/email/phone in the issue text (contact stays on your Mac).
- Reliability & security: a dead network printer can't freeze the Engine, the print window sanitizes template content, a crashing preview can't reload-loop, and more.
1.5.0July 2, 2026Fresher cassette status, supply in the printer picker, and smarter update notes.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- The printer selectors in the print window and Custom Designer show each printer's loaded supply (part number or size) next to its name.
Changed / fixed
- Cassette/supply status now refreshes about every 30 seconds while printers are idle, and immediately when the print window opens — never while anything is printing.
- The update popup now lists the changes between your installed version and the new one (every version in between), and GitHub release notes show each version's actual changes.
- The print preview shows only the printable area again (the hatched physical-label margins stay in the designers).
- The printer registry's M611 USB id corrected to the hardware-confirmed value (existing installs migrate automatically).
1.4.1July 2, 2026No duplicate tabs, and one shared suite log.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Changed / fixed
- Opening a file that's already open now switches to its existing tab instead of opening a second copy — in the Template Designer, Custom Designer, and print window. New/untitled documents are never deduplicated.
- All four apps now write one shared rolling log (lines tagged per app), and error reports attach the combined suite timeline instead of a per-app log.
1.4.0July 2, 2026Printable-area margins on the canvas, and built-in error reporting.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Printable-area margins: both designers and the print preview now show the label's physical edges with the unprintable margins hatched, per printer. The Template Designer gains a Printer dropdown (saved with the template); the Custom Designer and print window follow the selected live printer and its loaded cassette. A Margins toggle hides the overlay.
- Built-in error reporting: errors now offer Report… — describe what happened and send the report (with system info, printer status, and recent log) privately to the developer. The Engine menu gains Report a Problem…; crashes are offered for reporting on the next launch. Your name/email (phone optional) are asked once and remembered.
1.3.1July 2, 2026Fixes the blank “Settings” window on launch.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Changed / fixed
- An empty "… Settings" window could open and stay on screen when any of the four apps launched or activated (seen on macOS 26). It's now closed the instant it appears.
1.3.0July 2, 2026Auto-update polish.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Changed / fixed
- The first-launch "how should VectorLabel check for updates?" prompt now defaults to every 7 days (was: on every launch). Every option can still be chosen, and changed later in Preferences ▸ Updates.
- Fixed an empty "VectorLabel Engine Settings" window that could appear when the update prompts surfaced.
1.2.0July 1, 2026Tables, auto-update, and cloud-file support.
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Table object in both designers — grids of data-bindable text cells with per-cell formatting, merged cells (merge/split), row/column resizing with locks, cell copy/paste, and right-click clear commands. Tables print identically everywhere.
- Auto-update: the Engine checks GitHub for new versions — on launch, every N days, or manually (Preferences ▸ Updates) — and offers Update Now / Remind Me Tomorrow / Don’t Update with the release notes.
- Online-only cloud files (Dropbox / iCloud / OneDrive) now download automatically before opening, with a cancellable progress popup — everywhere a file can be opened.
Changed / fixed
- Double-clicking a table cell reliably starts editing (every cell type); bigger stepper buttons and ↑/↓ stepping in the object settings panel.
- The installer warns (instead of blocking) on macOS older than 14.
1.1.0July 1, 2026First public release — the full four-app suite (Engine, Auto Print, Template Designer, Custom Designer).
Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac. The installer still lets you continue on an older macOS, but warns that it may not run correctly.
Added
- Design + print wire / cable / asset / panel / patch labels on a true-to-size canvas — text, barcodes, QR, DataMatrix, images, symbols and shapes.
- Vectorworks ConnectCAD integration — export circuits and the print window opens with your records loaded.
- Bind a CSV or Excel file (one label per row); spreadsheet-style formulas that match in preview and print.
- Tabs across the print window and both designers — work on several labels at once.
- Open Brady
.BWT and Brother P-touch .lbx templates (auto-converted).
- Brady M610 & M611 and Brother P-touch over USB & network, with live status and cassette auto-detection on the M611.
- Editable supply catalog and per-printer settings (cut, orientation, calibration, feed-to-clear).
Changed
- Auto-scale text never truncates — it shrinks the font until the whole value fits, instead of clipping to a “…”.
Fixed
- The light / dark / auto appearance choice now relays across the whole suite — change it in the Engine and Auto Print and both designers switch too.
Alpha: the Brady M611 is hardware-validated; the Brother P-touch drivers are partially hardware-verified — individual functions confirmed on real printers, but not yet end-to-end; the Brady M610 cut behavior is still not hardware-confirmed.
Looking for the full history?
This page is generated from CHANGELOG.md, the project's central record of what changed between versions. Each release above links to its GitHub Release, where the signed installer, a .zip and a .dmg are attached.