== PrintBlob changelog, older versions ==

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

= 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.
