Renaming a private field in a class exposed to client is an API change? Will it break the client? Please note I am not changing the setter and getter name here. The DTO for which the field is renamed is sent over rmi, i.e. Serialized/De-serialized. When serialization happens the renamed field becomes null. How to handle this problem?
The serialized form of an object is part of the API.
I would recommend Joshua Bloch' book Effective Java which has some interesting chapters on serialization.
Here is more on serialization: https://docs.oracle.com/javase/8/docs/platform/serialization/spec/version.html. It says that deleting a field is actually an incompatible change.