What's new in 3.16.0 (August 3, 2026): Compliance and order routing release. A MAP violation notice from Heckler & Koch exposed a whole class of unprotected listings, and the fix closed it across the
Released August 3, 2026. Compliance and order routing release. A MAP violation notice from Heckler & Koch exposed a whole class of unprotected listings, and the fix closed it across the catalog. Distributor orders that used to fail silently and retry forever now fail over to the next supplier on their own, and the customer account pages finally show every package on a multi box shipment.
Added
- MAP protection backfilled from the distributor feeds , an H&K violation notice showed the real failure mode: the brand was correctly set to enforce MAP, but that product had no MAP price on file at all, so enforcement had nothing to hold and the normal markup published a price under their policy. A survey found 6,532 live GunBroker listings from MAP enforced brands in exactly that state, 530 of them already advertised below the MAP their own distributor feed publishes. Those 530 now carry the feed's MAP. The backfill takes the highest MAP any distributor publishes for a UPC, never overwrites a MAP already on file or one that has been hand locked, and skips feed values that fall below our own cost as bad data. rerunnable per brand as
tools/backfill_map_from_feed.php. - Distributor failover on clean rejections , when a distributor definitively rejects an order (unknown SKU, out of stock, validation error), that supplier is now recorded against the item and skipped on the next pass, so the order routes to the next best source instead of retrying the same dead end every five minutes. Stock type rejections drop the supplier entirely; a dropship refusal keeps them available for ship to store. Timeouts are deliberately excluded , when it is unclear whether the distributor received the order, it still stops for a person rather than risking a double shipment.
- View as customer , every customer row in the admin now has a button that opens that customer's own account pages exactly as they see them, with no password needed and a banner across the top so it is never mistaken for a real session. Every use is written to the admin activity log.
- Daily local inventory cycle count , an 8am email listing local only stock worth checking on the shelf, which goes quiet for 90 days once a list is verified.
Fixed
- Multi package shipments only showed one tracking number , an order shipped in two boxes displayed a single tracking number in the customer's account, and an order whose items travelled inside another order's box showed none at all. All three customer views now list every outbound package with a working carrier link. Ship to store legs stay hidden, since those are our freight and not the customer's.
- Internal order statuses were visible to customers , account pages were printing raw status names like "distributor_to_38w" and "needs_human_review". Customer facing wording now comes from one shared source, every gap in it has been filled, and anything unrecognized falls back to "Processing" rather than leaking an internal name.
- Combined orders cluttered the customer dashboard , the closed shell orders left behind by a combine are now hidden from the order list entirely; the surviving order carries the items, payment and tracking. Old confirmation email links still resolve and point at the surviving order.
- Free shipping was being overridden on firearms , a safeguard added in June to stop under quoted firearms shipping for a few dollars was also overriding legitimate free shipping on MAP locked brands, adding $18 to Sig Sauer and Alpha Foxtrot firearm orders since June 19. The safeguard now checks server side whether the cart qualifies for free shipping and stands down when it does, while still protecting against genuinely under quoted firearms.
- Crow orders failing on low numbered SKUs , Crow publishes nine digit zero padded SKUs, and our inventory mirror was storing them numerically, so "000003936" became "3936" and Crow's cart could not resolve it. Orders retried the dead SKU every five minutes for days and left abandoned carts on Crow's side. The importer now preserves the zeros, and submissions normalize any numeric SKU back to Crow's format as a safety net. Verified against Crow's live API.
- Phantom net loss holds on ship to store , the profit calculation charged an invented inbound freight cost for any distributor missing from the shipping rules list, even though every configured distributor ships to us free. That manufactured losses that were not real and parked orders for review that were fine to ship. Inbound freight now defaults to free, and any explicitly configured freight still applies.
- Product data corrections , Arken EPL4 scopes were missing the objective lens size entirely (a customer had to ask), the Wilson Combat CA CQB was listed as a Compact when it is the full size, and a hand built Knights Armament listing carried the wrong UPC so site search could not find it.
Changed
- Repeated skip reasons log once , an order that keeps skipping for the same reason no longer writes an identical note every five minutes; one order had accumulated over 1,400 copies, burying the useful history.
All releases: What's new in Trinity. The same notes are on the What's New page in your admin.
<!-- search: what's new whats new change log changelog release notes update version 3.16.0 august 3 2026 August 2026 map protection backfilled from the distributor feeds distributor failover on clean rejections view as customer daily local inventory cycle count multi package shipments only showed one tracking number internal order statuses were visible to customers combined orders cluttered the customer dashboard free shipping was being overridden on firearms crow orders failing on low numbered skus phantom net loss holds on ship to store product data corrections repeated skip reasons log once -->
Still stuck? Email support@2adata.com and tell us which article you were reading.
Comments
No comments yet. Questions and tips from other store owners are welcome.
Leave a comment