What's new in LabelCraft
LabelCraft - barcode labels for Shopify that print at exactly the size you set.
Improvements ship continuously. Here's what's changed recently - see support if you have a question or a request.
Fix a template that prints off the label without leaving the Print page · September 9, 2026
- When part of a template sits outside the label, every label it prints comes out cut off. The app has had a one-click repair for that since July, but it lived on the Templates page and in the warning under a finished print - one page you have no reason to open when you are printing, and one that arrives after the roll is spent. The pre-print check now offers the same repair, on the Print page, before you print: it moves each element back inside the label and keeps its size wherever it still fits.
- The button appears only when pressing it would actually change something on the labels you print. If the only elements outside the label have an invalid width or height, the check says what is wrong and sends you to the template editor instead of offering a repair that would move nothing. On a built-in paper size, which has no editor to open, nothing changes.
- What it tells you afterwards is what the app actually did: how many elements were moved, and how many still need you in the editor. It never tells you the next print is safe on the strength of the repair alone - it runs the check again on the template as it now stands, and if something is still wrong, the check says so before you print. Labels you have already printed are unaffected and past jobs reprint exactly as they did.
The pre-print check now tells you when a value will print cut short · September 7, 2026
- Some templates are set to cut text that does not fit and add an ellipsis, so a long SKU prints as ABC-12… instead of the whole code. Until now the app only said so AFTER the PDF was made, once the roll and the label allowance were already spent. The pre-print check now says it BEFORE you print: it names the element, counts the products whose value gets shortened, and lists them.
- It also measures the way out. When switching that element to "Shrink to fit" would hold every value in the print whole and still readable, the check says so, because it measured it with the same engine that draws your labels. When the box cannot hold the value at any readable size, it says that instead, and points at a roomier box, a larger label or a shorter value. It never suggests a change that would replace the ellipsis with a clipped label.
- On a built-in paper size, which has no editor, the check names the two things you can actually do rather than pointing at a template you cannot open.
Saved presets are now saved lists, and built-in presets are paper sizes · September 7, 2026
- One word, "preset", was doing two jobs in the app, and it was easy to mix up with Templates. The selection of products and quantities you save on the Print page and replay in one click is now called a saved list: on the Templates page tab, on the Print page, in the plan cards, on the public pricing page and in the guides. Nothing about it changed but the name. Your lists are where they were, at the same address.
- The built-in label formats you pick from the Paper size menu, Dymo 30334, Brother DK-1201, Avery 5160 and the rest, are now called paper sizes everywhere: on every screen, in the setup assistant and in the guides.
- The entries below this one keep the old words. They say what the app said on the day they shipped, and rewriting them would make this page lie about its own history.
Pro prints without a monthly limit again · September 6, 2026
- From 13 August a new Pro subscription came with an allowance of 1,000 labels a month, and printing stopped there until the next month. That allowance is gone. Every Pro shop prints without a limit, whether it subscribed before or after that date, and nothing bills you extra.
- The banners, the plan cards, the Billing page and the public pricing page say so in all four languages. If you ever saw a "Pro plan monthly limit reached" message, it will not come back.
- The Free plan is unchanged: 200 labels per calendar month, previews and failed renders never count, and the app stops rather than charging you when the allowance is spent. Retail Pro and Warehouse were unlimited already and stay that way.
Barcode check now recognises your own numbering instead of calling it 119 errors · September 6, 2026
- If you number your products yourself - a run of codes all the same length, that you or your supplier decided on - the Barcode check page has been calling every one of them invalid. One store opened it to read that 119 of its codes were errors, while the only codes the page approved were the 100 the app had generated for it. Each of those verdicts was true about the code and wrong about the store: a nine-digit number is not a retail GTIN, but it is not a mistake either.
- The page now looks at the shape of the codes it flagged rather than only at each one on its own. When they nearly all share the same length, it says so above the list: these look like your own numbering, and they are counted as not ready to print because they are not retail GTINs - which is what a marketplace, another retailer or a shopping feed asks for, and not something your own shelves need.
- Nothing is hidden. Every code it flagged before is still listed, still counted, still exportable, and the flagged codes that do NOT fit your pattern are counted out separately in the same sentence, because those are the ones that might be typing mistakes or repairable codes. A store whose invalid codes are mostly fixable - a wrong last digit, a leading zero a spreadsheet ate - is told nothing new, because it has a real repair to make and we would rather not talk over it. Neither is a bookshop: ten-digit ISBNs are recognised as ISBNs and left out of this, because an ISBN converts to a real retail barcode and that is worth doing.
Printing on a phone now moves your labels once, not twice · September 5, 2026
- When you printed, the app sent you the finished PDF twice: once as the download link you actually follow, and once more inside the reply that carries the link, encoded in a form about a third larger than the file itself. Nothing ever read that second copy while the link was there - the download has taken the link since the day we stopped announcing downloads that had not happened. It was simply paid for, on your connection, before the download could start.
- It is gone on that path, so a PDF print now transfers your labels once. On a phone in a stockroom, on the kind of signal a stockroom has, that is the difference the wait was made of. Printing straight to a Zebra as ZPL is unchanged for now: that format is a fraction of a PDF's size, so the same duplicate costs almost nothing there and we would rather change one thing at a time. Nothing about the labels themselves changed either: same engine, same sizes, same file, checked byte for byte against the one the previous version produced. And when the download link cannot be prepared at all - the one case where that inline copy is the only copy there is - it is still sent, because there the app would otherwise have nothing to hand you.
One setup email the day you install, and the privacy policy says so · September 4, 2026
- Installing an app and then working out on your own what to do next is where most of the label printers we hear from get stuck: twenty of the forty-six stores that installed LabelCraft have never printed a label. So the app now sends one email on the day you install, instead of hours later: the steps to your first label, in the order that works, nothing to buy, and a reply address that reaches a person rather than a queue.
- It goes to the email address of the Shopify account that installed the app, and the message says where we got it rather than leaving you to guess. It is sent once per store, and the one-click unsubscribe link in it stops every email from us for good. The privacy policy now lists that address under "Data we store", says it is kept to send this one message, names Resend as the provider that delivers it, and confirms the address is deleted with the rest of your data when you uninstall - unless you unsubscribed, in which case it stays on our opt-out list precisely so we can keep honouring that.
Your printer's own margins can shrink a label, and we now say so · September 4, 2026
- A shop printing on a Brother DK-1208 was getting labels that came out reduced, until they set the margins in the printer driver itself to the minimum. Nothing in the app mentioned that setting: our advice covered the browser's print dialog and the driver's scale option, never the driver's margins, which shrink the whole label to fit inside them on their own.
- The advice on the download step now names it, and the reminder shown before a print that goes straight to a label printer carries it as its own line. It is one reported case on one printer, and the wording says so: check your own driver's margins if a label prints smaller than the roll it is on.
The key picker now says exactly how much of your catalogue it read · September 3, 2026
- When you point a template line at a product detail (a metafield), the editor reads a sample of your catalogue and lists the keys it finds. When it cannot read all of it, it says so and names how far it got. That sentence counted VARIANTS and called them products, so a shop with four variants per product was told we had read a hundred products after reading twenty-five. It now says variants, and it also names the products those variants belong to, because we read the metafields of both.
- The same reading has a second limit we were not telling you about: we read a bounded number of metafields per product. On a product carrying more than that, a key you really do have can sit outside what we looked at, and the editor said none of your products had a printable value for it anyway. It now stays quiet in that case rather than naming a key that may well print: the list of keys we did find is still there, typing a key by hand still works, and the check before printing still catches a key that would print blank.
An API for the Warehouse plan: print from your own systems · September 3, 2026
- Paying merchants can now step down to a cheaper paid plan from the Billing page. The switch is deferred by Shopify to the end of the current billing period: you keep what you paid for until then, nothing is billed twice, and you can withdraw the change while the current period runs.
- Warehouse shops can now create API keys in Settings and print from a warehouse system, a script or any tool that can make an HTTP call. POST /api/v1/print takes a template and a list of variants with quantities, and answers with the same PDF and the same warnings the app would give you for that batch: same engine, same calibration, same checks. GET /api/v1/templates lists the presets and your own templates with their sizes.
- A key is shown once, when you create it, and can be revoked at any time. The limits are on the reference page at labelcraft.tech/developers, and every error names what to fix.
- Prints made through the API appear in your print history with the source "API" and the key's name, and they count toward your monthly labels like any other print. Warehouse has no cap, so nothing is refused.
- Templates too: read one with its full layout, create one from JSON, change its name or layout (each change keeps a snapshot, so past jobs reprint as they were), archive it. The same rules as the editor apply, and an element outside the label is refused with the box that would fit. And POST /api/v1/barcodes/audit runs the app's barcode check over a list of codes your system holds.
The check before printing now offers the fix, not only the warning · September 3, 2026
- When a template line points at a product detail (a metafield) that none of the products in your print carries, the check before printing has said so since August: which line, which key, how many labels would print without it. What it offered was a CSV. The two buttons that fix it, remove the line or point it at a key your products do carry, only appeared after the print, under the warning.
- They now sit on that same line in the check before printing, before the roll is committed. Same buttons, same rule: we only offer to remove a line when the key came back empty on every product in the print and the print was large enough to be sure, and we only offer a replacement key that your products actually carry, with an example of what it holds. The CSV is still there, and the buttons after the print are unchanged.
- The Android printing tip now names what one merchant found on a Galaxy Fold with a Brother printer: Firefox Mobile kept the paper size locked to Letter, and opening the same PDF from Google Drive printed at the right size. It says that much and no more.
The template editor now says when a product detail is not one your products carry · September 2, 2026
- A template line can print a product detail you keep in Shopify (a metafield), and it finds that detail by its key, like custom.designer. Get the key wrong and the line prints blank on every label, and until now the first thing that told you so was the warning after the print.
- The editor already reads your products and lists the details they actually carry, so you can pick one instead of typing it. What it never did was compare the key already on the line against that same list. It does now: if none of your products has a value we can print for that key, the line says so, names the key, and the list to pick from is right there.
- The sentence only ever claims what was measured. If we read your whole catalogue it says none of your products carries that key. If we stopped partway, it says how far it read and claims nothing about the rest. A reading that failed, or has not finished, says neither.
- This matters most on your first template. Two of the ready-made designs come with a designer, a note or a material line already on them, and the live preview fills those in with example text - so a shop that does not keep those details saw a preview that looked right and got blank labels. That preview is unchanged, but the line beneath it now tells you the truth about your own products.
- Your key is never rewritten. If you are building the template before filling the details in, type the key and ignore the note; nothing is changed for you, and nothing about what prints has changed.
Putting a QR code on a label is one button now · September 2, 2026
- QR codes have been in LabelCraft since June and nobody could find them. There is no QR in the element list, because a QR is a Barcode element whose format you set to QR Code. That is two dropdowns deep and not a thing anyone guesses, and a merchant wrote in to ask whether the app could do it at all.
- The element list now has an Add QR code button next to Add element. One press gives you a square QR, already sized so a phone camera can read it, and already set to open the product page when someone scans it.
- The size is the part that was quietly going wrong. A new element arrives 5 mm tall, and a QR draws square inside whatever box you give it, so switching one to QR Code left you with a 5 mm code. It saved without complaint, it is a legal barcode, and no phone will read it: its dots come out at 0.17 mm where a phone camera wants about 0.4. The button sizes the square from your label instead. And where an existing QR is too dense, there is now a Resize for phone scanning button beside the warning that used to give you the number and leave you to type it in.
- If your label is a full-width stack, which every built-in template is, the button also narrows the existing lines to open a column for the QR. It says how many it moved and puts an Undo next to it. A label that already had room is not touched.
- There is a new starting template too, Brother DK-1208 QR + barcode (90 x 38 mm): QR on the left, product title, barcode and price on the right. You will find it under Start from a built-in preset when you create a template.
- One thing worth knowing before you run a roll. A QR set to open the product page needs that product published to your Online Store. If it is not, LabelCraft leaves the QR off the label and tells you, rather than printing a code that opens nothing.
The print screen now tells you that labels can go straight to a printer · August 30, 2026
- LabelCraft can send a print job to your label printer itself instead of handing you a file to find and open. It has been able to do that for a long time, and the only way to discover it was a card near the bottom of Settings.
- The print step says so now, on the line above the buttons: with no printer connected you get a short note about direct printing and a link that opens the setup card itself, rather than dropping you at the top of a long Settings page.
- It also says what direct printing needs and what it costs, because that is what decides whether it suits you. It runs through PrintNode: their client sits on the computer wired to that printer and does the last hop, so if you print from a phone, the phone starts the job and that computer finishes it. A PrintNode account is free to test with, and printing then runs on their credits.
- The Settings card now says the same two things. It used to say “free” without qualifying it, and to offer “a networked printer”, which is the one printer this cannot drive: LabelCraft never opens a raw connection to a printer’s IP address, so a printer on the network with no computer beside it has to keep using the file downloads.
- Nothing changes if you already have a printer connected. The note does not appear, and the Send to printer buttons are exactly where they were.
A dividing line at the very top of a label no longer prints two different ways · August 29, 2026
- A dividing line is drawn centred on the height you give it, so a 4 mm line at 2 mm covers 0 to 4 mm. Put that same line at the very top - height 0 - and half of it has nowhere to go.
- The two printers then did different things with the part that hangs over, and neither said so. The PDF leaves it above the label. A Zebra pushes the whole line down onto the label instead. Same template, same label, the line ends up in two different places, no warning on either.
- Now both say it, in the same words, before the job: how far the line reaches above the top of the label, how far apart the two printers put it, and the height that puts the whole line back on the label. Nothing about what gets printed has changed - your existing labels come out exactly as they did yesterday.
- And if you use the one-click 'move it back inside the label' fix on a line, it now seats the line where all of it lands on the label, instead of leaving you with a new warning and no button to press.
- A hairline sitting on the top edge is left alone: the amount that overhangs is smaller than the tolerance the whole engine works to, and warning about it would be crying wolf.
The check before you print now catches a label that is too narrow for its barcode · August 29, 2026
- Some labels cannot carry a given barcode at all: an EAN-13 needs about 29.8 mm of label whatever you do with the design, because the code and the blank margin a scanner needs to find it are both fixed. Print on a 29 mm tape and the code goes out with too little margin.
- We already warned about that, but only on the printed job, and only in the check that runs before you print if you had picked one of our ready-made templates. On a template you built yourself - your own size, your own layout - nothing said a word until the labels were out of the printer.
- The pre-print check now asks the question on your own template too, and it answers with numbers instead of a verdict: the width of the label you are printing on, and the narrowest one that could hold this code. Where one of our templates is the same stock one size up, it names it.
- It also tells apart the two reasons a code runs short of margin. When your label is wide enough and something beside the barcode is taking the room, it says so and gives you the box width that clears it, rather than sending you to buy a roll you do not need.
The nightly barcode check can now come to you by email · August 27, 2026
- LabelCraft reads the barcodes on your catalogue every night, and when it finds something the dashboard shows you what: barcodes that will not scan at your label size, the same code on more than one product, codes with a wrong digit, products with no barcode at all, prices with more decimals than your currency allows.
- Until today you only saw that if you happened to open the app. Under that card there is now an offer to have the same check emailed to you once a week - and only on the weeks it finds something, so it is never an empty message. You leave an address, tick the box that says what it is for, and that is the whole thing.
- It is the same address and the same tickbox as everywhere else in the app. Nothing is sold, nothing else is sent, and you can remove the address at any time from Settings.
The pre-print check now tells you when it could not check something · August 27, 2026
- The check you run before committing a roll answers one question: is this job going to come out right? Until today it had only two answers, and the second one was doing double duty. If one of the things it looks at could not be looked at - Shopify rate-limiting us for a few seconds, a brief outage, a font that would not load - it dropped that part of the check and reported the rest as 'all clear'. Silence meant 'nothing wrong', and it also meant 'we did not look', and on the screen you read before spending a roll those are opposite facts.
- There is now a third answer. When a part of the check cannot run, the check says which part, in a line of its own: 'We could not check whether your metafield keys have a value on these products.' Everything it did manage to check is still reported exactly as before.
- Seven separate checks could go quiet this way, not one: your metafield keys, your prices against your shop currency, whether your text fits its boxes, which printer you use (and with it the Zebra and resolution checks), your printer calibration, whether an element falls off the page, and which of your template's elements your plan prints. All seven now say so.
- It is deliberately not an alarm. Nothing is wrong with your template when this appears - the failure is on our side or Shopify's - so it reads as a note rather than a warning, it never blocks the print, and it does not count against you when we ask whether you would leave a review. Waiting a moment and running the check again is usually all it takes.
An expired login no longer costs you a roll of half-empty labels · August 27, 2026
- Shopify signs you out of an embedded app more often than you notice - a password change, a permission change, or simply a long session. When that happened while LabelCraft was reading your product data, several screens quietly answered as though the read had succeeded and come back empty. The print screen was the expensive one: it handed you a finished PDF with every metafield line blank, counted those labels against your allowance, and told you to 'try again', which was the one thing that could not work.
- The pre-print check was worse in a quieter way. It reported 'all clear' for a check it had not been able to run, on the screen you look at precisely to decide whether to commit a roll.
- Now an expired session sends you back to Shopify to sign in again, on every screen: the dashboard, orders, returns, receiving, collections, locations, the print screen and the pre-print check. Nothing is printed, nothing is counted against your allowance, and you come back to the job you were doing.
- What has NOT changed, deliberately: a genuine hiccup on Shopify's side - a rate limit, a brief outage - still degrades the way it always has. Your labels are still produced, the affected field is still left blank, and the warning still tells you so. A slow minute at Shopify has never been a reason to refuse your print, and it still is not.
The 'use this key instead' button now shows you what that key holds · August 26, 2026
- When a template prints a metafield that your products have no value for, the warning under the print offers to point that line at a key your products DO carry. Until today those buttons named the key and nothing else - 'Use custom.materials instead' - which asked you to accept a swap sight unseen. If you have a dozen keys with names you chose months ago, that is not a decision anyone can make from a button.
- Each of those buttons now shows a real value, read off one of the products in the print you just made: 'Use custom.materials instead - "Linen"'. It is your own text, so you recognise the right key on sight instead of guessing at its name.
- The template editor's key picker has worked this way since the 14th. The print screen was the surface that still made you guess, and it is the one you are on when the problem actually shows up.
- Nothing else about the offer changed: the same keys are proposed, in the same order, and a key we could not read a value for is still offered by name rather than with an invented example.
Your logo now prints on a Zebra, and the app has stopped telling you otherwise · August 24, 2026
- Until this week the Zebra path drew no logo at all. It skipped the element, warned you, and the guide told you to print that template as a PDF instead. That was true, and it is no longer true: LabelCraft now converts your logo into printer dots and sends them in the label itself, so a template with a logo prints on your Zebra like any other.
- Two things had not caught up, and for a day they contradicted each other. The template editor still showed 'ZPL output will drop some of this - logo not printed', while the pre-print check, which had caught up, said nothing about the same template. The editor was the one to believe least: it is where you decide whether ZPL suits your label at all, and it was steering you away from something that works.
- The editor advisory no longer mentions logos, the pre-print warning now names the real reason when a logo genuinely cannot be drawn, and the ZPL guide has been corrected in all four languages.
- The one limit worth knowing, because it is real: a Zebra is a monochrome printer. Your logo is converted to black and white, so a colour logo comes out as solid black shapes rather than shades. If that is not what you want for a particular template, the PDF output still renders it in full colour - and if your Zebra is connected through PrintNode, 'Send to printer' sends that PDF to the same machine.
- If a logo still gets skipped, the warning now tells you which of the two real causes it is - an image the app cannot read, or a box too small to hold even one printer dot at your label size - because those have opposite remedies.
The three Zebra warnings that make an element disappear now tell you where it went · August 22, 2026
- Three warnings on the Zebra path are unlike all the others: instead of printing something imperfect, the element is left off the label entirely. A logo image, a GS1-128 barcode, and a Data Matrix, ITF-14 or Code 39 barcode are each skipped rather than drawn wrong, because a barcode that scans as the wrong data is worse than no barcode at all.
- We have always warned you before and after printing, and never dropped one in silence. What we did not do was give you anywhere to go. Every other warning offers a 'Read the guide' link; these three, the only ones where something is actually MISSING from the label in your hand, offered nothing.
- All three now link to the ZPL guide, which lists exactly what the Zebra path draws natively and what it does not.
- That guide also gained the part that was missing from it: what to actually do. You do not need a second printer. If your Zebra is connected through PrintNode, the print step already shows 'Send ZPL to printer' and 'Send to printer' next to each other, and the second one sends the rendered PDF to that SAME printer. So a template with a logo is not a template you have to take somewhere else: print that one with 'Send to printer' and keep everything else on ZPL.
- The one setup this does not cover is stated on the page too, because it is real: a Zebra running in network-only raw-ZPL mode, with no driver and no PrintNode, cannot be handed a PDF by the app.
The pre-print check now asks your Zebra about barcode width too, and calibrated shops were the ones it was failing · August 22, 2026
- The check you can run before printing tells you when a barcode is too small to scan. It measured that one way for everyone: by drawing the barcode as an image and shrinking it into its box, which is exactly how our PDF output works.
- A Zebra does not draw an image. It is told how many printer dots wide one bar should be, works that out from the box WIDTH alone, and the height of the box only ever decides how tall the bars are. Two different rulers for the same question.
- For most shops that difference was harmless, and that is why it went unnoticed for so long: measured against what a Zebra really prints, the old ruler was simply stricter. It occasionally called a barcode too small that your Zebra prints perfectly well, and it never missed one.
- It stopped being harmless the moment you calibrated your printer. If you have run the printer calibration in Settings, the check was measuring your barcode at the CORRECTED size, while the file we send your Zebra is deliberately built at the size you authored, because a Zebra applies its own calibration. On a printer calibrated wider, the check was measuring a box up to a fifth wider than the one your Zebra is actually handed. It cleared barcodes your Zebra then printed under the scanning minimum, and the roll was spent before anything said so.
- We measured this against the real Zebra output rather than reasoning about it: across 3,168 combinations of calibration, box size, resolution and barcode value, the old check missed 102 barcodes the Zebra itself warns about, and nine in ten of those were on a printer calibrated wider than nominal.
- If your printer is a Zebra, the check now also asks the Zebra side, using the same code that builds the Zebra file, and at the size you authored. As with the text check before it, anything the Zebra flags is ADDED to what the check already told you, never swapped for it, because the PDF and ZPL buttons sit side by side on the print page and we cannot know which one you are about to press.
- When your Zebra is the only one complaining, the width it asks for is the Zebra's own number, and the box it quotes back is the one you typed - so the figure you act on is the figure that fixes your print.
- If you print PDFs, or you have never run the printer calibration, nothing about the check changes.
If you print to a Zebra, the pre-print check now asks the Zebra too · August 21, 2026
- The check you can run before printing measures every text line against the box it has to fit in. Until now it measured them all one way: the way our PDF output draws them, with the font the PDF embeds.
- A Zebra does not print that way. It draws text with its own built-in font, wraps lines only at spaces, and steps type sizes in whole printer dots. So a line the Zebra genuinely cannot fit could pass the check in silence, and the roll was spent before anything said so.
- If your printer is a Zebra, the check now ALSO asks the Zebra side, using the same code that builds the Zebra file. Not an approximation of that output: that output's own verdict. Anything it flags is added to what the check already told you, never swapped for it, because the PDF and ZPL buttons sit side by side on the print page and we cannot know which one you are about to press. So this release can only ever tell you more, never less.
- The same goes for a Zebra shop that has run the printer calibration. The Zebra file is deliberately built at the size you authored, because a Zebra applies its own calibration, so the Zebra half of the check is now measured at the authored size. The PDF half keeps using the calibrated size, which is what a PDF actually prints.
- Barcode height, same story, and this one costs labels that will not scan. A Zebra gives the bars about two thirds of the barcode box and the rest to the digits underneath, so a box 4 mm tall prints bars about 2.5 mm tall. Below 3 mm a scanner struggles to acquire the barcode at all, and the printed label has always said so afterwards. The pre-print check was screening the BOX height instead, so any box between 3 mm and roughly 4.5 mm passed it and then warned on the printed label. For Zebra shops the check now also uses the height the Zebra will actually draw.
- The two things the check RECOMMENDS were fixed in the same release, and the second one matters most. When it offers you a ready-made template with a taller wrapping title area, or a set of numbers to retype into the editor, it re-checks its own suggestion before showing it to you. That re-check was against the PDF output only, so on a Zebra it could hand you a template, or numbers, that did not actually clear the problem. Both now have to clear your Zebra as well, or the check says nothing rather than something wrong.
- The retune needed a second fix and it is the one that would have cost you labels. It buys height for the title by taking it from the barcode underneath, down to a floor. That floor was the barcode BOX height, and on a Zebra the bars are only about two thirds of the box, so the numbers it offered could leave your bars under the scanning minimum. Fixing only the title half would have made this worse, not better: refusing the shallow suggestions pushed it to take even more off the barcode. The floor is now the Zebra's own, about 4.6 mm of box at 203 dpi, so a suggestion never trades a clipped name for a code your scanner cannot read.
- What this release does NOT do, said plainly: it does not make the check quieter. There are a handful of narrow bands the PDF side calls too long and a Zebra prints perfectly well, and the check still names them, because dropping them would mean going silent on you if you print that same template as a PDF.
- If you print PDFs, nothing about the check changes.
The pre-print check now measures your fixed text lines too · August 21, 2026
- The check you can run before printing measures your text lines against the boxes they have to fit in, and tells you which ones will not fit - before the roll is spent, rather than after.
- It had a blind spot: a FIXED text line, the kind that says the same thing on every label ("Made in France", your shop name, a care instruction), was never measured there. The printed label warned about it afterwards, as it always has, and the template editor flags an obviously overlong one while you are typing it - but the check you run just before printing, with the products you are about to print, said nothing about it.
- Fixed text is now measured with exactly the same ruler as everything else, and a line too long for its box is named in the check, in the same list as an overlong title or SKU. Nothing else about the check changes, and a fixed line that fits stays silent.
- Four line types are still left to the printed label's own warning: vendor, metafield, date and serial number. Only vendor is genuinely unavailable to the check; the other three are simply not wired into this measurement yet. A serial number in particular can outgrow its box exactly the way a fixed line can, so if you print one, the label's own warning is still what tells you.
A reprint that never finished no longer eats your monthly labels · August 20, 2026
- Labels are counted the moment a print starts, before the file is built, so that two prints running at once can never slip past your monthly allowance together. If a print then fails, the count is given straight back.
- A REPRINT of an earlier batch was the exception, and it went the wrong way. A reprint reuses the original batch's record rather than writing a new one, so its labels were marked as used the instant they were counted. If the reprint then died part way - the connection dropped, the server restarted mid-render - nothing was left to say those labels had never reached your printer. They stayed on your month. On the Free plan a 100-label reprint that failed like that could hold you at your limit until the 1st of the next month, for labels you never received.
- That is fixed. A reprint's labels are now marked as used when the reprint actually completes, so one that dies leaves the same repairable trace a failed ordinary print has always left, and the automatic correction that already existed gives them back - on your next page load, not next month.
- Nothing changes for a print that works: a reprint that finishes still counts, exactly once, and labels that genuinely reached your printer are never taken back off your month.
The problem-report CSV names the right remedy for a metafield warning · August 20, 2026
- The problem report you can download after a print has a Recommended fix column. For the warnings about metafields, it read "Review this element in the template editor, then reprint" - a sentence that pointed at the template editor while the warning next to it, and the one-click buttons under it on the print page, already spelled out what to do about the metafield reference itself.
- The column now says what actually resolves those warnings: point the line at a metafield your products actually carry, or remove it - and when the print banner shows one-click buttons under the warning, one of them does either safely. A metafield price with the wrong number of decimals gets the decimals advice its own warning already gives, instead of the generic sentence.
- The warning texts themselves, the banners on your print pages, and the one-click buttons are unchanged; this is only the CSV column that recommends the fix. The one transient case - a metafield that failed to load from Shopify - keeps its retry-first advice on purpose.
- One smaller mapping fix in the same release: "Read the guide" is now offered on two metafield warnings that had no page to land on before, and the ZPL notice that appears when a non-default sheet layout gets ignored on a Zebra template now names the same remedy as every other ZPL-native limitation - switch to the PDF output for that template - instead of pointing at the template editor.
"Remove this line" now waits until we have actually seen enough of your catalogue · August 20, 2026
- When a metafield on your label comes back empty, we tell you so and offer to fix it in one press: remove that line from the template, or point it at a key your products really carry. The removal was offered too readily. It only ever asked one question - did this key come back empty on every line of this print? - and a print can be a single line: one returned item, one receiving line, one bin from an import.
- On a print of one product, "empty on every line" means empty on one product. That is no evidence at all that the key is wrong, and pressing the button would have deleted a line that may print perfectly on the other nine hundred products in your catalogue. There is no undo for that: you would have had to rebuild the element in the editor from memory.
- So the removal button now appears only on a print covering at least five different products. Everything else is unchanged: you still get the warning, it still names the key and says on how many products it came back empty, it still lists the keys those products do carry, and the buttons that point the line at one of those keys are still there at any size. Only the irreversible action waits for evidence.
- One more case, from the same review: reprinting an old job used to re-offer fixes for lines you had already dealt with. A reprint faithfully reproduces the label as it was when you first printed it, which is deliberate, but the fix button was being derived from that old copy rather than from your template as it stands today. Press it and nothing happened, correctly but pointlessly. Those offers are now checked against your current template first.
- If you print a real batch, you will not notice this. If you were about to delete a working line on the strength of a single return label, you will not do that any more.
A counting bench: scan a delivery, hands on the cartons, never on the mouse · August 19, 2026
- Receive & label gets a sibling: the counting bench. Open a session from an incoming transfer (or start empty), and scan items with your barcode scanner as they come off the truck. Each scan adds one to its line - no field needs to be selected first, and the count is saved as you go, so a closed tab, a dead battery or an interrupted afternoon loses nothing. Two people on two devices can count the same delivery together.
- The bench never guesses. A code that belongs to two lines asks you which pile the carton goes on. A code that matches nothing on the paperwork opens an add-it form with the code already filled in, because a supplier shipping something you never ordered is a normal Tuesday, not an error. And if your scanner is configured oddly - sending a symbology prefix, or no Enter after each read - the bench names the exact setting to change instead of sitting silent.
- What went wrong with a delivery gets recorded, not just counted: mark units as damaged, wrong item or not ordered, with a note, per line or for the whole delivery. Shortfalls and overships against the paperwork are computed and shown automatically. A finished session is a durable record of what actually arrived.
- Printing is unchanged: one button prints exactly the labels the counted units still need, on the template you choose, through the same engine, quota and job history as every other print. Labels follow what arrived, never what was ordered - a short delivery prints for what came, and the rest prints when the rest turns up. The counting bench is part of the Retail plan, like the rest of receiving.
Saving a preset now explains every refusal in your language · August 19, 2026
- When saving a selection as a preset was refused, the reason was written only in English, sitting under a heading that was in your own language. French, German and Spanish merchants read half a sentence in their language and half in someone else's.
- Every one of those reasons now speaks the same language as the rest of the app: too many variants for one preset, no variants selected, a blank name, a name over the length limit, a quantity outside the allowed range.
- The one you were most likely to meet: a preset holds up to 500 variants, and a collection can hold more than that. Opening a 600-variant collection and pressing Save is all it took, and the sentence explaining why came back in English. It now tells you the limit, in your language, and what to do about it.
- Some of these sentences also read differently in English than they did, which is worth saying rather than filing under 'translated'. They used to state the rule and stop; several now say what to do next, and the one about quantities was wrong by omission until this release: it named only whole numbers, when a preset set to follow your live inventory levels is equally valid.
- This finishes what an earlier release started. In August we translated the message you get when your Pro plan has just ended, and left the more common refusals beside it in English.
- Nothing about what a preset can hold has changed, and a save that worked before works exactly the same way.
The one-click fix for a blank label line now follows you everywhere · August 19, 2026
- When a template has a line that reads a product detail (a metafield) and that detail is empty on every product in the batch, LabelCraft tells you which line came out blank and offers two buttons: remove that line from the template, or point it at a detail your products actually carry.
- Those buttons only ever appeared when you printed from the Products screen. Print the same batch from Orders, from a collection, from a receiving session, from returns, from a CSV import, or by reprinting a past batch, and you got the same warning with nothing under it to press. The only way out was to go and edit the template by hand, and nothing on the screen said so.
- The buttons now appear on all of those screens, including reprints. Same two buttons, same single click, same result.
- Nothing about what prints has changed, and the warning itself is unchanged. A line that is blank on only some of your products still gets the warning and no Remove button, on purpose: removing it would cost you the products where it does print.
- One place deliberately never offers the buttons: bin and shelf labels. Those are locations, not products, so a product detail is empty on every one of them by definition and offering to delete the line off that would be advice from the wrong evidence.
The app stays in your language after the first click · August 19, 2026
- Shopify tells us which language your Shopify admin is in only on the first screen you open. From your first click onwards we were guessing from your browser's language settings instead, which is a different thing: if your admin is in German but your browser was installed in English, LabelCraft switched to English and stayed there for the rest of your visit.
- It now remembers the language Shopify told us, so every page keeps it. Change your admin language in Shopify and the app follows you on your next visit, as it always should have.
- Shopify's admin language is a per-person setting, so the language is remembered against the staff member it belongs to. A colleague opening LabelCraft can never put you into THEIR language, which is what a first attempt at this got wrong.
- Being straight with you about the limit: we remember one person at a time per store. If a colleague opens the app after you, your next click falls back to your browser's language again until you next arrive from Shopify. That is the same thing that happened before this release - it is just no longer permanent. If you work with colleagues in different languages and this gets in your way, tell us and we will keep one per person.
- To remember it we store your Shopify user ID alongside the language. That is the number Shopify puts in the login session, without your name or your email address, and it is listed in our privacy policy under "Data we store". It is deleted with the rest of your store's data if you uninstall.
- One smaller fix in the same release: the printed calibration ruler could come back captioned in your browser's language instead of your own. It now matches the app.
Saving a preset now explains itself in your own language · August 17, 2026
- If your Pro plan ended while you had a print page open, saving a selection as a preset failed with a message written only in English, sitting under a heading that was in your language. French, German and Spanish merchants read half a sentence in their own language and half in someone else's.
- The refusal is now written in the same language as the rest of the app, and it says what the plan costs so you can decide without going looking.
- English shops see a slightly different sentence than before: the same one this screen already used elsewhere, which names the price. One message, one wording, everywhere presets are mentioned.
- Nothing about what is or is not included changed. Saved presets are still a Pro feature, and if your plan is active nothing about saving is any different.
The template editor stops throwing away your work in silence · August 16, 2026
- The label template editor holds every change in the page until you save it. Until now the back arrow beside the title, and any link in the app navigation, took you away and dropped the lot without a word: a label you had spent twenty minutes positioning was simply gone, and nothing on screen had warned you it was at risk.
- The editor now knows when it is holding unsaved work. An 'Unsaved changes' badge appears beside the template name the moment you change anything, and leaving the page asks you first, with both choices named plainly: discard the changes, or keep editing.
- Reloading the page or closing the tab raises your browser's own warning for the same reason.
- Nothing changes when there is nothing to lose. An editor you have only looked at still leaves in one click, saving works exactly as before, and the preview, test PDF and ZPL download are untouched.
A catalog code is a barcode too, and import now says so · August 16, 2026
- Import warns you before a doomed run when the column you are matching by does not look like the match type you picked. That check only recognised barcodes that are GTIN numbers: 8, 12, 13 or 14 digits. A catalog code like STUMM123, the kind a record label or a book wholesaler prints, is an ordinary Code 128 barcode and was invisible to it.
- So two things went wrong for those files. Matching your Barcode column by SKU produced an empty run with no warning offered. And matching it by barcode, correctly, could produce the opposite warning, telling you to abandon your real barcode column for whatever numeric column sat beside it: a product id, an order reference.
- Both are fixed, using your column title rather than guessing from the characters. A column titled Barcode, Code-barres, Strichcode or Código de barras that holds codes is treated as barcodes even when they are not numbers, and the advisory now points at the right column in all four languages.
- Your SKU columns are unaffected. The same values under a SKU title raise nothing, deliberately: a catalog code and a SKU are made of the same characters, and only the title tells them apart.
Rejected stock is no longer described as a late delivery · August 16, 2026
- When you receive a transfer, Shopify records every unit as either accepted or rejected. Receive & label only asked how many were accepted, and read 'none accepted' as 'nothing turned up' - so a line you inspected and refused was reported to you as ordered units that haven't arrived yet, both on screen and in the put-away manifest you download.
- That sentence pointed you at the wrong action: waiting for a delivery that had already come and gone, instead of raising the rejection with your supplier. The manifest was flatter still, filing those units as 'never received'.
- The screen now reads the two figures Shopify actually publishes - what is still outstanding, and what was rejected on arrival - and reports them separately. Rejected units get their own message naming the supplier as the next step, and their own row in the manifest, so nothing is quietly dropped in exchange.
- A line that genuinely hasn't arrived reads exactly as it did before, and a delivery that arrived short still shows its Expected column and its shortfall. If a line was part-accepted and part-refused, the refused units are now named beside the shortfall rather than left unexplained.
One shelf, one stack of labels, however you typed it · August 15, 2026
- When you split an import by a put-away column - Location, Bin, Aisle - the value in that column decided the stacks, character for character. So a list with 'Aisle 3' on one line and 'aisle 3' on the next printed two stacks for one shelf, and nothing said why.
- The stack now ignores case: those lines are one destination and one stack. The name printed on it is the way you first wrote it in the file, not lowercased and not the last spelling seen.
- Two genuinely different destinations still stay apart, and the product code itself is still matched exactly as written - two spellings of a SKU can be two different variants, and merging those would print the wrong label rather than tidy a shelf.
Import now reads a supplier list whose columns are not in English · August 15, 2026
- The import screen guesses which column holds your codes, which holds the quantities, and which holds a put-away location, by recognising the words in the title row. It only knew English ones, so a German packing list headed Artikelnummer / Menge / Lagerort matched nothing.
- That was worse than getting no suggestion. With no word recognised, the file looked like it had no title row at all - so the titles were read as a product, giving you an error about an invalid quantity for a SKU called 'Artikelnummer', and the columns were guessed by position instead.
- German, French and Spanish words are now recognised for all four: codes, quantities, put-away locations, and case or pack columns. Accents no longer decide anything - Quantite, Quantité, and the decomposed spelling a Mac writes, are one word.
- The words that only look like quantities are still ignored, deliberately. A Betrag, Montant, Importe or Total column is money, and a Bestand or Existencias column is what you already hold: neither is a number of labels. A Bezeichnung, Désignation or Descripción column is the product's name, not its code.
- An English file behaves exactly as before, and every column stays yours to set by hand. This only decides what the selectors start on.
The message that stops a print now speaks your language · August 15, 2026
- When a print is refused because you have reached your monthly allowance, the banner that appears says so in a sentence sent by our server. Its heading and its button were translated. The sentence between them was not: in French, German and Spanish you read a French heading, a French button, and an English line stating the actual numbers.
- That line is now in all four languages, everywhere it appears - Print, Print a collection, Orders, Returns, Receiving, Import, Location labels, and the reprint buttons on your dashboard and in your print history.
- The English wording is unchanged, down to the punctuation, and so are the numbers in it: what your plan allows, what you have used, and what is left.
Receiving and Returns now say when a delivery has nothing they can label · August 15, 2026
- If every unit on a received shipment belonged to a product we could not match - typically one deleted since the transfer was raised - that whole shipment did not appear in the picker. Not greyed out, not explained: absent. If it was the only one you had received, Receiving showed you its empty state, and the only reading available was that the app could not see your delivery.
- Returns did the same thing to a return whose restocked units were all on products that no longer exist.
- Both pages now count those and say so above the list: how many are not shown, why, and how many units that leaves you to check in Shopify. It reads on the empty state too, which is exactly where the silence was worst.
- A shipment or return that has anything at all we can label is unaffected - it was always in the list, and it already carried its own note about the units it had to leave out. Nothing that could be printed before stops being printable.
- It stays quiet where there is nothing for you to do. A transfer split across two shipments, where the second one records no units because they all arrived on the first, raises nothing: that stock is on your shelf and already labelled. Nor does an empty shipment with no units on it at all.
- Orders has read this way since the start of the month; Receiving and Returns were the two screens still missing it.
A Pro plan at its monthly limit is no longer told it is on Free · August 14, 2026
- Yesterday's release introduced Retail Pro and, with it, a 1,000-label monthly allowance on new Pro subscriptions. The place printing actually stopped told you the truth: "Pro plan monthly limit reached - 1000/1000 labels used this month." The banner across the top of the page did not. It said "Free plan label limit reached. You've used 200/200 free labels this month", and offered you Pro - the plan you were already paying for.
- From that day every one of those banners read your own plan and your own allowance. At the limit, a Pro shop saw 1,000 of 1,000 and was offered Retail Pro, the tier that lifted the cap. Approaching it at 800, it said 800 of 1,000 instead of claiming all 200 were gone, so the 200 you could still print stayed usable. That allowance was removed on 6 September: Pro prints without a limit, and the two Pro banners went with the cap.
- This was on all eight screens that can print: your dashboard, Print, Print a collection, Orders, Returns, Receiving, Import and Location labels. They now share one banner rather than eight copies of it.
- Nothing changed for anyone on Free, whose banner is word for word what it was, or for the Pro subscribers who had kept unlimited labels - they had no limit and were shown none, which is true of every Pro shop today.
Import and Print a collection stop pointing you away from themselves · August 14, 2026
- When a collection, vendor, tag or product type turns up nothing to label, the page says "Try a different collection, vendor, tag, or product type" - and then put its loudest button on Barcode check, which is a different page. The re-pick you were just asked to make already had a button of its own. That one is now the only one shouting, and while you are mid-change, with nothing yet chosen to search for, the escape hatch takes its own emphasis back rather than leaving you with nothing to press.
- The Import page had the same problem in a sharper form. "Paste or upload your list" is step 1, but until you paste something its Match products button is greyed out, so the loudest button you could actually press was again the one that leaves. Upload now carries that weight while the box is empty, and Match products takes it back once there is something to match.
- Nothing was removed from either screen. Try a sample print and Check & add barcodes are still there, in the same order, going to the same places - they are just no longer competing with the step you were being asked to take.
The rest of the downgrade screen now says what the confirmation says · August 14, 2026
- Yesterday's release corrected the confirmation line so it states the Free allowance as 200 labels per calendar month, and says that labels already printed that month count against it. Two other sentences on the same flow kept the old, flatter wording, and one of them sits inside that very confirmation.
- If you tell us you are leaving because you are not printing enough, the note that follows read "the Free plan keeps your templates and your print history, with 200 labels per month". That note exists to tell you what Free is really like, so it was the wrong sentence to leave rounded off. It now names the calendar month and the same counting rule as the line above it.
- The Retail Pro downgrade card said "200 labels per month" where the Pro one said "per calendar month". Both read the same way now.
- Wording only. Nothing about what you can print, or when your allowance resets, has changed.
Change a label's size and the editor tells you what stopped fitting · August 13, 2026
- Changing a template's width or height does not move what you already placed, and it never did. Until now the editor did not say so at the moment you changed it: the elements that no longer fit were flagged one by one, far down a long page, and the first clear news usually came when Save refused the template.
- The size fields now carry the count themselves. Shrink a label under its contents and you get, right there, how many elements run past the edge and by how much - the same list, in the same words, that Save would have refused you with.
- There is one button to put all of them back inside, instead of fixing each element in turn. Boxes that are merely misplaced keep their exact size and are moved in; a box genuinely wider or taller than the new label is reduced to fit. If one of them has an invalid width or height, the banner says how many it cannot move for you rather than quietly leaving them out.
- This is a warning arriving earlier, not a new rule: what the app will and will not print is unchanged, and a template that saved yesterday still saves today.
What the Free plan gives you after Pro, said accurately before you decide · August 13, 2026
- If you move from Pro back to Free, the confirmation said you would keep "up to 200 labels per month on the Free plan". That was not the whole truth. The Free allowance is 200 labels per calendar month, and labels already printed in a month count toward that month's allowance - including the ones printed on Pro. Print heavily early in a month and move to Free, and the honest number for the rest of that month can be zero.
- The confirmation now says so: the allowance is stated per calendar month, and it tells you that earlier prints count against it, so you can see what you are choosing before you choose it. The Billing page one-liner says "per calendar month" too.
- We also fixed a sentence that could not be true. If your count was above the Free allowance, the limit banner read "You've used 800/200 free labels this month", and the message on a blocked print said the same. You never used 800 free labels: the allowance only ever held 200, and the rest printed on Pro with no cap. Those screens now read 200/200, so the meter and the sentence agree.
- Nothing about what you can print has changed, in either direction. A shop that moves to Free having printed 150 labels this month still gets the other 50, exactly as before.
"Generate 1 barcode(s)" - the wall before your first print, fixed in four languages · August 11, 2026
- Earlier today we fixed the getting-started card that tells you how many variants still need a barcode, so a shop with one to fix no longer reads "1 variants are missing a barcode". This fixes where that card sends you. Click through and the modal said "Generate 1 barcode(s) - preview", the button under it said "Write 1 barcode(s) to Shopify", and the confirmation said "1 barcode(s) written to Shopify" - in English, French, German and Spanish alike.
- All three read correctly at one and at many now, and the words that have to agree with them do too: French writes "1 code-barres ecrit" against "2 codes-barres ecrits", Spanish "1 codigo de barras escrito" against "2 codigos de barras escritos". The same sentence in the Barcode check modal was disagreeing with the print one at zero; both say the same thing now.
- Two more on the same path. The banner you get when a label link points at a product we cannot find said "1 of 2 products couldn't be found and were skipped" in English, and in German and Spanish it used a plural verb for a single product - a mistake no amount of proofreading the nouns would have caught. The German sentence also shared its "not" across both halves, so it read as though the product had been neither found nor skipped. And the French progress line under the getting-started card counted "1 etape(s) sur 3 terminee(s)".
- This is one tier of a larger sweep, and we would rather say so than imply the job is done: 281 of these markers remain, on paths you are less likely to meet in your first ten minutes. They are on the list.
The Receive page stops pointing you away from itself · August 11, 2026
- If you receive stock without raising a purchase order, Receive labels opens with no incoming shipments to show. We added a way through that in August - search what arrived, type the counts, print - and put it at the top of that screen.
- Underneath it, the fallback card was offering "Check & add barcodes" with exactly as much weight, in the blue button that normally means "this is your next step". It is not your next step when stock is sitting on your counter waiting to be labelled, and it takes you off the page you came to use.
- Both ways out are still there, in the same place and the same order, including the sample print. They are just quieter than the one that actually receives your stock.
"1 variants are missing a barcode" - the first screen you see, fixed in four languages · August 11, 2026
- The getting-started card on the dashboard tells you how many variants need a barcode before you print. It built that sentence around a number without ever asking whether the number was one, so a shop with a single variant to fix was greeted with "1 variants are missing a barcode" - and "1 variante(s)" in French, German and Spanish too. This is the first screen after installing, which makes it the worst sentence in the app to get wrong.
- All three of those callouts - missing barcodes, invalid barcodes, and barcodes that will not scan on your label - now read correctly at one and at many, in all four languages. The follow-on advice agrees with them: at one it says "generate it" and "see which product", not "generate them" and "see which products".
- The counts themselves are unchanged, including the "250+" form we show when there are more than we scanned in one pass. We would rather tell you the count is at least this big than quietly round it off.
Generated barcodes on narrow labels are proper in-store codes now · August 10, 2026
- If you have no GS1 company prefix, LabelCraft generates internal barcodes for variants that have none. Those normally start with "LC" so you can read at a glance that they are internal. On 8 August we started dropping that marker on shops whose labels are too narrow to print it, because the letters cost more width than the digits and the barcode was coming out blank. That change worked, and we never wrote it down here. This entry is us doing that.
- What we got wrong was the shape of the shortened code. A bare row of digits looks exactly like a GTIN-8, so Barcode check read our own generated codes as broken ones: it told you "GTIN-8 with a wrong check digit - scanners and marketplaces will reject it" and offered you one click to overwrite the code with a different number. Roughly one generated code in ten also came out as a different type of symbol than the other nine.
- Shortened internal codes are now valid GTIN-8s in the range GS1 reserves for in-store use. Barcode check describes them for what they are - "fine for in-store use, not a globally-unique retail code" - instead of flagging them as broken, and every generated code is now the same type of symbol as every other. They are also narrower than before, so they fit on labels where nothing would print at all previously.
- None of this touches a barcode you already have. Codes generated before today keep working exactly as they did, and existing barcodes are never overwritten.
"See what's changed" now shows you what changed · August 9, 2026
- The dashboard card would tell you there were three updates, and the page it opened showed every release we have ever shipped, as identical cards, with nothing marking which three it meant. Finding them meant reading roughly ten thousand words in the right order.
- Those releases now sit at the top under "New since your last visit", each with a New label. The page shows at most ten at a time and tells you when there are more, with a link to the full history for the rest - nothing has been removed, it is one click away instead of ten screens down.
- If you have never opened this page we do not guess which releases are new to you; you simply get the recent ones.
Print history, when it is empty, stops explaining how to reprint · August 9, 2026
- The print-history page said "You haven't printed any labels yet", and then, underneath, repeated the line written for a page that is full: how to reprint a past batch exactly as it was. The one merchant certain to have no past batches was the one being told how to reprint them.
- The empty page now says what will land there once you print, and keeps the button that takes you to Print labels. The line about reprinting stays where it is true, above the list.
Your first template no longer opens on an upgrade notice about fonts · August 9, 2026
- Opening a template put the Brand font card third on the page, above the elements and the preview. On the Free plan it came with a yellow warning about a Pro typeface - so the first thing you saw, before designing anything, was an upgrade notice for a feature you had not asked for.
- The card has moved below the element editor, next to the text it restyles. The upgrade notice now appears when you actually choose a font file, which is the point at which the plan matters. Before that, a plain line next to the picker says the upload is Pro, so nothing is hidden from you.
- The built-in font is unchanged and still free on every plan: printing your own alphabet is the app working, not branding.
The button at the bottom of Print labels no longer offers to add what you already added · August 9, 2026
- On Print labels, ticking a product is what puts it in your list. The button at the bottom of that step never added anything - it takes you to Quantities - but it was labelled "Add 5 & continue", and on a page you had just opened it read "Add to print list" with nothing selected yet.
- It now says where it goes, and how much you are taking with you: "Next: quantities (5 variants)". That matches the button one step later: "Next: print (12 labels)".
- Nothing about how you select products, or what gets printed, has changed.
The bin-label preview no longer stops at 200 rows without saying so · August 9, 2026
- Importing bin or shelf locations shows you a table to check before you commit a roll of labels. That table drew the first 200 rows and stopped. The count above it, and the print itself, covered all of them - so a 500-location import showed 200 rows with nothing on the page telling you the other 300 existed.
- There is now a line under the table saying how many rows are not shown, the same way the two advisories above it already state their own limits. Nothing about what gets printed has changed: every row you imported was always sent to the printer.
When a metafield prints blank, we now name the keys your products really have · August 9, 2026
- Shopify shows a metafield definition under the name you gave it, and stores it under a different string called the key. The label template needs the key. Typing the name is the easy mistake and there is nothing on screen to catch it: the metafield line simply prints blank, on every label, and the warning said the metafield was empty - which is true, and useless, because a key that does not exist and a product with nothing filled in produce exactly the same sentence.
- Yesterday we started adding a line to that warning listing the keys your products do carry, so you could spot the real one. It could not actually do that. It was only able to list keys already written into your own template, so on a template with a single metafield line it listed nothing and the advice never appeared at all - on precisely the template it was built for.
- It now asks your products directly what they carry, and names the keys you have not already used. Paste one in and the line prints. The list leads with the namespace your own key uses, then your custom ones, so the five it has room for are not spent on metafields another app put there; it never suggests a type that cannot be printed as text; and if the lookup fails for any reason the print is unaffected.
- Separately, the sentence explaining WHY this happens - that Shopify stores a key and displays a name, and that Settings > Custom data is where you check - only appeared when we had keys to list alongside it. A store whose products carry no other metafield got the advice it needed least often. It now appears whenever a metafield resolves on none of the products in a print, with or without a list.
When we suggest a wider label, it is now one your printer can actually take · August 8, 2026
- When a barcode cannot stay scannable on your current template, we name a specific wider one to switch to instead of leaving you to hunt through the list.
- That suggestion only knew the difference between roll labels and A4 sheets. It did not know the difference between the three kinds of roll: continuous tape that the printer cuts to length, die-cut rectangles, and die-cut circles. Those are three different things you buy. So a merchant printing on 29 mm continuous Brother tape was being told to switch to a 54 x 12 mm jewelry tag, which is wide enough and is also a different consumable in a different shape.
- The suggestion now stays on the stock you already use whenever something on that stock will work. In the case above it names the 62 mm continuous tape for the same printer. It will still cross over when nothing on your own stock can carry the code, because a suggestion that works is better than none, and it still puts a comfortable fit ahead of a merely adequate one.
A label count that drifted too high now repairs itself, on every plan · August 8, 2026
- Your label count for the month is charged the moment a print starts, and given back if the print fails. If the request itself dies mid-print - the server restarts, a deploy lands, a connection drops - it takes the refund with it, and the count stays high for labels that never came out of the printer.
- On the Free plan the app already noticed and corrected this on its own, by comparing the count against the print jobs actually recorded. On Pro it did not: with no monthly cap to enforce, that check was skipped, so an inflated number could sit on your dashboard for weeks. One store was showing 892 labels for the month against 88 it had really printed.
- A daily check now looks for a count standing above what the recorded print jobs can account for, on any plan, and corrects it using exactly the same comparison the Free plan already used. It only ever corrects DOWNWARD; it skips any store that has started a print or a reprint in the previous hour, so a job still running is never mistaken for a job that never happened; and it counts reprints and labels sent to a PrintNode printer as real usage. A correction can neither charge you for labels you did not print nor take away labels you did.
Carton barcodes (ITF-14) now say up front when the box is too small · August 8, 2026
- ITF-14 is the 14-digit code that goes on outer cases and cartons. Unlike a retail barcode it prints inside a heavy frame - the bearer bars - that the standard requires so a scanner dragged across a corner cannot read half a code as a whole one.
- We were sizing ITF-14 as though that frame were not there, so the minimum width we quoted was about a third too small: 21.3 mm at 300 dpi where the real figure is 31.0 mm, and 31.5 mm at 203 dpi where it is 45.8 mm. A box between those two numbers was accepted, and printed a code with bars narrower than any of our other symbologies are allowed to use.
- Now the width we ask for is the width the frame actually needs. A carton box below it is refused before the roll is spent, with the real figure in the message, exactly as every other barcode type behaves. The carton-label guide quotes the corrected numbers too.
- If you have an ITF-14 element narrower than the new figure, widen the box or move to a wider label; nothing else about how your labels print has changed, and no other barcode type is affected.
Customer data requests are now answered, and the privacy policy says so · August 7, 2026
- If a shopper asks a store you run for the data held about them, Shopify forwards that request to every app installed on the store. LabelCraft used to acknowledge it and stop there, because it was written when the app stored nothing that could relate to a shopper.
- That stopped being true when we began saving the order or return number on print jobs run from Order labels and Returns to label, so you can find and reprint a past batch. Erasure requests have been clearing those numbers for a while; access requests were still being answered as though there were nothing to look up.
- Now the request is looked up against your print-job history and the result is sent to you, the store owner, within the 30 days Shopify allows: which print jobs mention the orders in question, when they ran and how many labels they produced, or a clear statement that there are none. Nothing identifying the shopper is stored at any point.
- The privacy policy's GDPR section said we had nothing to return or erase. It now describes what actually happens, in all four languages.
When a label is too small for a barcode, we stop suggesting a fix that cannot work · August 7, 2026
- Some labels are simply too narrow to carry a given barcode: an EAN-13 needs about 29.8 mm of label whatever you do with the design, because the code and the blank margin the scanner needs are both fixed.
- Until now the warning for that case ended by telling you to give the barcode more width by trimming other elements, or to widen the box. When the label itself is the limit that is advice with no effect at all: every millimetre the barcode box gives up comes straight back as blank margin, so the verdict does not move. You could spend a long time resizing and never see the warning clear.
- The warning now names the remedies that exist: a wider label (with the concrete preset if one of ours fits), a shorter symbology, or a shorter value. It says this only after checking every barcode width this label could give: if any of them would work, you get the same advice as before, because there it works. Two common cases go that way - something sitting beside the barcode squeezing it, and a barcode box so wide that the blank margin the scanner needs has nowhere left to go.
A special character no longer hides whether your text fits · August 6, 2026
- When a product name or price contains a character our standard label font cannot print - a Hungarian ő, a Polish ł, a currency symbol like ₴ - the printed label shows a question mark in its place, and we warn you about it.
- Until now, that one character also switched off the separate check for whether the text fits inside its box. You were told about the question mark and told nothing about the overflow, on exactly the labels most likely to have both.
- The check now measures the text the same way the printer does, question marks included, so it answers about fit whatever characters your text contains. Text that always printed cleanly is measured exactly as before and no verdict about it changes.
The pre-flight check now reads your price the way your labels print it · August 6, 2026
- Earlier today the app started printing prices in your store's own currency formatting, so a tag matches your storefront instead of guessing from the language your admin is set to.
- The check that runs before you print did not get the same change, so it was inspecting a differently formatted price than the one going on the label. For a store whose currency symbol is outside the standard label alphabet - Czech koruna, zloty, lira, baht, rouble, hryvnia, naira, lev - that meant the check called the job clean while the printed tag showed a question mark where the symbol belongs.
- The check and the printer now build the price with the same code, so what you are shown before printing is what the roll receives. If a character will not print, you are told which one, and on which product, before the labels are spent.
The template list stops saying "roll" in French · August 6, 2026
- On Templates, the badge naming each template's media showed the word stored in our database - always the English "roll" or "sheet" - so on a French, German or Spanish admin it was the one untranslated word in an otherwise translated table.
- It now reads Rouleau or Planche, Rolle or Bogen, Rollo or Hoja. Nothing else about the table changes.
Long product names stop spilling off the label in silence · August 6, 2026
- Before printing, the app measures your text to decide whether it fits. That measurement was reading a slightly narrower string than the one that actually gets printed - up to 1.1 mm narrower on a name like "WATERPROOF" - because it counted the tighter letter spacing that page-layout software applies and label files do not. Digits are spaced the same way either way, so prices, SKUs and barcode numbers were never affected: this only ever touched lettering, which in practice means product and vendor names.
- The consequence was the one thing this app exists to make impossible. A name could print past the edge of its box with nothing warning you - the pre-flight check called the job clean, the print said nothing, and the roll was already spent by the time you saw it.
- Text is now measured at exactly the width your labels carry, so a name that will not fit is caught before you print, and one that does fit is left exactly as it was. Nothing gets smaller: across every built-in template, not one font size changed.
- Centred and right-aligned text was pushed slightly too far right for the same reason - a right-aligned price could creep into the clear space a barcode needs to scan. It now lands where it belongs, within a tenth of a millimetre.
- The calibration sheet and the ruler page had the same flaw, and it mattered more there: both promised their captions would never run off the page, and in French, German and Spanish they sometimes quietly did. They no longer can.
Remove buttons say what they remove · August 6, 2026
- In the quantity tables on Print labels and Print a collection, every row's Remove button was announced to a screen reader as just "Remove", with nothing to tell the rows apart - and one press deletes the row straight away. Each button now says which product and variant it removes, so the two rows of the same product in different sizes are no longer indistinguishable.
- The column those buttons sit in also had no name. It has one now, read by screen readers and invisible on screen, so nothing about the table looks different.
The euro sign stops landing on top of your price · August 6, 2026
- A price like €300.00 printed correctly from Chrome and Edge, but from macOS Preview, Safari's print preview and some Linux viewers the € was drawn with no width at all, so it sat on top of the first digit and the price came out unreadable. Nothing warned you, because nothing was wrong with the label - the same file printed fine somewhere else.
- Your labels now carry the exact character widths the layout was measured with, so every viewer draws them the same way and the € takes its own space. Nothing about your templates changes: the positions, sizes and text are identical, the file simply stops leaving the spacing up to whichever app opens it.
- This applies to every character in the standard font, not only the euro - the pound, the section sign and the accented letters were all relying on the same guesswork. The calibration sheet and the ruler page get the same treatment, since they print in the same file as your labels.
- If you switched a template to the built-in extended font to work around this, there is no need to switch back: that font also draws characters the standard one cannot, so leaving it on is safe and switching off could bring back a missing character on a viewer that has no outline for it.
The billing page stops congratulating you for visiting it · August 5, 2026
- Every time a Pro shop opened Billing, a green "You're on the Pro plan - unlimited labels!" popped up. It was not telling you anything had happened, only that you had opened a page.
- It was at its worst in the two places it mattered: if you had already scheduled your move back to Free, it cheered next to the card telling you the date you leave, and if you came to that page to cancel, it congratulated you on the way in.
- That message now appears once, when you come back from approving a charge, which is the moment it was written for.
The GS1 prefix error speaks your language · August 3, 2026
- Settings is fully translated, except for one sentence: if you typed a GS1 company prefix that was not 4 to 11 digits, the rejection arrived in English whatever language your admin is in. It was the only validation message that form can produce.
- It is now in French, German and Spanish alongside English. Both Save buttons on that page also tell the server which language you are working in, so the answer comes back in it, whatever language your browser happens to be set to.
Print from a list no longer counts labels it will not print · August 3, 2026
- The line above your matched list said "Printing 12 labels for 3 of 5 lines". The label number was the total of every row in your file, including the rows that matched nothing, so a paste with unmatched lines announced more labels than could ever come out. It now counts the labels the matched rows asked for.
- The same arithmetic could hide the worst case: if NOTHING in your file matched, those quantities still added up, so you were told a print was about to happen while the list below read "No variants matched". A paste that matched nothing now says so.
- Once you edit that list, the line stops describing a print that is no longer the one about to happen. Remove a row or change a quantity and it tells you what your file matched and points at the list below, which is what prints. Remove every row and it says you removed them and how to bring them back, instead of telling you to fix a file that was never at fault.
The first screen counts the steps it actually shows you · August 3, 2026
- "Get started in three steps" sat above "0 of 2 steps done" and three numbered blocks. The tally was counting a different set of steps than the ones on the page: it counted saved presets, which are not on that card and are a Pro feature, and it knew nothing about the third block, print and verify it scans.
- The number now covers exactly the three steps on the card, and each of them carries its own tick as you finish it, from the day you install.
- The checklist that replaces that card after your first print had the mirror of the same problem: on the free plan, the Pro-only "save a preset" line sat in the list wearing an empty tick above "2 of 3 steps done", as if it were a fourth thing you had left undone. It now reads as what it is, an upgrade you can take or leave.
Receive no longer opens on a scan box for labels you have not printed · August 2, 2026
- The Receive page opens on your most recent transfer and fills in the lines for you. It was also opening the scan-to-verify panel at the same moment, three cards above the template picker, reading "0 of N units verified" for labels that did not exist yet. Because that panel grabs the keyboard, arriving on the page jumped you into the middle of it, past the step you came to do.
- It now appears after you print, at the bottom of the page, which is where you will be standing when you have a stack of labels and a scanner in your hand. Print from a list already worked this way.
- It also no longer takes the keyboard by itself. On your first clean print there are two scan boxes on screen, and the one that confirms your first label really scans should get the first beep, not the batch tally.
- One related fix on both pages: if the download itself failed after the labels were generated, you could end up with a failure message and an open scan panel at the same time. The panel now waits for the file.
Checking a pasted list no longer answers with raw Shopify errors · August 2, 2026
- Barcode check and Print from a list both ask Shopify to look up every code you paste. When Shopify refused - too many requests, a list too large to check in one go, or a permission we no longer hold - the page showed you the raw technical reply, in English whatever language your admin is in, with nothing to do about it.
- You now get a sentence in your own language that names the cause and what to try: wait a moment, split the list into smaller batches, or reinstall to restore the permission. The technical detail goes to our logs instead of your screen.
- If your session had quietly expired, that used to surface as one of those errors too, leaving you stuck. It now sends you through the normal sign-in instead.
"1 labels" is fixed across the printing flow · August 2, 2026
- Printing a single label said "Next: print (1 labels)" - and "1 étiquettes", "1 Etiketten", "1 etiquetas" in the other three languages we ship. That was the very first print button you meet when you come in from a single product.
- The counts along the whole printing path now read correctly at one: the selection line, the summary above the print button, the warning banners, and the confirmation after the PDF or ZPL downloads.
- The message that tells you some elements are still outside the label - the one that matters, because those labels come out clipped - said "1 element(s) still need a manual fix" right next to a sentence that got it right. Both halves read properly now.
Print buttons that were greyed out now tell you why · August 2, 2026
- Five screens could reach a state where the print buttons were dead and nothing on the page said what to do about it: Print labels, Print a collection, Print from a list, Order labels and Return labels. The usual cause is that every row is set to 0 copies, which is what happens by default if you have never opened Settings and changed the default quantity.
- On Print a collection, this hit on day one: you picked a collection, found the products, got a full table, and both Generate PDF and Download ZPL were greyed out with no explanation. The only clue was a faint "0 labels across N products" above the table.
- On the main Print labels flow it was the quantities step: the button that takes you to printing was dead, and the explanation we already had lived on the step that button leads to, which you could not reach until you fixed the thing nobody had told you about.
- All five now say it plainly, next to the button that will not work: this would print 0 labels, and what to change. Order labels and Return labels say "copies", because that is what their column is called.
- Print from a list, when you have grouped rows by bin or location, says how many of the batches are empty in a single message, and reminds you that the batches with labels in them can still be printed on their own.
The Templates page's empty screen now leads somewhere · August 2, 2026
- Before you have built a template, that page used to end with an instruction it could not honour: name your printer brand, or measure a label edge with the ruler. There is no brand box and no ruler on that page. It now says what it can do for you and links straight to the two places that can take the answer: your printer brand in Settings, and the printed ruler in Printer calibration.
- That text was also English on an otherwise translated page, whatever language your Shopify admin is in. All of it is translated now, in the four languages we ship.
- It is also honest about the in-between case. If you use a printer we know but have no built-in size for yet, it says so and offers the same two ways forward, instead of behaving as though we had nothing on file.
Save is now in the header of the template editor · August 2, 2026
- The template editor is the longest screen in the app. Its only Save was the very last thing on the page, so changing the label width at the top meant scrolling past the preset card, the template details, the brand font, the sheet grid, every element and the live preview just to commit it.
- Save is now in the page header too. It is the same save as the button at the bottom, which stays where it was.
- Neither button can fire twice any more. Creating a new template involved a brief moment, while the editor was still on screen, where a second click made a second template.
- Still true, and worth saying: the back arrow next to Save discards unsaved changes without asking. That is on the list.
Receive & label now works for stock that arrives without a transfer · August 1, 2026
- Until now, the Receive page could only show stock that arrived on a Shopify inventory transfer. If a box turns up from a supplier you did not raise a purchase order for, or you restock from a cash-and-carry run, there was nothing on the page to label and no way to add anything.
- There is now a "Receive manually" option on that page. Search your products, tick what came in, type how many of each you got, and print. The rest of the flow is unchanged: the same missing-barcode check, the same duplicate-barcode warning, the same scan-fit check before you print, the same templates.
- It only prints. Nothing you type here is written to your Shopify inventory, no transfer is created and no stock level moves - the quantity is simply how many labels you want.
- A batch printed this way is named "Manual receive" in your print history, so you can tell it apart from a transfer receipt when you go back to reprint.
Order labels counted refunded and removed units as if they were still in the box · July 31, 2026
- When you open an order, we fill in the number of copies for each line so you can print without retyping anything. We took that number from the quantity ORDERED, which in Shopify's own words includes units that have since been refunded or removed from the order. So an order that was partly refunded, or edited to drop a line, opened with copy counts for stock that is not there. A line you deleted during an order edit still appeared, at its full original count.
- We now use the count of units still in the order, which is a separate figure Shopify keeps for exactly this. On the example we tested against, an order holding four units used to open ready to print thirteen labels; it now opens at four, and the deleted line is gone.
- Because that means printing fewer labels than the order document shows, the page says so: a notice tells you how many units, on how many lines, were refunded or removed and are therefore not in this batch. Copy counts stay editable, so a line that still has units in it can be printed at whatever count you want.
- One consequence worth stating plainly, because it is a change and not everyone will want it: a line with nothing left in it, and an order where nothing is left at all (a cancelled order, say), no longer appear on this page. They are reported above the list rather than silently absent, but to print labels for goods that have left an order you now go through the product list or the returns page instead.
- This only ever affected orders that were refunded or edited after they were placed. An untouched order printed, and still prints, exactly the quantity ordered.
Order labels quietly left out the lines it could not print · July 31, 2026
- An order can carry a line with no product behind it: an engraving or a gift-wrap charge typed straight onto the order, or a product you have since deleted from your catalogue. We cannot make a barcode label for those, because there is no product to take a barcode from. That part is fine. What was not fine is that we dropped them without a word. An order for ten units could open with three rows on it, and nothing anywhere on the page mentioned the other seven.
- The worse version of the same silence: an order where EVERY line is like that did not appear in the list at all. If you went looking for the order you had just taken, the honest conclusion was that LabelCraft could not see your orders.
- Both are fixed. Select an order that has lines we cannot label and a notice now tells you how many units, on how many lines, are not in the print set, so you can check them in Shopify rather than discovering the shortfall at the printer. Recent orders with nothing on them we can label are counted above the list, instead of being absent without explanation.
- Our returns and incoming-shipments pages have counted these all along; the order page was the odd one out. Nothing about the labels themselves changed: the lines we can label print exactly what they printed before.
The check before you print said “they will scan” about labels we knew could not · July 31, 2026
- A barcode needs two things to scan: bars wide enough to read, and a strip of blank space either side, which is how a scanner finds where the code starts. The check that runs when you pick a template only ever looked at the first one. So on a narrow roll from a 300 dpi printer, a 29 mm Brother tape being the one we ship, it told you an EAN-13 was “scannable here, but tight” and that “they will scan”, while the app's own printing engine, minutes later, said that label cannot hold an EAN-13 at a readable size with the blank space around it. Both sentences were us, about the same label.
- The printing engine was the one that was right, and the check now measures the same thing it does. On those templates you get a clear “will not stay scannable” before the roll goes through the printer instead of a reassurance afterwards.
- And the way out actually works now. The banner used to offer to name a wider template that fixes it, but on exactly these labels it named nothing, because it only looked for codes it had already called too narrow. It now names one, and the template it names is checked to carry your code properly.
- The same blind spot was worse on the everyday codes. A barcode that is not a retail EAN or UPC prints as Code 128, which is what your SKUs use, and there the check could say “comfortable width to stay scannable” about a label the engine would refuse. That is covered too now, on the plain barcode element every custom template starts with.
- Nothing about how your labels are drawn changed. If a template was printing fine, it still is, and it is still described the same way. This is only about being told the truth before you spend the roll.
Making sure we notice if your data is not deleted after you uninstall · July 30, 2026
- Our privacy policy promises that your store's data is purged shortly after you uninstall. The promise is kept by two messages Shopify sends us, and we have alarms that watch for the purge not happening. Those alarms all worked off our own record of your uninstall, which is written by the first of those two messages, so if that message never arrived the alarms had nothing to look at and stayed quiet. The two messages travel the same way, so the outage that loses one tends to lose both: the case the alarms exist for was the case they could not see.
- They now also check Shopify's own record of who has uninstalled, which does not depend on any message reaching us, and they cross out any store that still has a live session or whose record is out of date rather than guess. And a background message arriving late, after an uninstall, can no longer overwrite our record of it, which was a second way an uninstall could quietly go unnoticed.
- Nothing about what we store or how long we keep it changed. This is about being able to tell when the deletion did not happen.
Uploading a brand font stopped the “this title won't fit” check · July 30, 2026
- The check that runs before you print, the one that names the products whose text will not fit on the label, was skipped entirely for any template using an uploaded font. The reasoning was that your font's letters are not the same width as the built-in one, so measuring with the built-in one could be wrong. True, and the wrong conclusion: the check now measures with YOUR font, the same one the label itself is printed with, instead of not measuring at all.
- So if you uploaded a brand font, the pre-print check went quiet exactly when you needed it, and you found out a long product name did not fit only after the roll had gone through the printer. It speaks again now.
- If your font file turns out to be unreadable, the label prints in the standard font instead, with a warning saying so. The check now measures in that same standard font rather than going silent, so the merchant whose font is broken is the one who most needs the warning and now gets it.
- Two things deliberately do not use your uploaded font. If you print to a Zebra, the label is drawn in the printer's own built-in font, which never loads an upload, so the check measures in the standard font too. And when the check suggests switching to one of our built-in templates to fix a long name, it now says out loud that built-in templates print in the standard font, so switching would drop your brand font.
“Returns to label” asked for one permission when it needed two · July 30, 2026
- In Shopify a return belongs to an order, so listing your returns needs permission to read returns AND permission to read orders. The page only ever asked for the returns one. If you opened “Returns to label” before “Order labels”, you granted exactly what was asked, the page told you your access was fine, and then it sat on “Couldn’t load your recent returns” forever. Worse, its only button asked again for the permission you had just given, so there was no way out from that page.
- It now asks for both at once, and only shows you the page when both are granted.
- Revoking from this page still removes returns access only: the orders permission is shared with “Order labels”, and turning it off here would have broken a page you never touched. So “Order labels” now says the opposite too, that revoking there also turns off “Returns to label”. The permission screen, the error message and the privacy policy all name both permissions now instead of only one.
Your labels-used count now matches what actually came out of the printer · July 30, 2026
- When you print straight to a connected printer, the labels leave the printer before the app has finished writing the job into your history. If that write failed, the app could no longer see the print, decide those labels had never been produced, and quietly hand the allowance back. It sounds generous and it is not: your used count and your job history disagreed, and neither of them was right. Labels that physically printed are now always counted, whether or not their history entry made it.
- For the same reason, a print that fails at the very last moment, after the paper has already come out, no longer refunds the allowance for labels you are holding in your hand.
- The bigger version of the same problem: while a print was still running, opening LabelCraft in another tab could make the app conclude that the print had never happened and quietly put the labels back. It now recognises a print in progress and leaves its count alone until it finishes.
- Reprinting a very old job could put your used count into the negative, which then let the month's allowance run well past its limit without anything saying so. Reprints now count exactly the labels they produce.
An English word had got into three languages' import warnings · July 29, 2026
- When the import reads a formatted quantity cell as a whole number, or refuses to guess at one, it names the row it is talking about: “line 12, for barcode 5012345678900”. In French, German and Spanish that sentence was correct except for the word “barcode”, which stayed in English. It is now written in the language you are reading, the same way the rest of the import already does it.
Importing a supplier file now tells you it is too big before you print · July 29, 2026
- A print job can hold up to 2,000 labels. Three screens used to let you assemble a bigger batch and only tell you when you clicked Generate: the supplier-file import, Print labels itself, and printing a whole collection. All three now grey out Generate and explain the limit while you are still building the batch, which is what receiving, orders, returns and location labels already did.
- When your file has a location or bin column, the import prints one batch per bin, and each of those is its own job. So each batch is now judged on its own size: an oversized bin is flagged and blocked on its own, and the batches beside it stay printable instead of the whole import being stuck.
A clipped template now tells you on the page you land on · July 29, 2026
- If one of your templates has an element outside the label, every label it prints comes out cut off. The app already knew - but it only said so in the template list, which you have no reason to open when you are printing, or in a warning after a job had already printed. Your dashboard now shows it straight away, names the template, and gives you the same one-click “Move back inside” that slides the element back in, keeping its size wherever it still fits. Labels you have already printed are unaffected, and past jobs reprint exactly as they did.
- When that repair finds nothing to move, the template list now says so plainly instead of reporting “0 elements moved back inside” as a success. If your labels still come out clipped after that, the cause is where the label prints rather than how it is designed - check your printer calibration offset in Settings.
Three warnings that told you about a problem but not the way out · July 28, 2026
- When a warning keeps coming back, the dashboard offers you the guide that walks through fixing it. Three warnings were missing that link while the warning right next to them had it: the barcode number being too small to read when you print to a Zebra, text falling under the readable size because of a calibration offset, and a price stored in a metafield whose decimals do not match its currency. All three now open the same guide their twin already did.
A better guess at your language when Shopify does not tell us · July 28, 2026
- When Shopify does not tell the app which language to use, it falls back on the list of languages your browser asks for. It was reading only the first entry in that list, so a browser whose top language LabelCraft does not speak dropped straight to English, even when it ranked German, French or Spanish above English further down. The whole list is now read in the order you ranked it.
The privacy policy now says everything it should have said · July 28, 2026
- Our privacy policy did not mention two things we store for you: the PrintNode API key you paste when you connect a printer, and the template and copies rule each of your per-location print stations remembers. Both are named now, along with your declared printer brand, model and calibration offsets. The key is used server-side only, to talk to PrintNode, and is never sent back to your browser.
- The uninstall promise said we purge your data “within 48 hours”. The clock actually starts when Shopify tells us you uninstalled, and that notice is Shopify's to send, so the flat number was a promise we do not fully control. It now says what really happens.
- “We delete everything” was not quite true either, and the policy now names the three records that outlive the purge and why each exists: two one-line markers (your domain plus one date) that stop the same store taking an endless run of free trials and stop a returning store being announced as new, and one pseudonymous record of how an install went, kept to understand why stores leave. None of them holds product, order, customer or staff data.
- If you print through PrintNode, the finished label leaves our EU servers to reach your printer. That was true before and the policy did not say so; the hosting section now does.
A reprint that failed no longer costs you labels · July 28, 2026
- If you reprinted a past batch and the print failed - a render error, or a printer that would not take the job - the labels came off your monthly count, but a second internal counter kept them. The app uses that counter to work out whether your monthly count has drifted above what you actually printed and to give the difference back, so a single failed reprint stopped it correcting itself for the rest of the month. On the Free plan that meant reaching the 200-label limit early, paying for labels you never got. Both counters are now put back together, and a month with a failed reprint in it corrects itself again.
Dismissed means dismissed · July 27, 2026
- When the same warning keeps coming back, the dashboard offers you a way out of it. Dismissing that suggestion used to stop working after a few more prints: the app forgot which problem you had waved away and asked again about the very same one. It now remembers what you dismissed until the problem is actually gone - and if it comes back later, so does the suggestion.
- The “these new products are ready to label” nudge and the “this product has more than 100 variants, review it in Barcode check” warning are two different messages about two different things. They used to share one dismiss button, so clearing the everyday one also cleared the rare, more serious one before you had read it. Each one is now dismissed on its own.
- Order numbers no longer linger in your print history after a customer data-deletion request. When Shopify asks us to redact a customer's orders, the order numbers stored against your past print jobs are scrubbed too; every other batch in your history is untouched.
A template can no longer print off the edge of your label · July 27, 2026
- If part of your design sat outside the label - an element nudged past the edge, or a logo wider than the label itself - every label you printed was quietly clipped. The app warned you at print time, once per job, and it was easy to scroll past. Now the template editor simply refuses to save a design that would print off the label, and tells you which element is out and by how many millimetres. Templates you already have are untouched: if one of them is affected, the template list shows it with a “Move back inside” button that slides the element back in one click, keeping its exact size wherever it still fits. Past print jobs reprint exactly as they always did.
Leave Pro on your own, and keep what you paid for · July 26, 2026
- Going back to Free no longer means writing to support. Billing has a “Switch to Free” option that takes effect at the end of the period you have already paid for - so you keep Pro until the day it would have renewed, then move to Free automatically. Change your mind before then and one click cancels the switch.
- Upgrading mid-print used to cost you your work: leaving for the Shopify approval screen threw away whatever you had selected. Your selection is now kept and offered back the moment you return.
Check that a reprint scans, and read the digits under the bars · July 26, 2026
- The post-print “scan one to check” card now also appears after a one-click reprint, from the dashboard and from Job History - the two places you could reprint without ever confirming the result scanned.
- The pre-flight and the scan-readiness check now look at the human-readable digits under the barcode too, not just the bars. A barcode whose bars scan perfectly but whose printed number is too small to read is caught before you print, instead of at the shelf.
Search inside long product lists, and see which order a return came from · July 25, 2026
- Orders, returns and receiving all have a search box in the product picker. On a long order you can type a name or SKU instead of scrolling.
- A return now shows the order it came from, so you can tell two similar returns apart before printing.
- The annual plan is shown wherever you can upgrade, not only on the billing page - two months free is hard to choose when you cannot see it.
Know a batch will hit your monthly limit before it stops halfway · July 23, 2026
- Every bulk-print screen now shows what the batch you are about to print will do to your monthly Free allowance, before you print it. A run that would stop halfway is flagged up front, rather than after the first 40 labels.
- The presets screen tells a Free shop that saved presets are a Pro feature up front, instead of letting you build one and discover the paywall at print time.
Two products sharing one barcode, caught before the labels are on the shelf · July 19, 2026
- If two variants in your catalogue carry the same barcode, both labels ring up as the same product at the till. The app now checks your whole catalogue and warns you before the print, on importing a list, on orders and on returns.
- Reprinting the same line of an order twice - the classic double-label - is flagged as well, scoped to that order so it never cries wolf over two different orders that happen to share a SKU.
A product search that stops finding nothing · July 17, 2026
- Searching for a product whose name contains characters like “1:18” used to silently return no results: the text was being read as search syntax rather than as what you typed. Now it searches for what you typed.
- Every screen that prints in bulk shows how much of your monthly allowance is left, so the number is in front of you when you decide how much to print.
- A branded page now replaces the raw error screen when a link goes nowhere.
Switch to annual billing without cancelling first, and design guidance above the warnings · July 16, 2026
- An existing Pro subscriber can move from monthly to annual (or back) directly, without cancelling and re-subscribing.
- The pre-flight and the editor now comment on the design as a whole, not only element by element. A label where everything is individually legal but collectively too tight is told so, once, instead of producing four separate warnings you have to piece together yourself.
Sharper QR codes, and a warning when one is too small for a phone · July 15, 2026
- 2D symbols (QR, DataMatrix) are now snapped to whole printer dots when drawn. On a thermal printer that is the difference between crisp modules and a slightly blurred code that a phone camera struggles with.
- A QR code printed smaller than a phone camera comfortably reads is flagged before you print, with the size it would need.
- A new 50 × 30 mm apparel preset (EAN + storefront QR + material) that clears every scannability floor by construction - the size where hand-arranging elements walks straight into four space warnings at once.
Newest shipments first, and access you can take back · July 14, 2026
- Receiving lists your most recent shipments first. Finding the delivery that just arrived no longer means paging to the end.
- Order and return access is now optional and asked for in context, at the moment you first print from an order - not upfront at install. You can revoke it from inside the app afterwards, and the rest of the app keeps working without it.
Metafields print again · July 13, 2026
- For three weeks, any label with a metafield element printed that field blank - no error, no warning, just an empty space where your custom value should have been. The query the app used to read metafields was being rejected by Shopify in a way that returned nothing rather than failing. It is fixed, and the rendering engine is now checked against Shopify's real API on every release so a query that Shopify would reject can no longer ship.
A heads-up when a spreadsheet has mangled your barcode column · June 26, 2026
- Exported your products or a purchase order (from Stocky or any tool), opened it in Excel, and saved? Excel quietly turns long barcode numbers into scientific notation like “7.51E+11” - which matches no product, so a “Print from a list” import comes back empty with no explanation. Now we spot that before the match runs and tell you to re-import the file as text (or format the column as Text first), so your first import works instead of mysteriously finding nothing.
Smarter supplier-list imports for receiving · June 25, 2026
- Printing labels from a supplier CSV or packing slip now copes with how real exports actually look. Quantities written as “12.00”, “1,200” or the European “12,0” are read as whole counts instead of being dropped, and we always show what we read - a genuinely fractional count like “12.5” is still flagged, never guessed.
- For grouped purchase orders where one SKU heads several size or lot rows and the lower rows leave the SKU blank, a new “Fill a blank SKU from the row above” option carries the code down and adds up the quantities.
- If the same product lands on two list rows under two different codes (its SKU and its barcode), we now sum them into one label run and tell you, instead of silently printing it twice. Available in English, French, German and Spanish.
Download your pre-receiving barcode check as a spreadsheet · June 25, 2026
- Auditing an incoming supplier list on “Audit a list”? You can now download the whole QC result as a CSV - one row per pasted code with the matched product, its barcode status, an in-list-duplicate flag and the full verdict. Every row is included, clean ones too, so it's a complete record you can work through in a spreadsheet instead of on screen. Available in English, French, German and Spanish.
- Brand-new store with no products yet? The dashboard now tells you to add a product in Shopify first instead of showing a misleading green “barcodes ready” step - and after you try a sample print, a clear next step points you to printing your real products.
A heads-up when we complete a barcode's check digit · June 25, 2026
- If you set a label's barcode to a retail format (EAN-13, UPC-A, EAN-8 or ITF-14) but the value is one digit short, we compute and add the final check digit for you - but now we also tell you. A new notice names both what you entered and what will actually print, so if your code was already complete you can catch a mismatch before it scans as a different product. Available in English, French, German and Spanish.
Label several shipments of one transfer at once · June 25, 2026
- When a transfer arrives in more than one shipment, you no longer have to label them one at a time. On Receive & label you can now tick several received shipments and label them together - a product that came across multiple boxes is combined into a single row with the total quantity received, so you print one label run for the whole delivery. The put-away manifest and the print job name both reflect the combined shipments. Available in English, French, German and Spanish.
See the feedback you've shared with us · June 25, 2026
- When you tell us something could be better, that note now has a home: the new “Feedback” page lists everything you've shared with us, newest first, and your dashboard shows a quick thank-you when there's something new. You can also download it all as a spreadsheet. We read every note - this just closes the loop so you can see we heard you. Available in English, French, German and Spanish.
Print the date on your labels · June 25, 2026
- Need a printed-on or packed-on date for stock rotation, received goods, or freshness? Add the new “Date” element in the template editor and each label is stamped with the day you print it - shown with a written month so there’s no day/month confusion (“Jun 25, 2026”), in your admin language. It prints to both PDF and Zebra/ZPL, and like every text element it’s shrunk to fit or flagged rather than silently cut off. Available in English, French, German and Spanish.
Print net weight on your labels · June 25, 2026
- Selling by weight - deli, grocery, supplements, bulk goods? You can now print a product’s net weight in plain text on a label. Add the new “Weight” element in the template editor and each label shows the variant’s weight the way a person reads it - “250 g”, “2.5 kg”, “1.5 lb”, “8 oz” - taken automatically from the weight you already set in Shopify. (Previously the weight could only be hidden inside a GS1-128 barcode.) Products without a weight simply leave the element blank, and it prints to both PDF and Zebra/ZPL. Available in English, French, German and Spanish.
Number your labels in sequence · June 25, 2026
- Need running numbers on your labels - asset tags, serial numbers, raffle tickets, batch IDs? Add the new “Serial number” element in the template editor and each label is numbered in order: set a prefix (e.g. ASSET-), a starting number, how much to add per label, and how many digits to zero-pad to (ASSET-0001, ASSET-0002, …). The numbering counts up across the whole print job and restarts on the next one, and it prints to both PDF and Zebra/ZPL. Like every text element, a number that won’t fit its box is shrunk to fit or flagged - never silently cut off. Available in English, French, German and Spanish.
Send labels straight to your printer (PrintNode) · June 24, 2026
- You can now skip the download-and-print-dialog dance. Connect your free PrintNode account in Settings, pick your printer, and a new “Send to printer” button on the print screen pushes labels straight to a networked or thermal printer - including raw ZPL to a Zebra for the crispest barcodes. Your existing PDF and ZPL downloads work exactly as before; direct printing only appears once you’ve connected a key, and if a job can’t reach the printer you’re told why instead of it failing silently. Available in English, French, German and Spanish.
Line up label elements with one click · June 24, 2026
- Designing a custom template just got faster. Tick two or more elements in the template editor and a new “Align & distribute” toolbar lets you snap their left/right/top/bottom edges together, centre them horizontally or vertically, or spread three or more out with even spacing - no more typing matching X/Y millimetre values by hand. Only the position changes; element sizes stay exact, and your existing templates print exactly as before until you choose to move something. Available in English, French, German and Spanish.