== PrintBlob changelog, older versions ==

The current and previous minor versions are in readme.txt.

= 1.4.16 =
* The plugin says which WooCommerce it is tested with (11.2), as PrintBlob Pro does.

= 1.4.15 =
* The screenshots' captions name PrintBlob.

= 1.4.14 =
* The plugin's name, description and questions say plainly what is free: the designer, with no watermark, ever, and no limit on designs or orders.

= 1.4.13 =
* PrintBlob's own screens show the PrintBlob Pro add-on's Yearly price as printblob.com sells it: during a limited-time offer, its first year's price and then its price a year, the regular price struck through beside it, with the day the offer ends; from the day after, the price a year alone.

= 1.4.12 =
* The source code is formatted in one style throughout. Nothing changes in how PrintBlob works.

= 1.4.11 =
* A design larger than the shop's server takes in one request goes to the cart: the design and its previews are saved first, then the customer's images and the print files follow in parts the server takes (upload_max_filesize and post_max_size), each checked as before. Only a design whose previews alone are too large is refused, and the message now says so.

= 1.4.10 =
* PrintBlob's own screens show the PrintBlob Pro add-on's Lifetime licence as the limited-time offer it is, with the day it ends, and stop offering it the day after; links to PrintBlob Pro open on Lifetime while it is sold.

= 1.4.9 =
* Keeps the PDF and SVG print files the PrintBlob Pro add-on makes of each printed side beside its PNG, in the same private folder, and refuses any that could run a script or load anything from elsewhere.
* Keeps a CMYK PDF of a printed side, which the PrintBlob Pro add-on makes for shops that print in CMYK, as a print file of its own beside the PDF, the SVG and the PNG, only when it names the printing condition its colours are for.
* Other plugins can add ink colours after the designer's own and a note on printed colour under the print's tools, through printblob_designer_config (inks, colourNote); both are drawn from the designer's first moment, so nothing moves as it starts.
* The plugin's name is now PrintBlob – Product Designer, T-Shirt Designer & Customizer for WooCommerce, and its tags and description use the words shops search the plugin directory with.
* Other plugins can price a printed side by the quantity of one design: the cart asks the printblob_side_price filter each side's price at the quantity of the design in the cart, counted over every item that has it, and the designer asks the printblob.designer.sidePrice JavaScript filter the same at the quantity chosen.
* Other plugins can add sections to the designer's panel, before the price or after its breakdown: listed through printblob_designer_config (sections), drawn first through printblob_designer_section and registered on the printblob.designer.sections JavaScript filter, with an overlay over the product if they need one. A section can have the design ordered its own way: one cart item per size, more sides printed, and files sent with the design, which another plugin keeps through printblob_design_saved and deletes with the design through printblob_delete_design.
* The designer starts once the page's scripts have run, so what other plugins add to it is there from its first moment.
* The price breakdown's amounts start at one place on each line, so a price changing (a range becoming one price, a larger total) moves nothing beside it.
* The designer's fields keep their text whole in themes that give every field a fixed height.
* Only a size or option no variation has is struck through: one that waits, or that another plugin chooses, is only dimmed.
* The Install PrintBlob Pro screen has its title, and on PHP 8.1 and later WordPress no longer reports a deprecation before the page starts when debugging is on.
* The Overview, the PrintBlob Pro screen and the order screen link to PrintBlob Pro's licence screen only where PrintBlob Pro has one.
* The designer can start from a design another plugin offers, placed in the same spot of this product's print area and scaled to fit, and keeps where the design started with the order. PrintBlob Pro's design templates use it.
* Art another plugin's tool adds stays with the design and is never counted among the customer's own images; the tool can keep its own controls beside the image's (PrintBlob Pro's clipart colours). The designer can also save designs instead of selling them, for PrintBlob Pro's template editor.

= 1.4.8 =
* A new shop is led to Quick setup until a product has the designer on: PrintBlob's row on the Plugins screen links to it, the dashboard's PrintBlob widget offers it in place of empty counts, and the first steps show its button first.
* Quick setup's screen opens on its form, without the first steps that lead to it. Once it has run, the screen says the shop is set up, with Open the product and what it made, and no longer shows the form below.
* Quick setup names a colour or size attribute it has just made by its name, not as pa_color. The Overview no longer marks "Products customers can design" done while no product has the designer on.
* The review request is shown below the heading of PrintBlob's own pages, so they no longer jump as they load.

