When I flew with family last year we had our seats assigned (there was four of us) by BA about a month and a half before.
However, next month doing EDI-LHR-MIA-CHS, then CHS-DFW-LHR-EDI on my own BA assigned me seats free of charge to everything but the long haul flights. And I can change all of the seats that I have been assigned for free as well.