Schema test macros are now test blocks, which we're going to start calling "generic tests." There is backwards compatibility for schema test macros prefixed test_, and you can still use them without switching to test blocks (though we hope you will soon!). The biggest breaking change is that all tests now return a set of failing rows, rather than a single numeric value. This resolved a longstanding inconsistency between schema tests and data tests.
For package maintainers (and some users): The syntax for adapter.dispatch() has changed; see linked documentation below.
For adapter plugin maintainers: Macro dispatch now includes "parent" adapter implementations before using the default implementation. If you maintain an adapter plugin that inherits from another adapter (e.g. dbt-redshift inherits from dbt-postgres), adapter.dispatch() will now look for prefixed macros in the following order: redshift__, postgres__, default__.
For artifact users: The manifest and run_results now use a v2 schema. What changed: there are a handful of new properties in the manifest; the number of failures for a test has been moved to a new property failures, so that message can be the human-readable failure message.
Parsing: rework of partial parsing, introduction of experimental parser
The graph Jinja context variable includes exposures
Packages can now be installed from git with a specific commit hash as the revision, or via sparse checkout if the dbt project is located in a subdirectory.