We tightened up sourcing workflows and gave the identifier system some serious attention under the hood.
What's new
Primary source selection now ranks quotes per component. When you have multiple quotes for the same part, Duro picks the best one based on your sourcing rules — price, lead time, MOQ, whatever you've configured. No more manual triage.
Quote uniqueness enforcement. You can't accidentally create duplicate quotes for the same part/distributor/DPN/quantity combination anymore. The system blocks it at write time.
Smarter identifier validation. The API now auto-detects whether you're using structured identifiers (like dash-number schemes) or freeform part numbers, and validates accordingly. Less guesswork when importing BOMs.
Improvements & fixes
Fixed a regression where category presets weren't applying correctly during part creation.
Change order custom validation now includes human-readable attribute names in error messages — easier to debug when something fails.
Cleaned up identifier UI to properly handle optional groups that don't repeat.
Fixed a bug where batch identifier imports weren't catching case-insensitive duplicates.