= 1.4.7 =
* The plugin's name says what it is: a product designer and t-shirt designer for WooCommerce. The description names the products PrintBlob Pro lets you sell.
* PrintBlob › PrintBlob Pro opens with what Pro costs, its buttons and pictures of its 3D view, print-ready files and your own products, then lists what Pro adds before what both have, with a dash where the free plugin has none.
* The first steps after activation sit below the heading of each PrintBlob screen, so no screen moves as it loads; the Overview's picture of the 3D view keeps its place too.

= 1.4.6 =
* A site using the designer can mark a side's tab or a view's button with a small badge, drawn from the first moment the designer shows and never part of the price lines, the cart or the print files.

= 1.4.5 =
* The plugin's description names the print methods its files are made for (DTF, DTG, sublimation and screen printing), and its short description describes the free plugin without PrintBlob Pro's features.
* The designer's warning for images too small to print sharp (below 150 DPI at the placed size) reads its threshold from the designer's own settings, the number printblob.com's print-size tool uses too.

= 1.4.4 =
* The product's name in the designer is the page's main heading wherever the page shows no title of its own: Automatic now reads the page's own template.
* A shop running PrintBlob Pro without a licence yet, such as Pro's small first download, gets its licence connected from the Install PrintBlob Pro screen too.

= 1.4.3 =
* PrintBlob Pro installs itself: after buying it on printblob.com, Install PrintBlob Pro puts it on your shop with its licence connected, once its file is checked against PrintBlob's signature. Where the host does not let WordPress install plugins, the page gives the download, and Pro connects its licence by itself when you activate it.
* A printed side whose print price is left empty is not offered on that product, and 0 prints it free. The designer shows one price from its first moment, the same as the shop's listed price, and its total agrees with it.
* The print area keeps the proportions of its print size, so the print file is exactly what the customer saw.
* PrintBlob › Mockups shows each mockup with its sides, print areas, sizes and the products that use it. The product's PrintBlob tab links its mockup, shows the print prices of that mockup's sides only, and lists the choices the designer offers.
* On phones the side tabs fit the screen and Add text keeps the product in view; on wide screens there is no gap beside the product; under the pointer, buttons get a ring instead of a new colour.
* After an order the designer starts afresh, and the order confirmation and My account show each designed item's preview.
* The Overview reads the same print-folder check as Site Health and names designer products that offer no side. Quick setup refuses the same attribute for colours and sizes. An order's designed sides download from columns of one width.

= 1.4.2 =
* On the order screen, each printed side's downloads stand in one column beside its picture, as buttons of one width with their icons in line.

= 1.4.1 =
* Saving a design and adding it to the cart works for everyone signed in to WordPress too, a shop manager trying their own shop among them: the design is saved the way WooCommerce's cart is. Customers who order as guests were not affected.
* A page left open until its security token expired gets a fresh one and saves, instead of asking to reload.
* The product picture fits the window: its size follows the window's height, leaving room for the tabs above it.
* A design that stayed in a cart longer than the shop keeps unordered designs is taken out of the cart with a note, instead of reaching the order without its design.
* The largest image a customer can upload follows what the shop's server accepts, and the designer says so before sending; the eleventh image is refused in the designer, not at the last step.
* With PrintBlob Pro installed but its licence not active, PrintBlob says so where print files would be, and keeps its own print queue.
* A design already ordered cannot be added to a cart again.
* PrintBlob's admin screens make far fewer database queries.
* With a PrintBlob Pro older than 1.4.1, PrintBlob keeps working with it as before until Pro updates too.
* Deleting the plugin removes only what PrintBlob stored, and nothing at all if it cannot read its own list of what that is.

= 1.4.0 =
* Print-ready 300 DPI files and the customers' original images are now part of the PrintBlob Pro add-on. PrintBlob saves every order's design, its preview on the product and the customer's images, so Pro makes the print files for earlier orders too. Print files made before 1.4.0 stay downloadable.
* Each order offers its preview: the design on the product, to download.
* PrintBlob Pro is offered at its price, with a full refund on request (printblob.com/legal/refunds/); there is no free trial any more.


= 1.3.1 =
* PrintBlob Pro's features are translated in the overview, the upgrade box and the comparison, like the rest of PrintBlob.
* The upgrade box keeps its buttons in view: its picture is smaller, and the prices and the refund are on lines of their own.
* The shop manager's "3D · Pro" link on the product page is in the theme's text colour, readable with a light accent colour.

