<commit_before>## New and noteworthy

Here are the new features introduced in this Gradle release.

<!--
IMPORTANT: if this is a patch release, ensure that a prominent link is included in the foreword to all releases of the same minor stream.
Add-->

<!--
### Example new and noteworthy
-->

## Promoted features

Promoted features are features that were incubating in previous versions of Gradle but are now supported and subject to backwards compatibility.
See the User guide section on the “[Feature Lifecycle](userguide/feature_lifecycle.html)” for more information.

The following are the features that have been promoted in this Gradle release.

<!--
### Example promoted
-->

## Fixed issues

## Deprecations

Features that have become superseded or irrelevant due to the natural evolution of Gradle become *deprecated*, and scheduled to be removed
in the next major Gradle version (Gradle 4.0). See the User guide section on the “[Feature Lifecycle](userguide/feature_lifecycle.html)” for more information.

The following are the newly deprecated items in this Gradle release. If you have concerns about a deprecation, please raise it via the [Gradle Forums](https://discuss.gradle.org).

<!--
### Example deprecation
-->

## Potential breaking changes

### Ivy Publish plugin takes into account `transitive` attribute declared for dependencies when generating metadata

Previous versions of Gradle did no reflect `transitive="false"` for a dependency in the generated metadata if the `transitive` attribute was set to `false`. To illustrate the change
in behavior, let's assume the following dependency declaration.

    dependencies {
        compile "commons-dbcp:commons-dbcp:1.4", {
            transitive = false
        }
    }

The generated `ivy.xml` will now properly reflect that the given dependency should not resolve any of its transitive dependencies.

    <dependencies>
        <dependency org="commons-dbcp" name="commons-dbcp" rev="1.4" conf="runtime-&gt;default" transitive="false" />
    </dependencies>

Projects consuming published artifacts generated by the Ivy Publish plugin might experience a different dependency graph than observed with earlier versions of Gradle.

### Maven plugin takes into account `exclude` attributes `group` and `module` for dependencies when generating metadata

Previous versions of Gradle did not add exclusions for dependencies in the generated metadata that either use the attribute `group` _or_ `module`. The following dependency declaration
demonstrates those use cases.

    dependencies {
        compile('org.apache.camel:camel-jackson:2.15.3') {
            exclude group: 'org.apache.camel'
        }
        compile('commons-beanutils:commons-beanutils:1.8.3') {
            exclude module: 'commons-logging'
        }
    }

The generated `pom.xml` will now properly reflect the exclusions in the generated metadata. Projects consuming published artifacts generated by the Maven plugin might 
experience a different dependency graph than observed with earlier versions of Gradle.

## External contributions

We would like to thank the following community members for making contributions to this release of Gradle.

- [<NAME>](https://github.com/ebourg) - Fixed usage of deprecated constructor in signing module
- [<NAME>](https://github.com/mkornipati) - Publishing with the legacy Ivy support doesn't add excludes to generated metadata (GRADLE-3440)

We love getting contributions from the Gradle community. For information on contributing, please see [gradle.org/contribute](https://gradle.org/contribute).

## Known issues

Known issues are problems that were discovered post release that are directly related to changes made in this release.<commit_msg>Add <NAME> as contributor<commit_after>## New and noteworthy

Here are the new features introduced in this Gradle release.

<!--
IMPORTANT: if this is a patch release, ensure that a prominent link is included in the foreword to all releases of the same minor stream.
Add-->

<!--
### Example new and noteworthy
-->

## Promoted features

Promoted features are features that were incubating in previous versions of Gradle but are now supported and subject to backwards compatibility.
See the User guide section on the “[Feature Lifecycle](userguide/feature_lifecycle.html)” for more information.

The following are the features that have been promoted in this Gradle release.

<!--
### Example promoted
-->

## Fixed issues

## Deprecations

Features that have become superseded or irrelevant due to the natural evolution of Gradle become *deprecated*, and scheduled to be removed
in the next major Gradle version (Gradle 4.0). See the User guide section on the “[Feature Lifecycle](userguide/feature_lifecycle.html)” for more information.

The following are the newly deprecated items in this Gradle release. If you have concerns about a deprecation, please raise it via the [Gradle Forums](https://discuss.gradle.org).

<!--
### Example deprecation
-->

## Potential breaking changes

### Ivy Publish plugin takes into account `transitive` attribute declared for dependencies when generating metadata

Previous versions of Gradle did no reflect `transitive="false"` for a dependency in the generated metadata if the `transitive` attribute was set to `false`. To illustrate the change
in behavior, let's assume the following dependency declaration.

    dependencies {
        compile "commons-dbcp:commons-dbcp:1.4", {
            transitive = false
        }
    }

The generated `ivy.xml` will now properly reflect that the given dependency should not resolve any of its transitive dependencies.

    <dependencies>
        <dependency org="commons-dbcp" name="commons-dbcp" rev="1.4" conf="runtime-&gt;default" transitive="false" />
    </dependencies>

Projects consuming published artifacts generated by the Ivy Publish plugin might experience a different dependency graph than observed with earlier versions of Gradle.

### Maven plugin takes into account `exclude` attributes `group` and `module` for dependencies when generating metadata

Previous versions of Gradle did not add exclusions for dependencies in the generated metadata that either use the attribute `group` _or_ `module`. The following dependency declaration
demonstrates those use cases.

    dependencies {
        compile('org.apache.camel:camel-jackson:2.15.3') {
            exclude group: 'org.apache.camel'
        }
        compile('commons-beanutils:commons-beanutils:1.8.3') {
            exclude module: 'commons-logging'
        }
    }

The generated `pom.xml` will now properly reflect the exclusions in the generated metadata. Projects consuming published artifacts generated by the Maven plugin might 
experience a different dependency graph than observed with earlier versions of Gradle.

## External contributions

We would like to thank the following community members for making contributions to this release of Gradle.

- [<NAME>](https://github.com/ebourg) - Fixed usage of deprecated constructor in signing module
- [<NAME>](https://github.com/GregBowyer) - Initial support for play 2.5.x
- [<NAME>](https://github.com/mkornipati) - Publishing with the legacy Ivy support doesn't add excludes to generated metadata (GRADLE-3440)

We love getting contributions from the Gradle community. For information on contributing, please see [gradle.org/contribute](https://gradle.org/contribute).

## Known issues

Known issues are problems that were discovered post release that are directly related to changes made in this release.
{'fraction_non_alphanumeric': 0.07217587074559662, 'fraction_numerical': 0.004767580452920143, 'mean_word_length': 4.273743016759776, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 9, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2355772', 'n_tokens_mistral': 1875, 'n_tokens_neox': 1772, 'n_words': 886}