*** AddOnBoss Changelog ***

The same history as the Changelog section of readme.txt, kept here so it can be
read without opening the WordPress.org listing. readme.txt is the source of
truth for what WordPress.org shows; the two must stay in step.

2026-08-11 - version 1.3.4
* New (Pro): a set your shoppers may take several choices from now works on the quantity grid, offered once for the whole order and drawn with its pictures. "Pick up to two print positions" sits beside your size and colour grid, with a photograph of each position, and every position is charged. A set like that used to be left off a grid product altogether, so nobody saw it and nothing was charged for it.
* Fixed: the option set editor now says when a set's pictures will never be shown, and carries the one click that fixes it. If the set was once set to draw plain Square or Circle swatches, every picture put on a choice after that was kept and never drawn, with nothing on screen to explain it. The Swatch shape control also moves to Photo card by itself the moment you add the first picture, so it shows what shoppers will actually see.
* Fixed: choosing a colour inside a bundle no longer highlights a patch wide enough to look like it covers two colours. A swatch drawn without its name now takes its own size, and the tick sits on the colour that was chosen.
* Fixed (Pro): the product's Order layout panel now names any option set the quantity grid will not show, and says plainly that it will never be charged. A set that only appears under a condition still cannot ride a grid, and now it says so instead of quietly disappearing.
* Changed (Pro): where a shopper takes several choices from one set, the running total names the set once and lists the choices under it with its own subtotal, rather than repeating the set's name on every line.

2026-08-10 - version 1.3.3
* New (Pro): give a choice its own picture in the option set itself, rather than one product at a time. Build "Where do you want it printed?" once, with a photograph on Front chest, Full back and Left sleeve, and every product you put that set on shows the same pictures. A picture set against a choice on one product still wins there, exactly as a charge does.
* Changed: where shoppers may take more than one choice from a set, the ones they have taken now carry a tick. A chosen choice used to look exactly like a chosen radio button, so a set they could take three of read like a set they could take one of.
* Fixed: taking a second choice no longer wipes the first one's note off the page. Every choice a shopper has taken keeps its own line, each one named, so "A logo on the left chest" stays put when they add the sleeve as well.
* Fixed (Pro): on a set where shoppers may take several, choosing no longer swaps the main product photograph. It followed whichever was picked last, so somebody choosing three print positions watched the garment they were buying be replaced by a picture of a sleeve. A set where they pick one, like a colour, still changes the photograph as before.
* Fixed (Pro): the product's Order layout panel now says when option sets are attached to a variable product that is set to the quantity grid. The grid works across that product's variations, so the sets are neither shown nor charged; they used to disappear with nothing on screen to explain it.
* Changed (Pro): the public upload and preview addresses now refuse a flood of requests from one visitor. Nothing changes for a shopper sending artwork; it stops a stranger hammering the endpoints.
* Changed (Pro): a stock count on an option no longer creates a hidden product to hold it. The count now lives on the option itself, in the plugin's own records. On update, every count is carried over and every hidden product the old build created is removed from your product list automatically. The storefront behaves exactly as before: a sold-out choice says so, a sale draws the count down, and a cancel or a restocking refund gives it back.
* Fixed (Pro): emptying an option's stock box now means unlimited again. Before, the box forgot the number but the cap quietly stayed, so the option kept refusing orders at whatever was last typed, with nothing on any screen to say why.
* Changed (Pro): the stock box in the set editor now carries a visible Stock label beside it, rather than being identified only by its placeholder.

2026-08-10 - version 1.3.2
* Fixed: on the product's Options panel, every choice's name was drawn one column to the left of the boxes it belongs to. The wording above a charge box, a photo button and a "Not on this product" tick therefore named the choice next door, so ticking the box under Navy took White off the product instead. Nothing was ever stored wrongly and nothing needs re-entering. If you have set charges or photos, or hidden choices, from that panel, it is worth a look to check they landed on the choices you meant.
* Changed: where a set's swatch shape is set to Square or Circle, photos on its choices are kept but never shown to shoppers. The product panel now says so beside the photos you add, and names the setting that changes it, instead of taking the picture and drawing nothing.
* Fixed (Pro): the quantity discounts switch had its wording pulled off the left edge of its own section on the product panel.

