What's new in 3.17.0 (August 24, 2026): Safety and truth in listing release. Three weeks of incidents , a firearm order that auto shipped without its FFL requirement, AI written listing titles that pr

Updated October 22, 2026 in What's new

Released August 24, 2026. Safety and truth in listing release. Three weeks of incidents , a firearm order that auto shipped without its FFL requirement, AI written listing titles that promised more than the box contains, and listings that refused to die , each became a systemic fix rather than a one off patch. Alongside them: the system health board, a much faster storefront, and a long overdue cleanup of how dealer licences attach to orders.

Added

  • System Health board , one admin page grading everything that can go wrong green/yellow/red, fed by a probe every five minutes: distributor feeds, crons, disk, database, mail, GunBroker token. Problems float to the top as cards; a wall of indicator lamps covers the rest. Includes a log/code viewer so a red light links straight to the evidence.
  • AI title number audit , a buyer paid for a "200Rd Case" the ad invented; the source box holds 100. The existing title audit only covered titles written after a cutoff date and deliberately ignored round counts, so 47,554 older titles had never been checked. A new audit reads every live AI title with no date floor and verifies every NUMBER against our own product data. First full pass over 64,105 titles surfaced 33 real fabrications; the 14 worst live listings (invented round counts, a brand swapped to a competitor, a bolt action sold as semi auto) were ended and relisted with corrected titles.
  • Duplicate listing sweep by UPC , the same physical product listed twice under two product rows, sometimes at different prices. The old cleanup grouped by product id and was blind to it. A UPC level sweep found and ended 37; the sweep is repeatable.
  • Crow blocked PO resolver , a submission timeout once produced TWO live Crow orders for one PO, so the guard that blocks resubmission after a timeout is deliberate. Crow's API cannot look an order up by PO, so only a phone call can resolve one; a new tool records that human determination (who confirmed, what Crow said) and safely unblocks the order , including a closed out branch for the case where neither "Crow has it" nor "Crow doesn't" can be proven.
  • Official Global Ordnance MAP sheets loaded , 315 UPCs of manufacturer published MAP now on file; 8 products were priced below the official minimum and moved up. Their two violation letters are answered , the second one re reported a stale scan, which the live GunBroker API disproved in minutes.
  • Phone orders billed through the platform , GunBroker phone sales are now created as real orders with GunBroker pricing, GunBroker shipping and correct sales tax, and charged through Authorize.net CIM, instead of living outside the system.

Fixed

  • Half of all GunBroker listing activity was a self inflicted loop , 18,253 of the 37,023 listings created in the week before the fix were the same products being listed, killed and relisted, some ~450 times a month. Two inventory writers disagreed: the sync's per warehouse pull grouped by distributor SKU while the stock table is keyed by warehouse+UPC, so a UPC carried under two distributor SKUs at one warehouse (a live row and a zero quantity sibling) raced for one row , when the zero sibling won, the product was marked out of stock, the OOS killer ended its listing, the next sync saw the distributor's real stock and relisted it. The pull now merges per warehouse+UPC with the same rule the cache sync uses, and the loop starves. The OOS killer itself was correct throughout and is unchanged.
  • 38 firearms could not list because their GunBroker category was wrong , the safety guard rightly refuses to post an FFL item into a category that strips the FFL requirement, but these sat in "Everything Else", one AR lower in "Pistol Grips", and retried forever (~23,600 blocked attempts). 36 were assigned their correct firearm categories from their titles , bolt rifles, semi auto pistols, an AR lower, a pump firearm; one LE only marked pistol is held for a decision, one muzzle adapter was already correct.
  • Distributor image recovery was silently dead for three warehouses , the lookup pointed at remote columns and a table that do not exist (and one mirror has no SKU column at all), so every attempt threw and was swallowed as "no image found". Corrected against the real remote schema and verified returning live image URLs.
  • Firearm order auto shipped without an FFL , an order containing two suppressors passed auto fulfillment pointed at a residential address because the FFL requirement could silently downgrade on bad data. The downgrade now requires three independent signals to agree (item flags, category, title scan) before an order can lose its FFL requirement, and the category/title scan was itself repaired , the old pattern used a regex feature our database silently treats as match nothing, so the guard had never fired. Also fixed the same week: a Title I firearm flagged not to require FFL on all three data layers, caught by a buyer before it shipped to his home.
  • 329 suppressors listed on GunBroker without the FFL flag , and the discovery that GunBroker's update API silently ignores the FFL flag (and the title, and the category) on existing listings while reporting success. Fixing a live listing's compliance data now means END + RELIST, never update in place, and the sync no longer writes the API's fake success back over our data.
  • Storefront speed , the homepage was rebuilding prices on every view: 4.8 seconds became 0.06. Category and product pages share the cache. The cart and checkout money path is deliberately excluded from all price caching.
  • Feed staleness , inventory feeds were rebuilt with per feed locks and the N+1 committed quantity lookups removed; the slowest feed went from 99 minutes stale to about 7, and orphaned temp files from crashed runs are swept automatically.
  • Dealer licences now travel to every order for that dealer , a licence uploaded on one order attaches to all open orders matching the same licence NUMBER (never the name), lands on the dealer record, and is stored on the NAS. Licence matching everywhere now refuses expired records , renewals create a new row and only the expiry segment of the licence number changes, which had been silently matching stale documents.
  • Fixed amount promo code stopped working after a price drop , a fixed amount code is pinned to the price basis it was created against; when the gun's price fell below the code's minimum, checkout rejected it. The code was rebased so the intended buyer paid the intended price.
  • Off platform GunBroker payments no longer auto ship firearms , capturing a phone payment arms auto fulfillment, so FFL orders paid that way now park awaiting their dealer's licence instead of racing the paperwork.

Changed

  • MAP enforcement playbook is now standard , manufacturer row exists → enforce flag → MAP value present → sweep the brand family. Applied to Global Ordnance, H&K, and the backfilled brands; violation letters are now verified against the live GunBroker API before we answer, not just our own database.
  • Admin pages standardised on the design system , System Health, the log viewer and Email Health share the same shell, fonts and layout instead of rendering unstyled beside the fixed sidebar.

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.17.0 august 24 2026 August 2026 system health board ai title number audit duplicate listing sweep by upc crow blocked po resolver official global ordnance map sheets loaded phone orders billed through the platform half of all gunbroker listing activity was a self inflicted loop 38 firearms could not list because their gunbroker category was wrong distributor image recovery was silently dead for three warehouses firearm order auto shipped without an ffl 329 suppressors listed on gunbroker without the ffl flag storefront speed feed staleness dealer licences now travel to every order for that dealer fixed amount promo code stopped working after a price drop off platform gunbroker payments no longer auto ship firearms map enforcement playbook is now standard admin pages standardised on the design system -->

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

Your first comment is reviewed before it appears. We email you a link to confirm it is you; your address is never shown or shared.