Skip to content

Releases: Triple-T/gradle-play-publisher

Gradle Play Publisher 2.6.0

16 Nov 22:39
a347920
Compare
Choose a tag to compare

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

02 Nov 05:36
886994b
Compare
Choose a tag to compare

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

27 Sep 18:01
7e8d305
Compare
Choose a tag to compare
  • Fix another AGP 3.6 incompatibility - #696, #711
  • Fix regression causing build failure on unproguarded builds - #711
  • Fix not all hidden files being ignored - #703

Gradle Play Publisher 2.4.1

10 Sep 04:22
895c7dc
Compare
Choose a tag to compare

Fixed an incompatibility with the Android Gradle Plugin v3.5.x - #693

Gradle Play Publisher 2.4.0

08 Sep 00:51
7eff657
Compare
Choose a tag to compare

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

13 Jul 20:12
775a560
Compare
Choose a tag to compare

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 to bootstrap[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 and publishListing 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

09 May 23:31
d269e10
Compare
Choose a tag to compare

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 when outputProcessor 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

05 Apr 22:31
66d253b
Compare
Choose a tag to compare

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

28 Mar 03:06
1da0821
Compare
Choose a tag to compare
  • Fixed broken app bundle uploading - #526
  • An error is now logged if a debuggable release build is detected - #500

Gradle Play Publisher 2.1.0

17 Jan 18:00
Compare
Choose a tag to compare

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