Add-ons 0.4.1 — 6 September 2026 · Disputes, Messaging, Notifications, Reviews
- Disputes: the deadline we quoted was not always the deadline you had set. 0.4.0 let you choose the seller's response window, anywhere from one to thirty days. Four things carried on saying "48 hours" regardless: the status panel the buyer reads, the email to the seller, the alert to you, and the order note recording why a dispute escalated. So an owner who allowed fourteen days had a buyer told they had two — and an audit trail asserting a deadline that had never applied to anybody. An order note is evidence; it is the last thing that should be inventing a number. The timer itself was always right, and all four now read the window you actually set.
- Messaging: the offer email had no way out of it. "You received an offer" went out with no unsubscribe link and no
List-Unsubscribeheader. Switching Messages & offers off did stop it, but nothing in the email said so or offered a way to act on it. The message alert beside it had been fixed already; this one was missed. - Reviews: a missing header on the "you were reviewed" email. It carried an opt-out link but no
List-Unsubscribeheader — the part Gmail and Yahoo actually check on bulk senders, and something no amount of body copy substitutes for. - Notifications: a preference described two things that do not exist. Shop activity promised "new followers, favourites, and reviews on your shop". No BazaarKit add-on has a follow or a favourite feature, so two thirds of that sentence described nothing. It now says what it governs: new reviews you receive, as a buyer or a seller. Only the description was wrong; the routing was already correct.
- Escrow and International Shipping are unchanged and stay at 0.4.0 rather than being renumbered for the sake of matching.
Add-ons 0.4.0 — 6 September 2026 · all six add-ons
- Fixed: the add-ons could not be switched on at all. Every 0.3.0 package required a plugin folder named
bazaarkit. The free plugin's download becamebazaarkit-multivendor-shipping-for-woocommerceon 30 August, so WordPress reported the requirement unmet and named a plugin that was already active. An add-on already running kept working; a fresh install, or one switched off and on again, did not. If you own any add-on, update it. - Notifications: the in-app bell never recorded a message. Not "sometimes" — never, on any site. The listener expected a different shape of data from the one the messaging add-on sends, so it stopped before writing anything. Messages now appear in the bell as they always should have.
- International Shipping: a basket could be refused that the free plugin alone would have completed. If one listing in a shop had per-continent prices and another had never been touched, the add-on applied the strict rule to both and declined the order. Each listing now answers for itself, and an untouched one falls back to the vendor's flat rate.
- Messaging: blocking and unblocking are now rate-limited and check the person exists, in line with the other write actions.
- Reviews: "you received a review" was governed by the Review requests preference, which promises a reminder to review somebody else. It now answers to Shop activity, which is the one that mentions reviews on your shop.
0.3.4 — 6 September 2026 · free core only
- Fixed: a shop could start shipping free without anyone choosing to. Saving a product from Dokan's newer dashboard does not carry a shipping price — that editor saves through Dokan's own REST route, which sends its own fields — and BazaarKit read the silence as a deliberate "free". It then took the shop's postage over and quoted £0.00 in place of whatever the store charged. It now writes nothing when no price is sent, so a listing nobody has priced is left alone.
- Completed the 0.3.3 notes below, which credited only WP Super Cache for the holiday-mode cache fix and left out the rest of that release.
- The six add-ons moved to 0.4.0 on the same day — see their own notes. If you own any of them, update those too: the older packages cannot be activated alongside a free plugin installed from WordPress.org.
0.3.3 — 29 August 2026 · free core only
Nothing changed in the add-ons; there is no new package to install for them.
- Fixed: the Settings link led to a page that refused to load. Both the Settings link on the Plugins list and the Settings button on the Per-Vendor Shipping card pointed at a menu slug that had since changed. Every settings link in the plugin is now built from a single constant, so they cannot drift apart again.
- Pausing a shop now clears the page cache properly. Holiday mode fired an action WP Super Cache does not publish, so on those sites a paused shop's listings carried on being served from stale HTML — hidden everywhere except the pages people actually land on. Each cache is now reached the way its own authors say to reach it, and the purge is scoped to the current site so a multisite network is not flushed wholesale.
- BazaarKit opens on Settings, not on a price list. The top-level menu used to render the add-ons catalogue, so the first screen after activating a free plugin was three pricing tiers. It lands on Settings now; the catalogue is one deliberate click away. The "we'll build your marketplace for you" pitch has gone from wp-admin altogether — that is a service, not a plugin feature, and it belongs on this site.
- No prices in the vendor dashboard. The BazaarKit tab inside Dokan's dashboard renders on the public front end, and it carried a price list and outbound buy links. It was also pointless: a vendor cannot install a plugin. Cards now name the module and say "Not installed".
- Wording we could not stand behind. The description of the site-wide default promised a protection it does not provide. The vendor shipping-price help text said "highest rate" even on stores set to charge the sum. And the comparisons to Dokan Pro are gone — six add-ons do not cover Dokan Pro's dozens of modules, and it was an unprovable claim about somebody else's product.
- Smaller fixes. The holiday-mode form checks the caller's capability as well as the nonce. Uninstall no longer aborts halfway when a second copy of the plugin is present, which could leave settings behind. Settings sections for add-ons you do not have are plain informational notes now — no price, no button; the offer is made once, on the Add-ons screen.
- The download unpacks under a new folder name. It is now
bazaarkit-multivendor-shipping-for-woocommercerather thanbazaarkit, because WordPress requires a plugin's text domain to match its folder. If you installed an earlier zip by hand, WordPress will treat this as a second plugin rather than an update: deactivate the old copy and activate the new one, and your settings carry over because they live in the database. Do not use Delete on the old copy without checking BazaarKit → Settings afterwards — deleting a plugin runs its uninstall routine, and it removes the settings both copies share.
0.3.2 — 29 August 2026 · free core only
Written in answer to the WordPress.org review. Nothing changed in the add-ons.
- International orders now get a shipping rate. The vendor's flat price is quoted for any destination, at home or abroad. Before this a foreign address was left with no rate at all, which blocked the sale — the free plugin was holding back a working feature to sell the paid one, the review called it what it was, and the review was right. International Shipping still does the thing the free plugin deliberately does not: charge a different price per continent, and let a vendor decline a region entirely.
- The add-ons screen no longer contacts our server. It quoted a live bundle price, which meant a request left your site simply because you opened a screen. It names no bundle price now and links to the pricing page instead. This reverses the change made in 0.3.1, below.
- Updated the bundled Freemius SDK.
0.3.1 — 25 August 2026 · free core only
Nothing changed in the add-ons; there is no new package to install for them. The live price lookup described below was removed again in 0.3.2 — it should not have been there, and current versions make no such request.
- The add-ons screen shows the price you will actually be charged. The founder discount retires itself after 100 licences. A price compiled into a release would have kept promising it long after the checkout stopped honouring it, so the screen now reads the live figure — and shows the regular price if it cannot reach us, which is the safe way round.
- Fixed: the add-ons screen could fail to load. A button on it pointed at a constant that had been deleted, which PHP does not object to until the line runs. Every constant reference in all seven plugins is now checked automatically, so this particular way of breaking a screen cannot come back unnoticed.
- One new outbound request, and only one. Opening the add-ons screen fetched a small public file from bazaarkit.online to read that price. It sent nothing about your site — no URL, no email, no licence key — and the answer was cached for twelve hours. Removed in 0.3.2: a plugin should not make a request you did not ask for, whatever it is carrying.
0.3.0 — refreshed 23–24 August 2026
The 0.3.0 packages were re-issued with a round of fixes and two new surfaces, ahead of anyone holding a licence. If you downloaded 0.3.0 before 23 August, download it again — same version number, better build.
- Buy without typing a key. Purchasing an add-on from the BazaarKit dashboard now activates the licence on your site automatically when you come back from checkout — no key to copy, nothing to paste.
- Buyers get their own inbox. Messaging conversations now live under My Account → Messages for customers, alongside the vendor dashboard tab sellers already had. Before this, a buyer on a standard shop could send a message and never see the reply.
- Offers work on variable products. An accepted offer now applies at checkout for any variation of the product it was made on. Previously the buyer silently paid full price.
- Dispute rulings always stick. An admin "no refund" decision on a fresh dispute is now recorded before anyone is told about it, and partial settlements on taxed stores can pay the full advertised amount, VAT included.
- Escrow refunds reach the buyer in more shapes. The day-7 no-tracking refund now handles product variations and partially-refunded orders; a lost partial chargeback claws back only the disputed amount; and the money-held screen totals every order, not just the first two hundred.
- Review emails can be stopped. Every review email carries a one-click unsubscribe link, and the new-review notification honours the Notifications add-on's preference centre like the rest.
- Cleaner uninstalls from the store. Store-installed add-ons now remove their own settings on uninstall exactly as manually-installed copies do.
0.3.0 — 20 August 2026
- Per-continent international shipping (International Shipping add-on). A listing can charge a different price to Europe and to Oceania instead of one flat worldwide figure — or leave a region blank and simply not post there. Existing listings keep their single price with nothing to migrate.
- Vendor holiday mode (free core). Sellers pause their shop with one switch: listings are hidden everywhere and can't be bought, without unpublishing anything. Turning it off restores everything exactly as it was.
- Departed sellers no longer leave live listings behind. WordPress reassigns a deleted user's posts to the site owner, leaving orders nobody can fulfil. Their listings are now moved to the trash instead — recoverable for 30 days, with order history untouched.
- Partial dispute settlements. A seller can settle a dispute for part of their portion instead of choosing between refund-everything and contest.
- Fixed: a query-building edge case that could exclude the wrong author from listing queries.
0.2.0 — 18 August 2026
- Licence enforcement. Paid add-ons must now be entitled, not merely installed. Admins can no longer switch on an unlicensed add-on, and are told clearly when one is installed but inactive.
- Settings screens for every module in one place, under BazaarKit → Settings.
- Notifications navigation and a working one-click unsubscribe for the email preference categories.
0.1.0 — 21 June 2026
- Initial release. The free core: the module framework and Per-Vendor Shipping — each vendor sets a flat price per listing, buyers pay one bundled rate per shop.
If you would rather install by hand, the current build is a direct download. From 0.3.3 a hand-installed copy sits alongside an older one rather than replacing it, because the folder name changed — see the 0.3.3 note above.
Running an older build?
The current version is free to every licence holder — update from your Plugins screen, or grab the core again below.
Get the free core Back to the docs