Not that recent, the switch has been there since 2.2 alpha 2, released 8 years ago (August 22, 2001):
__all__ = ['all_feature_names', 'nested_scopes', 'generators', 'divisi... absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0... all_feature_names = ['nested_scopes', 'generators', 'division', 'absol... division = _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192... generators = _Feature((2, 2, 0, 'alpha', 1), (2, 3, 0, 'final', 0), 0) nested_scopes = _Feature((2, 1, 0, 'beta', 1), (2, 2, 0, 'alpha', 0), ... print_function = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0)... unicode_literals = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', ... with_statement = _Feature((2, 5, 0, 'alpha', 1), (2, 6, 0, 'alpha', 0)...
Not that recent, the switch has been there since 2.2 alpha 2, released 8 years ago (August 22, 2001):