Releases: Triple-T/gradle-play-publisher
Gradle Play Publisher 2.6.0
This release of GPP requires at least Gradle 6.0.
Bug Fixes
- Fixed an incompatibility with Gradle 6.0
- Fixed numerous bugs related to incremental play resource generation and listing publication
- Clarified some ambitious logs and warnings
Gradle Play Publisher 2.5.0
This release mainly consists of a huge refactor towards a testable architecture. As a bonus, numerous bugs have been fixed in the process.
Other notable changes are:
- Support for installing Internal Sharing artifacts. See the docs here.
- PKCS12 based authentication is deprecated and will be removed in v3.
Gradle Play Publisher 2.4.2
Gradle Play Publisher 2.4.1
Fixed an incompatibility with the Android Gradle Plugin v3.5.x - #693
Gradle Play Publisher 2.4.0
This release transitions GPP into a new publishing model. Previously, every task would create an edit against the Play Store and then commit that edit at the end of the task. In the new model, one build == one commit per app package, meaning one edit will be used across tasks for the same app package. This makes each publishing build an atomic operation: if anything fails, everything is reset and put back into a clean state. See #629 for full details.
Note: Gradle 5.6.1 and AGP 3.5.0 are the new minimum dependency versions.
Artifact retention
GPP v2.4 supports retaining the main and patch OBB files. GPP can also retain releases if, for example, you want to retain your WearOS artifact. See the docs for more details.
In-app products bug fixes/improvements - #690
- You can now create a completely new product with GPP (previously, it had to first be created in the Play Console)
- Prices are now auto expanded into different currencies so you don't have to explicitly specify them all
- Bootstrapping more than 100 products is now supported
Other changes
- You can now publish and promote artifacts within the same build - #643
- Listing upload tasks now run in parallel - #628
- An incompatibility with bundles in AGP 3.6 was fixed - #633
- An incompatibility with Gradle 6.0 was fixed - #688
- Cascading play config merge bugs were fixed - #642
--artifact-dir
inconsistencies have been fixed: all relative paths now start from the root project directory - #691- Support for uploading multiple internal sharing APKs is now available - #691
Gradle Play Publisher 2.3.0
The theme of this release is polish, polish everywhere. 🌈
Required dependencies - #564
This release of GPP enforces modern tooling. That means you'll need Gradle 5.4 and the Android Gradle Plugin 3.5.0 at a minimum. These dependency requirements were needed in order to use the new APIs that enable GPP v2.3.0's improvements.
Notable changes
Massive performance improvements - #573
GPP now uses Gradle's Worker API in all applicable tasks. Depending on how many variants your project has and what you're uploading, you'll see fairly significant performance gains.
Revamped logging
On top of error message and task description improvements, GPP now logs the current status of every publishing task being run. This makes validating the correctness of your build much easier. Here's a sample log from running ./gradlew publish
:
Click to expand/collapse
> Task :app:publishReleaseListing
Uploading app details
Uploading en-US listing
Uploading fr-FR listing
Committing changes
> Task :app:publishReleaseBundle
Starting App Bundle upload
App Bundle upload complete
Starting mapping file upload
Mapping file upload complete
Updating [completed] release (com.supercilex.test:[380135]) in track 'internal'
Committing changes
Support for uploading Internal Sharing artifacts - #576
Google announced support for Internal Sharing artifacts which GPP now supports. Simply run ./gradlew uploadPrivateArtifact
and copy the link outputted in the console.
CLI options cleanup - #568, #567, #588
Previously, all CLI options from every task were available to all other tasks. This made things very confusing when, say, ./gradlew publishApk --default-to-app-bundles
was valid. Now, every task has a tailored set of CLI options that are directly applicable to the task in question. As usual, you can find out what a task's CLI options are by running ./gradlew help --task [task]
Furthermore, the promote task now has an --update [track]
option which is equivalent to --from-track [track] --track [track]
; the --skip-commit
CLI option has been renamed to --no-commit
, following common naming conventions; and a --release-name
option was added to change a release's name in the Play Console.
Bug fixes
Bootstrap task
- A new line is now added to the end of text files - #566
- The task name has been simplified from
bootstrap[Variant]PlayResources
tobootstrap[Variant]
- #569- The old name will be removed in v3.0
- The
play
src directory is now wiped out to guarantee a clean slate - #575 - Screenshot order from the Play Store is now properly respected - #575
- If running the
bootstrap
andpublishListing
task in the same build, the tasks will now execute in the correct order - #575
Other
- App Bundle uploading broke in AGP 3.6 alpha 2—it's now fixed - #581
- Universal APKs are now uploaded again - #595
- The promote task now always selects the highest version code available if no
from-track
is specified instead of picking something non-deterministic from the API response - #571 - Local listing validation has been removed in favor of the Publishing API's validation - #601
- Fixed tons of incremental processing bugs
Gradle Play Publisher 2.2.1
Credential validation changes
Credential validation has been a point of contention for GPP. In this release, we're striving to make it as simple and developer-friendly as possible. The new validation is as follows: any variant that is enabled (this is the default) must specify a serviceAccountCredentials
or else inherit them from the default play
configuration. Any variant that is disabled does not need to specify any credentials.
These checks will always occur at configuration time when the android variant is added. This strikes a good balance between the flexibility to disable GPP at any time without worrying about credentials, and the guarantees around clear error messages and no silent failures when you're actually trying to publish something.
See #555 for details.
Other bug fixes
- Configuration properties weren't always merged correctly - #555
BuildConfig
values weren't updated whenoutputProcessor
made modifications (this still isn't quite fixed, see #553 (comment)) - #554- App was built even with artifact dir specified - #557
- Mapping files in the artifact dir weren't being uploaded - #558
- Various bugs with language merges - #561
Gradle Play Publisher 2.2.0
This release addresses feature requests and reported bugs.
New features
- Support disabling GPP (docs) - #528
- Support uploading pre-built artifacts (docs) - #538
- Support proving Play Console artifact release names (docs) - #539
Bug fixes
- If no release notes were present when promoting a release, they weren't always retrieved from your local machine - #506
outputProcessor
didn't run if the artifacts already had valid version codes - #537- Permanently fix timeout issues by making the timeout infinite - #540
- Screenshots were incorrectly merged across languages - #541
Gradle Play Publisher 2.1.1
Gradle Play Publisher 2.1.0
Major new features
Pending commits are now supported
You can now run a build without actually committing the changes to the Play Store. This makes uploading wear APKs and other use cases possible. See the docs to get started.
A side effect of supporting this features is that each flavor can uniquely configure all of its play
properties.
Credential validation has been significantly reworked
- Validation no longer occurs at configuration time, only when a GPP task is scheduled to run
- Note: we will still fail the build if no credentials are provided for any flavor
- Tasks that aren't configured with credentials will be skipped
In essence, you no longer have to configure global credentials. Only flavors you plan to publish need to be configured before their tasks' execution. For more information on using different credentials, see the docs.
Arbitrary tracks are now supported
This means you can upload changes to custom alpha tracks in the Play Store.
Bug fixes and improvements
- Hidden files/folders are ignored in the
play
folder - #471 - Clarified the unauthenticated service account error message - #487
- Image downloads in the bootstrap task are parallelized - #492
- Network request timeout values have been further increased to 5 mins - #479
- HTTPS proxies are now supported - #481
Required dependency versions
Android Gradle Plugin: >= 3.1.0