= 1.3.0 =
* A PrintBlob menu with its own Overview: each set-up step marked done or to do, with the link that fixes it, the latest orders with designs, and this month's count. The same overview is under WooCommerce › PrintBlob.
* Quick setup: one click makes a designable product on the bundled t-shirt, with a colour and a size attribute, its variations and a designer page. Each step can use what the shop already has, and running it again makes nothing twice.
* The designer now shows on the product page of a designer product in any theme: block themes get a "Product with the PrintBlob designer" template, classic themes get the designer in place of the photos and summary.
* A Print queue screen lists processing orders with designs and their print files; a "PrintBlob this week" dashboard widget counts them.
* PrintBlob prints the front of the bundled t-shirt. Back printing and your own products (the mockup editor) are now part of the PrintBlob Pro add-on, beside sleeves, the 3D view and the print queue. Orders placed with a back print keep their print files, and mockups made earlier keep working.
* PrintBlob's own screens show what PrintBlob Pro adds, and a page compares free and Pro.
* When PrintBlob is deactivated, a box asks why. Nothing is sent unless the person presses Send.

= 1.2.6 =
* Text is typed on the product itself: Add text opens the new text with its words selected, so what the customer types replaces them, and a text chosen from the list of what is on the side opens the same way, in PrintBlob Pro's 3D view too. The separate Text field is gone. Choosing a font, Bold or an ink colour ends the typing, so the change shows without the highlight.
* While the designer gets ready, a small turning ring and "Loading the designer…" sit in the middle of the product picture (still, where the visitor's system asks for reduced motion), the same from the page's first paint until the fonts and photos are in.

= 1.2.5 =
* The source that ships with the plugin rebuilds its scripts with `npm install` and `npm run build`, as the Source code section says: npm no longer stops at a React version conflict. The plugin itself is unchanged.

= 1.2.4 =
* The designer's product photos start loading once the designer is on the page, not while it is first drawn. Nothing changes in the shop; the designer's first view can now also be drawn ahead of time, as printblob.com's demo does.
* Nothing on the page moves when the customer designs: a text's and an image's controls, another plugin's tool and the list of what is on the side share one place, as large as the text controls; every side has its line in the price, printed or not; Add to cart and its messages keep their room; switching sides keeps the stage's size.
* The list of what is on the side shown chooses a text or an image to change, from the keyboard too, and in a view another plugin adds; Done closes its controls. A design restored from the last visit can be changed at once.
* PrintBlob's settings screen no longer makes WooCommerce report a PHP notice (the Designer page setting now gives the page search what it reads).

= 1.2.3 =
* The designer finds the variation from every attribute a product's variations depend on, as WooCommerce does: the cart is given the product and every choice, and WooCommerce picks the variation. Before, a product whose variations also depended on a third attribute (a material, say) could be added to the cart as the wrong variation.
* A product whose variations depend on an attribute the designer doesn't offer is not shown in the designer, and the shop manager is told which attribute and how to change it.
* Other plugins can offer choices beyond colour and size in the designer: a choice listed through the printblob_designer_config filter (options: the variation attribute, its label and its values) is shown under Size and sent to the cart with the others.
* The first steps after activation are shown on the Plugins screen and PrintBlob's own screens only, no longer on the dashboard and every WooCommerce screen.
* The product's PrintBlob tab saves only with its own security token, from someone allowed to edit the product.
* Translations come from translate.wordpress.org, as for every plugin in the directory; the plugin no longer carries its own.

= 1.2.2 =
* Other plugins can open the designer on one of their views: a view listed through the printblob_designer_config filter with initial set to true is shown first where the browser can show it, the first side otherwise.
* Other plugins can add their settings to the product's PrintBlob tab, through the printblob_product_panel action.
* Other plugins can add tools to the designer beside Upload image and Add text: a tool listed through the printblob_designer_config filter (tools) and registered on the printblob.designer.tools JavaScript filter gets a button, a panel and a way to add an image to the side being edited, placed, saved and printed as an upload is. An SVG added this way is drawn at the print file's resolution.
* An image added from an address (not uploaded) keeps its address in the design kept with the order.
* Downloads on the order screen are named after their order item (order-<order>-item-<item>-front-print.png), so an order with several designed items no longer downloads files with the same name.

= 1.2.1 =
* The private print folder gets its protection files (.htaccess and index.php) whenever PrintBlob uses it, and gets them back if they were deleted. Until now a folder first created by the Site Health check had none, so on Apache its print files could be downloaded by anyone who knew their address.
* Hiding the PrintBlob Pro line on the order screen needs the right to manage orders.
* Without WooCommerce, PrintBlob's blocks are not registered, instead of failing on the page.
* The Site Health check of the print folder verifies the site's certificate when the https_local_ssl_verify filter asks for it, as WordPress's own checks do.
* Uninstalling with PRINTBLOB_REMOVE_ALL_DATA also removes the designs' previews from the media library and the print prices from products; the design-save counters and the bundled-photo setting are always removed.
* The designer says "Centre"; the plugin row's PrintBlob Pro link opens the plans page.
* Versions before 1.1 are listed in changelog.txt.

= 1.2.0 =
* After the shop's first order with a design, PrintBlob's own screens ask once for a review on WordPress.org; following or dismissing the request ends it for good.
* What PrintBlob Pro adds is described in one panel on PrintBlob's settings screen and in one line on the order screen, which can be dismissed for good; neither shows once Pro is active.
* The designer, cart and order screens speak of your product rather than a shirt, for every product you print on; the bundled t-shirt mockup keeps its name.
* The customer's own images are kept with each design, as they uploaded them (PNG, JPEG or WebP, up to 10 a design): the order screen has a download for each beside the print file. They stay private like print files, are deleted with the design, and are part of the personal data export.
* The 3D view has moved to PrintBlob Pro: with PrintBlob Pro 1.1.0 or later the designer shows it as before, and its setting is kept. Without Pro, the designer works as before without the 3D button.
* Other plugins can add views to the designer, beside the product's sides: `printblob_designer_config` on the server and the `printblob.designer.views` filter of @wordpress/hooks in the browser.
* The designer's styles and script work on its `.printblob-designer` root, so it runs the same outside a block.
* The bundled t-shirt mockup's print areas are in assets/mockups/tee.json.

= 1.1.2 =
* In themes with a dark mode, the designer's Front and Back switch, its 3D button and its quieter buttons follow the dark colours: they stayed light, with light text that could not be read.

= 1.1.1 =
* Saving designs is limited per shopper and per IP (30 and 300 an hour; filter `printblob_design_save_limits`), since every save stores files on the shop's server.
* A design preview larger than a browser makes is refused before it is processed.
* A design that fails part-way through saving leaves no files behind.
* Unordered designs are cleaned up twice a day, in batches until none are left, instead of 200 a day.
* Site Health checks that print files cannot be downloaded from the web, and gives the nginx rule when they can.
* Designs are part of WordPress's Export and Erase Personal Data tools (ordered designs follow WooCommerce's setting for order data), are deleted with their order, and the privacy policy guide says what is stored.
* The 3D button is shown only where the browser draws 3D on a graphics processor; where it would draw it in software and stutter, the designer works without it.
* Copyright: microcompanies, LLC.

