Printer setup with a test sheet
v0.2.37
2026-10-25
Přidáno
- New page Printofor > Printer setup: choose the RIP preset, create the delivery agent key (with a ready config.json), see whether the delivery agent is connected, and send one small test sheet (22 x 2 in, labelled "not an order") through the same path as real orders. You confirm the printed result yourself; delivery to the hotfolder alone never counts as a successful print.
Layered PSD, layered TIFF and spot PDF presets
v0.2.36
2026-10-24
Přidáno
- Six more RIP / printer presets in Settings: layered PSD (Color and White layers), layered TIFF (page 1 Color, page 2 White) and spot PDF (White as a spot color), each at 300 or 600 DPI. The white layer is inside the same file, so no separate white file is made. Make a test print on your RIP before using one of them for orders.
Opraveno
- The order screen names the print file by its real format (PSD, TIFF or PDF) instead of always saying "Print PNG".
- When the block checkout refuses an order because the free trial cannot cover it, the order no longer stays in your order list as "Pending payment". It goes back to a hidden draft, so you only see orders buyers actually placed.
See when print files did not reach your hotfolder
v0.2.35
2026-10-24
Přidáno
- The order screen, the Print queue and the orders list now show the delivery to your hotfolder separately from file generation: delivered, waiting for pickup, not picked up yet (delivery agent offline), or failed and retrying, with the time of the last attempt and the reason.
- A "Retry delivery to hotfolder" order action asks the delivery agent to try again. Files already in the hotfolder are never sent twice.
- Delivery agent 0.4.2 reports failed downloads and pickup confirmations to the shop. Update the agent together with the plugin.
One shared trial volume, reserved before payment
v0.2.34
2026-10-19
Opraveno
- Gang sheets, Personalize and Singles now draw on the same one-time trial volume. Adding to the cart only checks the volume left; the order reserves its print area when it is placed, and is only created when the trial still covers it, so two buyers can no longer both pay for the last square feet.
- A cancelled, failed or refunded order gives its reserved area back.
- The store answers a short, read-only check that lets Printofor confirm its web address, so the trial stays with the store and is not granted again after a new account or a reinstall.
No made-up discount in the cart
v0.2.33
2026-10-19
Opraveno
- When a gang sheet cost less than the product's catalog price, the cart showed the catalog price struck through and a "Save" amount. The builder price is now the line's regular price, so no discount appears that the shop never offered.
Real film length for auto sheets
v0.2.32
2026-10-19
Opraveno
- Sheets set to fit their content now show the film they really use, for example "22 × 1.33 in", in the cart, on the order page, in My Account, in order emails and on the admin order screen. Orders placed before this update keep showing "22 in × auto".
Clearer trial notices and an explicit automatic print files step
v0.2.31
2026-10-19
Přidáno
- After Check connection shows an active plan or free trial volume, Printofor > Overview offers to generate print files automatically when an order is paid. You choose it explicitly; existing stores keep their setting. It only creates files and never sends anything to a printer.
Opraveno
- When one order is bigger than the free trial volume left, Overview now says so with both areas in sqft and m², instead of saying the trial is used up. Smaller orders keep selling.
- Check connection clears plan warnings that are no longer true, for example right after starting the trial or buying a plan.
One-time free trial: 100 sqft of real print files
v0.2.30
2026-10-19
Přidáno
- Shops that never had a paid plan can start a one-time free trial from their Printofor account: 100 sqft (about 9.3 m²) of real, unwatermarked print files. It is used once and does not renew; after it, a paid plan keeps print files coming.
- Printofor > Overview shows your plan, or the trial volume left in sqft and m², after you click Check connection.
Opraveno
- Buyers can no longer pay for a gang sheet the store cannot print: when the store has no plan and not enough trial volume for the order, the cart refuses it with a neutral message and Overview tells the store why.
- Generating the same sheet again (a retry or Generate print files) never uses trial volume twice.
- Order notes no longer end with a double period.
Clear message when a store has no active plan
v0.2.29
2026-10-19
Opraveno
- When print files cannot be generated because the store has no active Printofor plan, the order, the print queue and Printofor > Overview now say so and link to the plan page, instead of a generic "export failed (invalid)". Such orders are no longer retried on every status change; Generate print files works again once a plan is active.
Copies reach the operator
v0.2.28
2026-10-16
Přidáno
- Every print file now carries its run length: the copies of that gang sheet, or the quantity of a personalized item. The order screen and the Print queue show "Copies: N" per file, and the delivery agent (0.4.1) logs it.
- Mandatory operator step: the RIP does not receive the copy count automatically yet, so set it in the RIP job and click "Confirm run length". Unconfirmed files are flagged on the orders list and in the Print queue; regenerated files need a new confirmation, and an order cannot be set to Completed by hand until its files are confirmed.
- When the order does not tell the copy count, the file shows "Copies: unknown - check the order" instead of assuming 1; the operator types the copies set in the RIP and confirms them manually.
Cleaner order screen
v0.2.27
2026-10-16
Opraveno
- The order screen no longer lists the internal rush fee field as an editable item row; the fee charged stays visible in the "Fulfillment flags" line.
Buyers see rush and pre-cut on their order
v0.2.26
2026-10-16
Opraveno
- The order confirmation page, My Account and order emails now show "Fulfillment: Rush order (+fee)" and "Pre-cut required", as the cart did, so a rush fee is never an unexplained difference in the total. Orders placed earlier show them too.
- After a reorder, its messages (rush kept or no longer offered, items skipped) now appear on the cart page when the store uses the Cart block, instead of on a later page.
Reorder keeps rush production and pre-cut
v0.2.25
2026-10-16
Opraveno
- Reorder from My Account now keeps rush production the buyer paid for, at the product's current rush fee, and tells the buyer the amount. If the product no longer offers rush, the reorder goes without it and the buyer is told. Pre-cut and the product's rush flag follow the product's current settings, as on a new order.
Too-large sheets are stopped before payment
v0.2.24
2026-10-16
Opraveno
- The price check before add to cart now uses your print preset and the engine's render limits, the same rules as the print file. A sheet too large for them (for example a very long sheet with a 600 DPI preset) can no longer be paid for and then fail to export: the buyer is asked to make it shorter or split it.
The personalizer shows the price
v0.2.23
2026-10-16
Přidáno
- Buyers personalizing a product now see the price for one item, as shown in the cart, next to Add to cart, in the store currency and their language format.
Personalized orders reach the delivery agent
v0.2.22
2026-10-16
Opraveno
- The print file of a personalized order is now handed to the local delivery agent like a gang sheet, so it lands in the printer folder automatically instead of only in the order panel, Print queue and ZIP export.
White underbase reaches the printer folder
v0.2.21
2026-10-15
Opraveno
- Presets that write the white underbase as a separate file now hand it to the delivery agent as well. Delivery agent 0.3.0 saves it next to the print file (name ending in -white) and confirms the order only when both files are in the printer folder. Older agents keep working and deliver the print file only, so update the agent to 0.3.0 before or together with this plugin version.
One license acceptance, at purchase
v0.2.20
2026-10-15
Opraveno
- The plugin no longer asks the shop to accept a license again: the Printofor terms are accepted once, when the plan is bought, and the "Review & accept" banner is gone.
- Printofor > Legal links to the current printofor.com terms in the admin's language and shows the end-customer Terms of Service template as formatted text instead of raw markup.
Whole sheet visible in the order preview
v0.2.19
2026-10-15
Opraveno
- The gang-sheet preview in the order screen shows the whole sheet. It was cropped to the middle of the sheet, which often showed an empty square, and in the item list it was stretched so square designs looked like bars.
Rush production is charged and shown on the order
v0.2.18
2026-10-15
Opraveno
- Each product has an optional "Rush production fee". When it is set, buyers can choose rush in the builder, the fee is added once to their order total exactly as shown, and the order is marked "Rush order" with the fee. When it is not set, the builder no longer offers rush at all.
Print files carry the sheet name from the order
v0.2.17
2026-10-15
Opraveno
- The print files in an order are labelled with the name the buyer gave each sheet, the same name the order line shows, instead of a position number that could point at a different sheet.
Every ordered sheet must have a design
v0.2.16
2026-10-14
Opraveno
- An order that contains an empty sheet is refused before pricing, so empty sheets can never count toward a minimum number of copies or reach the print queue.
- A roll width entered as 23.6 in is accepted as 60 cm again, matching the builder.
Empty sheets are free, supported roll widths only
v0.2.15
2026-10-13
Opraveno
- An empty sheet in the builder no longer costs the sheet base price: it shows "Empty, not included" and is left out of the cart. An order with no design at all is refused.
- Roll widths the print engine cannot export (for example 30 in) are removed when a product is saved and never offered to buyers; the product settings say which widths are supported.
- The "Sheet length" setting shows the stored choice, and the fixed-length message reads more clearly.
Fixed sheet length for fixed-size products
v0.2.14
2026-10-13
Přidáno
- New product setting "Sheet length": fixed at the default length, or chosen by the buyer. Products that already have a default length are fixed.
Opraveno
- On a fixed-size product the builder offers only that length, with no Auto option, so the sheet can no longer be priced below the advertised "From" price.
- An order with another sheet length is refused at add to cart, at checkout and on reorder, with a message naming the length.
- The storefront shows a "From" price only for fixed-size sheets.
Copy rules checked on reorder and at checkout
v0.2.13
2026-10-13
Opraveno
- A reorder of an upload sheet that no longer meets the shop's copy rules (exact, minimum or maximum copies) is skipped with the reason, instead of being added.
- Checkout is blocked, with a message naming the product, while an upload sheet in the cart breaks the copy rules, for example after the shop changed them.
Změněno
- The product settings name the limits "Minimum sheet copies" and "Maximum sheet copies" and explain that they count the copies set in the builder.
Upload orders: copies are set in the builder
v0.2.12
2026-10-13
Opraveno
- In Upload and Both modes a builder order is now one cart item, like in Build mode. Before, a higher cart quantity multiplied the price while only the copies set in the builder were printed.
- The sheet balance lock and the minimum and maximum quantity now apply to the total sheet copies set in the builder, with a clear message when they are not met.
Quantity fixes for personalized products and reorders
v0.2.11
2026-10-13
Opraveno
- Personalized products keep the quantity the customer chose; only a built gang sheet is added as a single item.
- Reordering a gang sheet adds it once, without a "quantity was reset" message.
One gang sheet, one cart line
v0.2.10
2026-10-13
Opraveno
- A gang sheet in the cart can no longer be set to a quantity of 2 or more. Copies are chosen per sheet in the builder; a higher cart quantity charged the customer again without printing more.
- The cart describes a gang sheet in exactly the same words as the order, listing every sheet with its size and copies.
Safer order labels
v0.2.9
2026-10-13
Opraveno
- Sheet names chosen by the customer are shown as plain text on orders, in order emails and on the admin order screen, so a name can never carry a link or an image. Long names are shortened.
- Order labels from other plugins that happen to use the same names are left as they are.
Clearer sizes and prices in carts and orders
v0.2.8
2026-10-13
Opraveno
- Orders, order emails and the admin order screen describe gang sheets and single transfers in the same words as the cart, for example "Sheet 1: 22 × 12 in". Earlier orders are shown the same way.
- The storefront starting price of a fixed sheet shows how it is built: the sheet base price plus the length times the price per inch.
- Guests no longer see a Reorder button that only leads to a login prompt.
- Store connection and design gallery screens are now translated in every supported language.
Accurate sizes, previews and checkout
v0.2.7
2026-10-13
Opraveno
- Cart previews include the buyer's artwork and fonts. Single transfers show the uploaded design and keep the selected copy count through checkout.
- Raster uploads use their file DPI for the initial print size, with a 300 DPI fallback. Oversized artwork is fitted to the roll with a notice.
- Auto-generate preserves existing artwork. Fixed sheets that overflow cannot be added to the cart, and storefront prices show the actual starting sheet price.
- Personalization shows a clean buyer preview and the product name. Required names must be entered by the buyer.
- Decimal inputs accept a point or comma. Single transfers display their price before adding to the cart.
Connect your store and manage your designs
v0.2.6
2026-10-09
Opraveno
- Check your saved connection from Printofor Overview, with specific guidance when details are missing or rejected.
- Open Design gallery directly from the WordPress menu to upload and manage designs for your customers.
- The install guide now uses the current service address and explains how to copy the matching Shop ID and secret from your account.
- Print PNG and TIFF files now carry the sheet's correct DPI, so compatible print software reads their physical size correctly. This includes white underbases and preview exports.
Complete print delivery (delivery protocol 2)
v0.2.5
2026-10-09
Změněno
- Upgrade the plugin and the delivery agent together. Plugin 0.2.5 speaks delivery protocol 2 and needs delivery agent 0.2.0: stop the agent, update both, then restart. An older agent cannot confirm deliveries to the new plugin, and the new agent rejects an older plugin. Do not roll back only one of them, and keep the agent's delivery journal.
- An order is offered to the agent only once every one of its print files has been generated, together with a list of all its sheets, so a sheet can no longer be marked delivered while another is missing.
- The agent pages through all pending orders, so an empty or failed page no longer hides later orders. Failed items are retried on the next full pass.
- Your delivery agent key from 0.2.4 keeps working; there is nothing to change in the key.
The delivery agent key is no longer stored readable
v0.2.4
2026-10-01
Změněno
- The key your local delivery agent uses is now stored only as a hash, the way WooCommerce stores its own API keys. A new key is shown once, right after you generate it; after that the settings page only shows its last four characters, and a lost key can be regenerated but not displayed again. A key you already set keeps working, with nothing to change in the agent.
Every admin screen and message, in your language
v0.2.3
2026-09-29
Opraveno
- The plugin's admin screens and messages added since 0.2.0 are now translated into all 14 bundled languages.
The buyer's own design in the block cart
v0.2.2
2026-09-29
Opraveno
- On the block-based cart and checkout, the default in current WooCommerce, a gang sheet or personalised line now shows the design the buyer built instead of the product photo. Needs WooCommerce 9.6 or later; the classic cart already did this on every version.
A cleaner order screen
v0.2.1
2026-09-08
Opraveno
- Opening an order no longer shows the plugin's own fulfilment data under the line item. WooCommerce hides those keys from the customer but not from the shop, so the readable summary was buried under raw values, one of which runs to thousands of characters.
A production console for the shop floor
v0.2.0
2026-09-06
Přidáno
- A Print queue screen and an orders-list column that show, across recent paid orders, what is ready to print, what still needs files generated and what failed, so a shop no longer opens orders one at a time to find its work.
- Download every print file of an order, or of a whole shift, as one archive, with a marker recording what has already been collected.
- Personalised transfers now appear in the queue and in the download archive alongside gang sheets, each with its white underbase.
Opraveno
- An archive is never handed over incomplete: if any file cannot be downloaded the whole archive is refused, so a job can no longer reach the press missing a sheet or its underbase.
- A bulk download no longer marks orders that contributed nothing to the archive as collected.
- Print files are streamed instead of held in memory, so production-sized jobs no longer exhaust the server memory limit.
- A single transfer now shows its print size and copy count in the basket, not only on the placed order.
- The personalize editor opens in the shop's own language instead of the visitor's browser language.
- The store's own add-to-cart button can no longer show through beside the builder launch in themes that restyle every button.
Singles Builder buyer launch and production hardening
v0.1.7
2026-07-27
Přidáno
- Single-transfer selling: a per-product toggle lets a shop sell one DTF transfer at a time, automatically pooled with other buyers into shared gang sheets and billed per copy.
- Cabinet operator view for the auto-batch pool, with a downloadable cut-map PDF and a cross-order fulfillment feed.
- Buyer-locale confirmation emails and an order-again / reorder flow for single-transfer purchases.
Opraveno
- Hardened upload handling and signed, rotation-safe layout references so a builder session can no longer be replayed or overload the queue.
- Payment webhook amount and currency validation hardened against transient read failures.
Změněno
- Cabinet database schema now migrates automatically on connect; no manual SQL step after a deploy.
Zero-config plugin connect
v0.1.6
2026-07-06
Přidáno
- The cabinet now serves a per-shop, pre-configured plugin download: install and activate, and the plugin connects to your engine automatically, no manual API key entry.
Settings and launch polish
v0.1.5
2026-06-19
Přidáno
- Launch the gang sheet builder fullscreen from a product-page call to action, with an Escape key relay to close it cleanly.
- Canva credentials and a setup guide in plugin Settings, with per-shop engine consumption of those credentials.
Změněno
- Plugin admin interface localized into 14 locales so operators can run the back office in their own language.
Fulfillment, email, and tenant security
v0.1.4
2026-06-18
Přidáno
- Dedicated Printofor panel on the order screen showing the builder price, layout state, and print files.
- SMTP transactional email settings with a WordPress mail transport, so order and Printofor email can route through your own provider.
- Legal and onboarding flow: Shop License Agreement and end-customer Terms of Service drafts, with recorded acceptance.
- Per-shop derived API secrets, closing the cross-tenant access gap.
- Signed, expiring download URLs for exported print files.
- Lead-capture email popup with a coupon reveal on signup.
- Reviews and social proof, plus a same-day cutoff countdown and loyalty earn display, at the buy decision.
Opraveno
- Fulfillment print-file links are now absolute, so production downloads resolve correctly from any context.
Builder engine, pricing, and recovery
v0.1.3
2026-06-17
Přidáno
- WooCommerce plugin core: product binding, settings, the product-page builder embed, and the JavaScript bridge to the cart.
- Server-side price validation as the single source of truth, with bounds checks so the cart total always matches the configured rate.
- HMAC-signed engine API with tenant identity, rate limiting, and shop-scoped file storage for isolation.
- Canva import via the Connect API with PKCE OAuth.
- Save and resume link with preload-by-URL, recovering abandoned builder sessions.
- Upload-ready-file mode, watermarked preview exports kept clean only for paid fulfillment, and the admin print-file export trigger.
- Shop-configurable pricing rate, target currencies with live exchange rates, and a self-serve rush fee.
Změněno
- Builder left panel reworked into a collapsible accordion for sheet size, library, and artwork.
Store integration foundations
v0.1.0
2026-06-16
Přidáno
- Gang-sheet variable products and a dual product path: build a sheet in the builder, or upload a ready-to-print file.
- Reorder a past gang-sheet order from My Account.
- Per-locale builder library content with a keyboard-shortcuts help overlay.
Opraveno
- Shipping rates now return for variable products (the no-rates-on-variations case is resolved).