2026-08-06 - version 1.3.1
* Fixed: on a page that had already finished its stylesheets, a block of styling was written out by the plugin rather than handed to WordPress. It is handed over now, so WordPress builds the tag. Nothing looks different; the plugin simply stops doing a job that is not its own.
* Changed: every block of output the plugin gathers up before printing is now closed even if something in the middle of it fails. A theme or another plugin throwing an error part-way through can no longer take the rest of the page down with it.
* Changed: the BossMage home page works out which of our plugins you are running instead of asking them to announce themselves. Still one shared menu, and nothing has to be agreed between plugins, so the page is right whatever versions you have installed. If you also run BundleBoss, its own home page will not list AddOnBoss until BundleBoss next updates.
* Fixed: a rule that turns on when a field holds a particular answer now matches answers with an apostrophe in them, such as O'Brien. Before, the row that rule governed stayed shut for those customers and opened for everybody else.

2026-08-05 - version 1.3.0
* Fixed (Pro): a rule could not reach the fields it was allowed to use. A field you had just added offered nothing to point at until the product was saved and the page reloaded, so "show this only when that is ticked" looked like it did not exist. The list is now built from the questions actually on the panel.
* Changed (Pro): where a question sits below the one you are writing a rule for, the editor now names it and says to drag it above, instead of quietly leaving it out of the list.
* Fixed (Pro): the quantity break rows had no columns. The two boxes now fill their headings, How many and Price each, and the heading follows whether you are typing prices or percentages.
* Changed (Pro): the quantity break starting points are named by the breaks they fill in, 10, 25, 50 rather than "Trade ladder".
* Fixed (Pro): the swatch shape you choose on an option set now reaches the quantity grid, and the grid draws its swatches exactly as the single-pick page does, without the white ring around the colour.
* Fixed: ticking "Not on this product" against a choice now strikes it through as you tick it, rather than waiting for a save. The tick box is also clearer: it used to read "Not on this one", which could mean the choice or the product.
* Fixed: AddOnBoss shows its own logo on the BossMage home, its own screens and the licence screens, instead of a placeholder badge.
* Fixed: the BossMage home card offers Positions, which was the one screen it left out.
* Fixed: activating AddOnBoss dropped you on an error page saying you were not allowed to view it. The plugin had installed correctly and nothing was actually wrong, but it was the first thing a new user saw. Activating now opens the AddOnBoss screen.
* Fixed: the colours you choose now reach the quantity grid. A shop selling by grid could set a brand colour and watch nothing change, because the grid was still drawing itself in the old built-in colour.
* New: attach a whole group of option sets in one pick. Where your library keeps sets in groups, the attach menu lists them under their group and offers the lot, so a product that needs five of them takes one click instead of five. A set already on the product is skipped rather than added twice.
* New: a product can refuse some choices of a shared set. Use the same Colour set everywhere and tick "Not on this product" against the two colours this product cannot be had in. The set stays one set, so a colour added to it next month is offered everywhere it was not refused.
* New (Pro): a rule can start from a field, not only an option set, and a rule can hide as well as show. Tick a box and the upload goes, in the words you would use out loud: "Hidden when Use my own artwork is ticked". A rule may point at any question asked above it.
* New: an info block can keep its label to itself. The name still finds the block in the editor; untick one box and the customer sees the content on its own.
* Changed: the template link on an upload field says what it is and what the shopper gets, instead of being an empty box with a web address in it.
* Fixed: a rule with more than one condition could shut a field the moment any choice changed, even where the rule was satisfied.
* New (Pro): stock on a single choice. Type a count on one option and WooCommerce counts it from there, so eleven jars of one flavour sell out on their own while every other choice carries on. A sold-out choice says so and cannot be picked. The same count is held however the sale is dressed: the product's own page, the quantity grid, two separate cart lines, a re-order, or inside a BundleBoss bundle.
* New (Pro): the quantity grid shows option photos. A set built from pictures draws its cards as pictures on the grid, not just colour swatches, so a flavour or a design is chosen by sight.
* New (Pro): price breaks work on the quantity grid too, not only the single-pick page, and the band table renders alongside it so a shopper sees what the next band is worth.
* Changed: a choice that costs extra says so on its own card. Where a shop hides its item prices the card shows the extra rather than the price, so a dearer choice is never a surprise at the till, and the extra is only shown where it is actually charged.
* Fixed: a cart line listing repeated blocks read across the blocks instead of down one, so whoever made the thing saw the second engraving's words above the first one's font. Each block now reads whole before the next begins.
* Fixed: a price break could not make a product free. A band left blank, typed as zero, or set to a hundred percent off no longer gives the item away.
* Fixed: a per-item field kept charging for entries that were no longer being bought after the quantity was lowered.
* Fixed: a sold-out choice now tells a screen reader it is unavailable, not just the eye.
* Fixed: quantity grid cells keep an even height when a label wraps to two lines, and photo-card option rows align in an even grid.

