Dear Adam,
It is an improvement because before that change you would get a new Item number for each one of those combinations even though they were the same Item.
Upchain has always supported electrical packages to have the same Item number listed multiple times in BOM, that is not a new functionality.
There are two types of attributes when we are talking about Items - Item and eBOM attributes.
Item attributes are the same for all instances of that Item across the system - even in search. Those are the Item name, description, revision note, history, etc.
eBOM attributes are values that are stored on the relationship between that Item and its parent. An example of that is the quantity. Item does not know how many times it will be used in the context of the assembly, that's why it is not an Item attribute. The same is true for your Reference designator. The system does not know if that resistor will be R1, R100, or R1, R2, R100. That is up to the design of the PCB board.
The system limitation was always there and that is that only one Item can have the same manufacturer/manufacturer # combination. An additional restriction was added to the Item name so that the system does not create multiple Items in the system with that combination if that was left empty. It has happened in the past and that is why that restriction was added almost a year ago.
As for this use case that you are describing:
"I don't know any scenario that I would want two of the same items listed twice in the same cBOM."
We have automotive PCB designers in the system that have separated their components based on the PCB side - that means that they have resistors that go to side A (top) as one line Item going to one assembly machine and a second one for Side B (bottom) going to another machine.
As for Item names, either you use that system that has generic names such as 100ohm Resistor and you list different suppliers in the supplier's section or you create specific Items for those resistors 100ohm Resistor-Optoisolator. That way you will always have one Item number for that Excel line and the correct BOM which is what you need.
What other customers are using for prototypes is that they use generic names because they are not interested in having top components but available ones and as the design matures then they are changing it to specific components.
I hope this provides you with more context about how the system works, why there are certain limitations, and also what are the best practices.
Best regards,
Tomislav
Tomislav Horvat
Product Management Engineer