set -D no-pattern-matching to avoid completely new switch behavior that breaks pretty much any significant existing code and requires completely rewriting libraries. maybe at some point we can enable pattern matching by default, but currently it's not as simple as other haxe3 updates such as get/set, removing commas, rethinking static inlines, etc. Also (maybe just for now) add -D log to the compiler call when -debug is in place. It appears to no longer be defined by default. Maybe there is another way and that one can be removed, but it makes logging on large-scale projects stop working and for now I believe it should be in place by default until other accommodations can be made.