Yes, it's a concern when modifying any implementation.
When developers use your type, they'll develop based on the current contract. If updating the implementation does not change the contract, you're fine.
However, if updating the implementation does change the contract, you aren't fine.
If your contract for equality is currently:
"Two objects are equal if they share the same name"
The two objects should always be equal if they have the same name, since developers will develop based on that.
If you introduce a new field, for example id, and update the contract to include that field:
"Two objects are equal if they share the same name and id"
Systems which expected equality by name will now break if two objects share the same name, but have different ids.
This is not the fault of that developer. Your contract stated equality was determined by names. Their code abided that. By updating the contract, you will potentially break their code.
If your contract stated:
"Two objects are equal if all their properties are equal"
Then introducing a new property shouldn't break software, as developers would expect any new properties to be accounted for by the implementation, and would develop their systems with that in mind.