github mazer666/PhairPlay v1.0.0-alpha.7
PhairPlay v1.0.0-alpha.7

pre-release3 days ago

What's changed (since v1.0.0-alpha.6)

  • fix(release): cap the release heap at 1100 MB
  • fix(release): compile before shrinking, in two Gradle calls
  • chore(release): bump version to 1.0.0-alpha.7
  • docs(changelog): prepare the changelog for v1.0.0-alpha.7
  • feat(store): make the privacy policy reachable inside the app and guard it
  • fix(release): take the previous release from the date order and show the changelog
  • fix(release): compare the release notes with the previous release by date
  • docs(release): document the memory settings of the release build
  • docs: bring the README and the release train onto v1.0.0-alpha.6

What this release is. The release for the Google Play Store: the privacy
policy is now reachable from inside the app — which Google Play asks for —
and a new gate makes sure it stays in step with the app. The work for the
store publication found a wrong certificate fingerprint in the documentation
that would have broken the Google Cast registration.

Added

  • Privacy policy in the app — the settings carry a row Privacy policy
    (English, German, French) that opens the policy. On a television without a
    browser the address is shown in a dialog instead, so the row never does
    nothing. Google Play asks for the policy inside the app as well as in the
    store listing.
  • scripts/check-privacy-policy.sh — a new gate: the privacy policy must
    name every permission the app declares, must state that it is reachable
    from inside the app and must not be older than the manifest. It runs in CI
    and in the release pipeline.
  • scripts/test-check-privacy-policy.sh — the self-test of that gate with
    six cases, all of them negative: a gate that cannot turn red proves nothing.
    One case covers a permission that is declared over several lines — a
    single-line parser skips it and passes everything.

Fixed

  • The SHA-1 fingerprint of the signing certificate in the documentation was
    wrong
    in four places. The value now in the guides was measured from the
    release keystore and from the published .aab:
    F4:BF:7B:F0:E1:40:1D:0C:33:EE:85:C2:51:FF:24:12:1B:D5:7C:E4. A Google Cast
    registration with the wrong fingerprint does not start.
    scripts/cast-registration-info.sh compares the guide with the keystore now
    and says so when they differ.
  • The release guide named the wrong menu path for the Android TV opt-in.
    It is Setup → Advanced settings → Form factors → Add release type →
    Android TV
    .

Documented

  • The measured state of the Play requirements: Android TV apps need target
    API 34 (the general API 36 rule does not apply to a television app), the
    bundle carries 64-bit libraries, and the native libraries are aligned to
    16 KB page sizes. The order of the steps in the Play Console is documented in
    docs/spec/PROJECT_PLAN.md.


Installation

Side-load the APK that matches your device (or upload the AAB to Google Play Console):

  • PhairPlay-1.0.0-alpha.7-GoogleTV.apk — Google TV / Android TV APK (Android 10+)
  • PhairPlay-1.0.0-alpha.7-FireTV.apk — Amazon Fire TV APK (Android 7.1+)
  • PhairPlay-1.0.0-alpha.7-GoogleTV.aab — Google Play Store Android App Bundle (Google TV)

Use adb or a sideloading app like Downloader to install.

What was not tested

This is a prerelease. No television has run this build: 0 of the 16 device test
cases
of the device test plan have been executed. Report what you
find as an issue.

The build itself

  • The four checks of the quality gate and the JVM protocol suite were green on
    the tagged commit.
  • Both APKs are signed with the release key. An update over an installed version
    only works if the key is the same — otherwise uninstall the old version first.

Don't miss a new PhairPlay release

NewReleases is sending notifications on new releases.