com.google.protobuf:protobuf-gradle-plugin
0.10.0
#981 most downloaded on Maven Central
google/protobuf-gradle-plugin
What this package is like to depend on
Last release 4 months ago
20 Apr 2026
Release timing varies
gaps range from 2 months to 1.7 years
Rarely documented
notes for 10 of 45 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
45 releases · first in 2015
2 releases in the last 12 months
see the full history below
Release timeline
45 releases · Apr 2015 to Apr 2026Releases
latest 45-
0.10.020 Apr 2026Release notes
Open source →What's Changed
- Require Gradle 7.6+ and Java 11+ by @omarismail94 in #800 . This was required to support Android Gradle Plugin 9
- Make Protobuf Gradle Plugin compatible with Android Gradle Plugin 9 by @omarismail94 in #797 and followup changes by @liutikas in #805
- Make generatedFilesBaseDir read-only by @ejona86 in #808 . It was deprecated in v0.9.2
New Contributors
- @omarismail94 made their first contribution in #800
- @liutikas made their first contribution in #805
Full Changelog: v0.9.6...v0.10.0
-
0.9.617 Dec 2025Release notes
Open source →What's Changed
- Inline deprecated constant value by @tresat in #779 . This removes a reference to a Gradle-internal API
- Use ArchiveOperations instead of internal FileOperations, when available by @ejona86 in #780 . This avoids a reference to a Gradle-internal API on Gradle 6.6+
- Replace usage of multi-string dependency notation in ToolsLocator which was deprecated in Gradle 9.1 by @breskeby in #786
- Improve clarity of README.md about dependency types by @hudlow in #789
New Contributors
- @tresat made their first contribution in #779
- @breskeby made their first contribution in #786
- @hudlow made their first contribution in #789
Full Changelog: v0.9.5...v0.9.6
-
0.9.531 Mar 2025Release notes
Open source →Fixed bugs
- Clean output directory before extracting protos (#735). This was then enhanced to sync instead of delete (#772)
- Revert work-around removal from #719 and properly fix unexpected inputs to configuration cache (#770)
Improvements
- Allow the path of a java executable to be configured (#750)
- Change default output folder to Gradle best practices (
generated/sources/proto; plural, not singular) (#755)
Thanks to contributors
-
0.9.414 Jul 2023Release notes
Open source →- Fix a bug that codegen plugins from system search path no longer works. (#675)
- Avoid duplicate GenerateProtoTask output dir. This causes tasks to fail if it depends on the output source and duplicationStrategy is set to
DuplicatesStrategy.FAIL. (#718) - Avoid eagerly resolving input files in ProtobufExtract. This bug would cause a lot of invalidations of configuration cache when upgrading to Gradle 8.1. (#719)
- Fix plugin compatibility with Kotlin Gradle Plugin 1.9.0 release. (#721)
-
0.9.326 Apr 2023Release notes
Open source →- Fix "KotlinCompile is not a subclass of the given type org.gradle.api.tasks.SourceTask" regression in 0.9.2 (#657)
- Fix configuration cache incompatibility with Gradle 8.1 with
GenerateProtoTask.getIsTest()in the stack trace (#692) - Avoid eager reading of
buildDir(#678).buildDirreading is now delayed until task configuration, so care is still needed if you modify buildDir. - Upgrade osdetector-gradle-plugin to 1.7.3. This adds detection for loongarch64 and avoids calling
Provider.forUseAtConfigurationTime()for Gradle >= 7.4
-
0.9.210 Jan 2023Release notes
Open source →Fixed bugs
- Avoid circular dependencies with other plugins by manually plumbing the test dependency on main instead of using the compile classpath (#631). Fixes #624, a regression introduced in 0.9.0
- Emulate and deprecate generatedFilesBaseDir (#636). generatedFilesBaseDir no longer changes the output directory directly. Instead, the default directory is always used and files are copied to generatedFilesBaseDir. This allows the task to delete previous output before generating new output. Users of generatedFilesBaseDir should stop using the configuration and instead use a separate Copy or Sync task. Fixes #33 where generated code of old builds remains, for users not using generatedFilesBaseDir
- Set default command length limit to 64k (#653). Fixes argument list too long on Mac OS (#633)
-
0.9.108 Oct 2022Release notes
Open source →Fixed bugs
- Fixed a regression from 0.8.x where the proto source set filters were not being applied, causing non-
.protofiles to be passed to protoc (#621). This fixes errors of the formNo syntax specified for the proto file:where the file listed is not a.protofile.
- Fixed a regression from 0.8.x where the proto source set filters were not being applied, causing non-
-
0.9.006 Oct 2022Release notes
Open source →Fixed bugs
- Workaround provider bug in Gradle when excluding tasks (#576). Errors were of the form
Querying the mapped value of provider(interface java.util.Set) before task ':project:processResources' has completed is not supported
Improvements
- Improved Kotlin accessor support for Android Gradle Plugin 7.x, which uses a different SourceSet class (#565, fixes #540)
- Migrated project.protobuf from a convention to an extension (#577). This greatly improves the Kotlin experience, as fewer imports are necessary. On upgrade, kts users will need to remove any now-unnecessary imports from their scripts
- Significantly improve support for task configuration avoidance. README.md has not yet been updated to encourage using
configureEachinstead ofeachwithingenerateProtoTasks {}, but it is beneficial as long as you are not using any IDE plugins - Added generated code to java SourceSet instead of only adding it to
JavaCompileand related tasks. This should cause tasks likesourcesJarandjavadocto now include the generated code. You may need to exclude the generated code from linters - Added Eclipse and VSCode support (#590). They should no longer have trouble finding generated code
- Removed references to unused Gradle-internal FileResolver (#595)
- Removed usage of deprecated GUtil (#604)
- Removed dependency on Apache commons-lang (#606)
- Removed dependency on Guava (#609)
- Upgraded osdetector-gradle-plugin to 1.7.1
- Substantial internal modernization. This should not impact most users, but there is risk of a regression or observing timing differences.
Thanks to contributors
- Workaround provider bug in Gradle when excluding tasks (#576). Errors were of the form
-
0.8.1929 Jun 2022Release notes
Open source →The coordinates of the plugin have changed (inadvertently, same as in gradle/plugin-portal-requests#124). If you are not using the plugin DSL, then you will need to change the dependency classpath from
gradle.plugin.com.google.protobuf:protobuf-gradle-plugintocom.google.protobuf:protobuf-gradle-pluginwhen upgrading. I hope that's the only issue. I would fix it with another release, but it seems this is how Gradle wants it, because plugin-publish is removing an override.Fixed bugs
- Fixed issue that would warn of #248 with Android, even when it didn't make sense (#542). The plugin itself was at fault
- Fixed path-based protoc/plugin binaries to be considered for out-of-date checking (#560)
Improvements
- Avoid eager task loading (#544). This reduces the Gradle configuration time
- Ignore protoc/plugin artifact classifier for out-of-date checks (#560). This allows the Gradle cache to share results between platforms
Thanks to contributors
-
0.8.1815 Nov 2021Release notes
Open source →Fixed bugs
- Restrict getOutputSourceDirectorySet() to directories only (#533). This fixes build failures for certain configurations when
outputPathis a zip/jar
Improvements
- Ignore empty directories for sources (#530). This is in preparation for Gradle 8 which will stop implicitly skipping the task when all directories are empty
- Clean up Kotlin integration using newer Gradle integration (#531). Does not change minimum Gradle version supported
Thanks to contributors
- Restrict getOutputSourceDirectorySet() to directories only (#533). This fixes build failures for certain configurations when
-
0.8.1714 Jul 2021Nothing published for this version
-
0.8.1622 Apr 2021Nothing published for this version
-
0.8.1510 Feb 2021Nothing published for this version
-
0.8.1418 Nov 2020Nothing published for this version
-
0.8.1318 Aug 2020Nothing published for this version
-
0.8.1205 Mar 2020Nothing published for this version
-
0.8.1118 Dec 2019Nothing published for this version
-
0.8.1010 Jul 2019Nothing published for this version
-
0.8.914 Jun 2019Nothing published for this version
-
0.8.816 Jan 2019Nothing published for this version
-
0.8.708 Nov 2018Nothing published for this version
-
0.8.626 Jun 2018Nothing published for this version
-
0.8.514 Mar 2018Nothing published for this version
-
0.8.401 Feb 2018Nothing published for this version
-
0.8.310 Aug 2017Nothing published for this version
-
0.8.228 Jul 2017Nothing published for this version
-
0.8.116 Feb 2017Nothing published for this version
-
0.8.018 Aug 2016Nothing published for this version
-
0.7.703 May 2016Nothing published for this version
-
0.7.615 Mar 2016Nothing published for this version
-
0.7.505 Mar 2016Nothing published for this version
-
0.7.426 Jan 2016Nothing published for this version
-
0.7.304 Jan 2016Nothing published for this version
-
0.7.106 Nov 2015Nothing published for this version
-
0.7.013 Aug 2015Nothing published for this version
-
0.6.130 Jul 2015Nothing published for this version
-
0.6.030 Jul 2015Nothing published for this version
-
0.5.006 Jul 2015Nothing published for this version
-
0.4.112 May 2015Nothing published for this version
-
0.4.007 May 2015Nothing published for this version
-
0.3.129 Apr 2015Nothing published for this version
-
0.3.028 Apr 2015Nothing published for this version
-
0.2.124 Apr 2015Nothing published for this version
-
0.2.024 Apr 2015Nothing published for this version
-
0.1.014 Apr 2015Nothing published for this version