About the migration, can I ask who is going to (help to) fix projects which rely on the AST?
Whoops, I send the latest email before finishing it by mistake. Here is the extended version of the answer: I think there is a misunderstanding here: The new parser generates the same AST as the old parser so calling ast.parse() or compile() will yield exactly the same result. We have extensive testing around that and that was a goal from the beginning. Projects using the ast module will not need to do anything special. The difference is that the new parser does not generate a CST (Concrete Syntax Tree). The concrete syntax tree is an immediate structure from where the AST is generated. This structure is only partially exposed via the "parser" module but otherwise is only used in the parser itself so it should not be a problem. On the other hand: as explained in the PEP, the lack of the CST greatly simplifies the AST generation among other advantages.