anchor.diff:  
   link:{groovyDslPath}/org.gradle.ide.visualstudio.VisualStudioExtension.html[VisualStudioExtension] no longer has a `solutions` property. Instead, you configure a single solution via link:{groovyDslPath}/org.gradle.ide.visualstudio.VisualStudioRootExtension.html[VisualStudioRootExtension] in the root project, like so:
   
  +====
  +[.multi-language-sample]
  +=====
  +.build.gradle
  +[source, groovy]
   ----
   model {
       visualStudio {
  
positive.code:     }
  }
  ----
  
  [[rel4.8:configure_internal_tasks]]
  === [4.8] Configure existing `wrapper` and `init` tasks
  
  You should no longer define your own `wrapper` and `init` tasks. Configure the existing tasks instead, for example by converting this:
  
  ----
  task wrapper(type: Wrapper) {
      ...
  }
  ----
  
  to this:
  
  ----
  wrapper {
      ...
  }
  ----
  
  [[rel4.8:pom_wildcard_exclusions]]
  === [4.8] Gradle now honors implicit wildcards in Maven POM exclusions
  
negative.code: 
  For example, you could previously use the following syntax and have both outputFile instances registered as declared outputs:
  
  ====
  [.multi-language-sample]
  =====
  .build.gradle
  [source,groovy]
  ----
  class MyTask extends DefaultTask {
      // note: no annotation here
  