When creating a CiviCRM Mailing including a Smart Group, All contacts met by the criteria of the smart group are added. There is no check performed to make sure that contacts removed from the smart group aren't included
in 4.7.31 There was a lot of work done in improving the performance of the CRM_Mailing_BAO_Mailing::getRecipients function. This then led to an ACL inclusion problem fixed in 5.3.0, Multilingual mailing issue, there were some issues with SMS message code not being included. This is a further issue whereby when getting smart groups we do not properly exclude any contacts removed from the smart group