Если вы прочитали связанную ошибку отчеты , они содержат большинство деталей. Большинство из них довольно сухие вещи, которые на самом деле не имеют значения для большинства кода, поэтому они не включают детали в «Что нового».
Примерами, где это имеет значение, обычно являются странные случаи, которые встречаются редко, но с которыми не может справиться оптимизатор глазка (который не может выполнить оценку более высокого уровня, просто перезаписывается простой байт-код), например на Python 3.6:
>>> import dis
>>> dis.dis('if True: pass') # Recognizes simple case and omits whole block
1 0 LOAD_CONST 0 (None)
2 RETURN_VALUE
>>> dis.dis('if True and 1: pass') # Can't recognize more complex case
1 0 LOAD_CONST 0 (True)
2 POP_JUMP_IF_FALSE 8
4 LOAD_CONST 1 (1)
6 POP_JUMP_IF_FALSE 8
>> 8 LOAD_CONST 2 (None)
10 RETURN_VALUE
тогда как на 3,7:
>>> import dis
>>> dis.dis('if True: pass') # Recognizes simple case and omits whole block
1 0 LOAD_CONST 0 (None)
2 RETURN_VALUE
>>> dis.dis('if True and 1: pass') # Handles more complex case too
1 0 LOAD_CONST 0 (None)
2 RETURN_VALUE