I've had a hard time being upfront about my feelings, how can I get better at this?

Practice. This is an excellent question. Thanks for asking. 1. Get support (talk to a good friend). 2. Begin talking about easier feelings (build confidence). 3. Examine motives (why discuss feelings, do you want to change the other person? That may not be possible and could get in the way of sharing how you feel).
You're halfway there. Recognition of this tendency is the beginning of improvement. It is usually tied up with internal concerns about how others view you. A good behavioral counselor would be very helpful. Sometimes there are issues in your childhood, etc, that tend to perpetuate this issue.