The document discusses AST transformations in Groovy, which enable compile-time metaprogramming. It describes various annotations in Groovy like @Delegate, @Singleton, @Immutable, @Category, @Mixin, @Grab, @Synchronized, @Lazy, @Newify, @Bindable, @Log, @InheritConstructors, @ToString, @EqualsAndHashCode, @TupleConstructor, and @Canonical. These annotations were available in Groovy 1.7 and 1.8. Other projects also contain annotations that transform the AST.