ANTLR v3 is an improved version of ANTLR that provides more robust grammars, error recovery, attributes, tree construction and code generation capabilities compared to version 2. Some key features include single element EBNF grammar syntax, support for parameters and return values in rules, dynamic scoping of attributes, automatic and rewrite-based tree construction, tree grammars, and internationalization through string templates. The runtime is also better organized and separated into modules for parsing, trees, and debugging.