= 1.1.0 =
* New: a 3D view in the designer. The 3D button turns the product into a garment on a hanger, made from the mockup's front and back photos, with the customer's design printed on each side; drag to turn it, or use Front and Back. Its code loads only when it is opened. It can be turned off under WooCommerce › Settings › PrintBlob.
* The bundled t-shirt mockup has its own photo of the back (until now the front photo was used for both sides). Shops still using the bundled photos get it automatically; photos a shop uploaded are never changed.
* Mockups can record where the garment is open (sleeve ends, hem, neck) for the 3D view; the bundled t-shirt comes with them.

Older entries are in changelog.txt.

= 1.0.3 =
* The designer opens faster: its layout is in the page before the script loads, print fonts load only when used, the shirt photo is WebP, and its script loads at the end of the page.
* The page no longer jumps while the designer starts: its layout stays in place until the designer replaces it.
* Add to cart shows its progress right away, and a second click while adding is ignored.
* Themes with a light accent colour can set the text colour of the main button (--printblob-on-cobalt).

= 1.0.2 =
* The designer shows the product name (as the page heading), price and summary in the page itself before its script loads, so search engines and slow connections see them.
* Designer products list their price including the cheapest printed side, because every design has a print: "From" prices, sorting and search engine data show what customers actually pay at least.

= 1.0.1 =
* Switching between front and back keeps both designs.
* Print files are marked 300 DPI, so print software opens them at their real size.
* The designer follows themes with a dark mode: panels, fields, buttons and colour swatches take the theme's colours.

= 1.0.0 =
* First public release.