2026-08-03 - version 1.2.0
* New (Pro): personalisation you can see. Mark on your own product photo exactly where a logo or a line of text goes, and the customer's words are drawn onto the picture live as they type. A set can hold a photo per view, so a front and a back are two pictures and each spot picks the one it sits on. The block shows as a card, a bar that opens, or a button that opens a panel, and on a phone a slim Add to cart follows the shopper down the page.
* New (Pro): quantity price breaks. Set bands so the price per item falls as the order grows.
* New (Pro): ask one field several times on a single line, with "add another" or one instance per item, and gather grouped options under a heading that folds away.
* Fixed: the price on the page now includes the personalisation. On a product that carries both options and positions, the live total adds the personalisation fee the cart will charge, so a shopper reads the figure they will pay.
* Fixed: a colour or photo option set stays as swatches however many it holds. Past a dozen options it used to fall back to a dropdown that hid every swatch; now the swatches survive, and editing the set for something else no longer loses them.

2026-07-30 - version 1.1.0
* New (Pro): file uploads gained the round they were missing. A file-type ladder from images to everything, one odd extra format when you need it, a drag and drop area with a real progress bar, a smallest accepted resolution that warns or refuses before you print, width and height bounds, a smallest number of files, crop and rotate and resize applied as the file arrives, a filename pattern built from tokens, a folder per order, artwork attached to the order email, and every file on an order as one zip.
* New (Pro): price tables grew up. Bands read the way the trade prints them ("up to 600", "601-699", "501+", fractions), a shopper can type a measurement instead of picking, each axis decides on its own whether to round up or down, a minimum charge floors every cell, and a pasted cost grid can carry your margin. Overlapping bands are now pointed out instead of quietly picking one.
* Changed: price tables are a Pro feature, alongside measured sizes. Both price the same made-to-measure product, one from a grid and one from a rate, so they belong together.
* Fixed: a typed size in the wrong unit is refused by name rather than priced as the wrong number, and a size past the widest band is refused instead of being given the top band's price.
* Fixed (Pro): a multi-file upload field showed only its first file on the order, so the rest were invisible to whoever had to make the thing.
* Fixed: switching a price table between one option and two no longer destroys the grid you had typed.
* Fixed: the product options panel no longer breaks the product editor when the upload module is absent.
* Changed: the plugin's screens sit lower in the admin menu, below Settings, and its scripts and styles now load through WordPress's own enqueue system.

2026-07-28 - version 1.0.0
* First release. Reusable option sets with an optional charge per choice, shown as swatches, buttons or a dropdown. Custom fields (text, message, number, dropdown, tick box, section label, info block), each optional or required and each able to charge once or for each item. Grouped options under their own headings. A native cart, order and email path, with every charge priced and taxed through WooCommerce itself. Shares one option-set library with BundleBoss and runs safely alongside it.
