From cb5d0bba16b6fa43cfdd05e25127e13e85e09d0d Mon Sep 17 00:00:00 2001 From: uday chauhan Date: Wed, 22 Jul 2026 21:10:53 +0530 Subject: [PATCH 1/2] chore(release): prepare Airo TV v0.0.5 --- .github/workflows/airo-macos-release.yml | 16 ++--- .../workflows/airo-mobile-tablet-release.yml | 12 ++-- .github/workflows/airo-tv-release.yml | 62 +++++++++---------- .github/workflows/release-orchestrator.yml | 23 +++---- CHANGELOG.md | 43 ++++++++++++- app/pubspec.yaml | 2 +- app/pubspec_tv.yaml | 2 +- docs/airo-tv/guides/index.html | 4 +- docs/release/AIRO_TV_CONTENT_RATING.md | 2 +- docs/release/AIRO_TV_DATA_SAFETY.md | 2 +- docs/release/AIRO_TV_FEATURE_MATRIX.md | 5 +- docs/release/AIRO_TV_MEDIA_ASSETS.md | 7 ++- docs/release/AIRO_TV_RELEASE_TEMPLATE.md | 3 +- docs/release/AIRO_TV_STORE_LISTING.md | 12 ++-- docs/release/AIRO_TV_v0.0.5.md | 52 ++++++++++++++++ docs/release/MACOS_AIRO_TV_RELEASE.md | 8 +-- docs/release/README.md | 20 +++--- docs/release/V2_DISTRIBUTION_MATRIX.md | 14 ++--- docs/release/V2_RELEASE_QUALIFICATION.md | 10 +-- docs/release/VERSION_LINES.md | 36 ++++++----- docs/tv/index.html | 28 ++++----- 21 files changed, 233 insertions(+), 130 deletions(-) create mode 100644 docs/release/AIRO_TV_v0.0.5.md diff --git a/.github/workflows/airo-macos-release.yml b/.github/workflows/airo-macos-release.yml index 93058c68..429ce082 100644 --- a/.github/workflows/airo-macos-release.yml +++ b/.github/workflows/airo-macos-release.yml @@ -50,15 +50,15 @@ on: version: description: 'Artifact and release version label' required: true - default: airo-tv-v0.0.2 + default: airo-tv-v0.0.5 build_name: - description: 'Flutter build name, for example 0.0.2' + description: 'Flutter build name, for example 0.0.5' required: true - default: 0.0.2 + default: 0.0.5 build_number: description: 'Flutter build number' required: true - default: '2' + default: '5' release_ref: description: 'Git ref to release; must contain latest origin/main' required: true @@ -66,7 +66,7 @@ on: release_branch: description: 'Release branch to create/update from release_ref before building' required: true - default: release/airo-tv-v0.0.2 + default: release/airo-tv-v0.0.5 require_notarization: description: 'Fail unless Developer ID signing and notarization succeed' required: true @@ -82,9 +82,9 @@ permissions: env: FLUTTER_VERSION: '3.44.4' - RELEASE_VERSION: ${{ inputs.version || github.event.inputs.version || github.ref_name || 'airo-tv-v0.0.2' }} - BUILD_NAME: ${{ inputs.build_name || github.event.inputs.build_name || '0.0.2' }} - BUILD_NUMBER: ${{ inputs.build_number || github.event.inputs.build_number || '2' }} + RELEASE_VERSION: ${{ inputs.version || github.event.inputs.version || github.ref_name || 'airo-tv-v0.0.5' }} + BUILD_NAME: ${{ inputs.build_name || github.event.inputs.build_name || '0.0.5' }} + BUILD_NUMBER: ${{ inputs.build_number || github.event.inputs.build_number || '5' }} PROFILE: ${{ inputs.profile || github.event.inputs.profile || 'tv' }} jobs: diff --git a/.github/workflows/airo-mobile-tablet-release.yml b/.github/workflows/airo-mobile-tablet-release.yml index aa6e97e0..f6c18b48 100644 --- a/.github/workflows/airo-mobile-tablet-release.yml +++ b/.github/workflows/airo-mobile-tablet-release.yml @@ -65,15 +65,15 @@ on: version: description: 'Artifact and release version label' required: true - default: v2.0.0 + default: v0.0.5 build_name: - description: 'Android versionName, for example 2.0.0' + description: 'Android versionName, for example 0.0.5' required: true - default: 2.0.0 + default: 0.0.5 build_number: description: 'Android versionCode, must increase for every Play upload' required: true - default: '200' + default: '7' release_ref: description: 'Git ref to release; must contain latest origin/main' required: true @@ -121,8 +121,8 @@ permissions: env: FLUTTER_VERSION: '3.44.4' RELEASE_VERSION: ${{ inputs.version || github.event.inputs.version || github.ref_name }} - BUILD_NAME: ${{ inputs.build_name || github.event.inputs.build_name || '2.0.0' }} - BUILD_NUMBER: ${{ inputs.build_number || github.event.inputs.build_number || '200' }} + BUILD_NAME: ${{ inputs.build_name || github.event.inputs.build_name || '0.0.5' }} + BUILD_NUMBER: ${{ inputs.build_number || github.event.inputs.build_number || '7' }} PROFILE: ${{ inputs.profile || github.event.inputs.profile || 'full' }} jobs: diff --git a/.github/workflows/airo-tv-release.yml b/.github/workflows/airo-tv-release.yml index a605bfef..757ef1b8 100644 --- a/.github/workflows/airo-tv-release.yml +++ b/.github/workflows/airo-tv-release.yml @@ -18,7 +18,7 @@ on: required: true type: string build_name: - description: 'Android versionName, for example 0.0.2' + description: 'Android versionName, for example 0.0.5' required: true type: string build_number: @@ -26,7 +26,7 @@ on: required: true type: string release_ref: - description: 'Git ref to cut the release from; use v2 for Airo TV release line' + description: 'Git ref to cut the release from; use main for the active Airo TV release line' required: true type: string release_branch: @@ -58,14 +58,14 @@ on: required: false type: string pull_request: - branches: [ v2 ] + branches: [ main ] paths: - 'app/**' - 'packages/**' - 'scripts/**' - '.github/workflows/airo-tv-release.yml' push: - branches: [ v2 ] + branches: [ main ] paths: - 'app/**' - 'packages/**' @@ -76,23 +76,23 @@ on: version: description: 'Airo TV artifact and release version label' required: true - default: 'airo-tv-v0.0.2' + default: 'airo-tv-v0.0.5' build_name: - description: 'Android versionName, for example 0.0.2' + description: 'Android versionName, for example 0.0.5' required: true - default: '0.0.2' + default: '0.0.5' build_number: description: 'Android versionCode, must increase for every Play upload' required: true - default: '2' + default: '5' release_ref: - description: 'Git ref to cut the release from; use v2 for Airo TV release line' + description: 'Git ref to cut the release from; use main for the active Airo TV release line' required: true - default: 'v2' + default: 'main' release_branch: description: 'Release branch to create/update from release_ref before building' required: true - default: 'release/airo-tv-v0.0.2' + default: 'release/airo-tv-v0.0.5' publish_github_release: description: 'Create/update the GitHub release and attach artifacts' required: true @@ -141,12 +141,12 @@ permissions: env: FLUTTER_VERSION: '3.44.4' RELEASE_VERSION: ${{ inputs.version || github.event.inputs.version || github.ref_name }} - BUILD_NAME: ${{ inputs.build_name || github.event.inputs.build_name || '0.0.2' }} - BUILD_NUMBER: ${{ inputs.build_number || github.event.inputs.build_number || '2' }} + BUILD_NAME: ${{ inputs.build_name || github.event.inputs.build_name || '0.0.5' }} + BUILD_NUMBER: ${{ inputs.build_number || github.event.inputs.build_number || '5' }} jobs: prepare-release-branch: - name: Cut release branch from v2 + name: Cut release branch from main runs-on: ubuntu-latest outputs: release_ref: ${{ steps.release_ref.outputs.ref || steps.current_ref.outputs.ref }} @@ -165,8 +165,8 @@ jobs: id: release_ref if: github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call' env: - RELEASE_BRANCH: ${{ inputs.release_branch || github.event.inputs.release_branch || 'release/airo-tv-v0.0.2' }} - RELEASE_REF: ${{ inputs.release_ref || github.event.inputs.release_ref || 'v2' }} + RELEASE_BRANCH: ${{ inputs.release_branch || github.event.inputs.release_branch || 'release/airo-tv-v0.0.5' }} + RELEASE_REF: ${{ inputs.release_ref || github.event.inputs.release_ref || 'main' }} run: | git fetch origin main if [ "$RELEASE_REF" != "main" ]; then @@ -783,7 +783,7 @@ jobs: env: GH_TOKEN: ${{ github.token }} RELEASE_VERSION: ${{ env.RELEASE_VERSION }} - RELEASE_BRANCH: ${{ needs.prepare-release-branch.outputs.release_ref || inputs.release_branch || github.event.inputs.release_branch || 'release/airo-tv-v0.0.2' }} + RELEASE_BRANCH: ${{ needs.prepare-release-branch.outputs.release_ref || inputs.release_branch || github.event.inputs.release_branch || 'release/airo-tv-v0.0.5' }} SIGNING_CERT: ${{ needs.build-tv.outputs.signing_cert }} run: | case "$SIGNING_CERT" in @@ -798,27 +798,26 @@ jobs: cat > "$notes" <=3.12.2 <4.0.0" diff --git a/app/pubspec_tv.yaml b/app/pubspec_tv.yaml index 48f20892..2910610e 100644 --- a/app/pubspec_tv.yaml +++ b/app/pubspec_tv.yaml @@ -11,7 +11,7 @@ name: airo_app description: "Airo TV - IPTV streaming for Android TV" publish_to: 'none' -version: 0.0.4+4 +version: 0.0.5+5 environment: sdk: ">=3.12.2 <4.0.0" diff --git a/docs/airo-tv/guides/index.html b/docs/airo-tv/guides/index.html index 70120d05..f93e3864 100644 --- a/docs/airo-tv/guides/index.html +++ b/docs/airo-tv/guides/index.html @@ -308,13 +308,13 @@

If the receiver is missing

Preview

macOS validation build

- Unsigned and unnotarized artifacts in v0.0.4. + Unsigned and unnotarized artifacts in v0.0.5.

Understand the limitation first

- The v0.0.4 release includes ZIP and DMG artifacts for direct + The v0.0.5 release includes ZIP and DMG artifacts for direct validation. They are not a notarized public macOS distribution and may trigger normal macOS security warnings for unsigned software.

diff --git a/docs/release/AIRO_TV_CONTENT_RATING.md b/docs/release/AIRO_TV_CONTENT_RATING.md index f499fe6c..daebf360 100644 --- a/docs/release/AIRO_TV_CONTENT_RATING.md +++ b/docs/release/AIRO_TV_CONTENT_RATING.md @@ -12,7 +12,7 @@ must be saved by a maintainer with console access. | Product | Airo TV | | Android package ID | `io.airo.app.tv` | | Entrypoint | `app/lib/main_tv.dart` | -| Current release | v0.0.2 | +| Current release | v0.0.5 | | Privacy minimum age posture | Not directed to children under 16 | | Content model | Media player for user-provided playlist and stream URLs | diff --git a/docs/release/AIRO_TV_DATA_SAFETY.md b/docs/release/AIRO_TV_DATA_SAFETY.md index f61a1e2a..e99ce2b9 100644 --- a/docs/release/AIRO_TV_DATA_SAFETY.md +++ b/docs/release/AIRO_TV_DATA_SAFETY.md @@ -14,7 +14,7 @@ access. | Entrypoint | `app/lib/main_tv.dart` | | Privacy Policy URL | `https://developerscoffee.github.io/airo/legal/privacy-policy/` | | Terms URL | `https://developerscoffee.github.io/airo/legal/terms-conditions/` | -| Current release | v0.0.2 | +| Current release | v0.0.5 | This declaration is based on the current v2 TV release behavior: diff --git a/docs/release/AIRO_TV_FEATURE_MATRIX.md b/docs/release/AIRO_TV_FEATURE_MATRIX.md index 8519801e..e32f5d97 100644 --- a/docs/release/AIRO_TV_FEATURE_MATRIX.md +++ b/docs/release/AIRO_TV_FEATURE_MATRIX.md @@ -1,6 +1,6 @@ # Airo TV Feature Matrix -Current public release: [`airo-tv-v0.0.4`](https://github.com/DevelopersCoffee/airo/releases/tag/airo-tv-v0.0.4). +Current public release: [`airo-tv-v0.0.5`](https://github.com/DevelopersCoffee/airo/releases/tag/airo-tv-v0.0.5). | Feature | Status | Notes | | --- | --- | --- | @@ -14,7 +14,8 @@ Current public release: [`airo-tv-v0.0.4`](https://github.com/DevelopersCoffee/a | XMLTV guide | Supported | User-configured XMLTV sources only; no bundled guide feed. | | Smart playlists and canonical channels | Supported | Local filtering and canonical identity matching help preserve personal organization across imports. | | Provider add-flows | Supported | User-authorized Xtream, Stalker, Jellyfin, and M3U sources. | -| Picture-in-picture | Under qualification | Video-only PiP layout is test-covered; device evidence is still being gathered. | +| Channel health warmup | Supported | Visible channels are warmed with bounded async stream checks so unavailable streams can be signaled before playback. | +| Picture-in-picture | Under qualification | Video-only PiP layout is test-covered; full device evidence is still being gathered. | | Phone-hosted TV streaming | Under qualification | Debug entry point and protocol tests exist; real phone-to-receiver dogfood is not yet complete. | | Recording | Not supported | No recording or DVR storage. | | AI Search | Planned | Local search is intentionally deterministic in this release. | diff --git a/docs/release/AIRO_TV_MEDIA_ASSETS.md b/docs/release/AIRO_TV_MEDIA_ASSETS.md index 13a27f6f..91a72534 100644 --- a/docs/release/AIRO_TV_MEDIA_ASSETS.md +++ b/docs/release/AIRO_TV_MEDIA_ASSETS.md @@ -29,9 +29,10 @@ Python environment does not already provide it. - Search - Playlist Import -The current v0.0.2 release does not include EPG, favorites, recording, cloud -playlists, or AI Search. Do not add store screenshots for planned features until -[Airo TV Feature Matrix](./AIRO_TV_FEATURE_MATRIX.md) marks them supported. +The current v0.0.5 release includes guide-source setup and local favorites, but +does not include recording, cloud playlists, or AI Search. Do not add store +screenshots for planned features until [Airo TV Feature Matrix](./AIRO_TV_FEATURE_MATRIX.md) +marks them supported. ## Demo Video diff --git a/docs/release/AIRO_TV_RELEASE_TEMPLATE.md b/docs/release/AIRO_TV_RELEASE_TEMPLATE.md index aa40b00f..2615de9c 100644 --- a/docs/release/AIRO_TV_RELEASE_TEMPLATE.md +++ b/docs/release/AIRO_TV_RELEASE_TEMPLATE.md @@ -56,9 +56,8 @@ No breaking changes. ## Known Limitations -- No EPG support. - No recording. -- No favorites sync. +- No cloud favorites sync. - No cloud playlists. - No multiple playlist merge. diff --git a/docs/release/AIRO_TV_STORE_LISTING.md b/docs/release/AIRO_TV_STORE_LISTING.md index 9b7048c5..c81a9cf6 100644 --- a/docs/release/AIRO_TV_STORE_LISTING.md +++ b/docs/release/AIRO_TV_STORE_LISTING.md @@ -1,10 +1,10 @@ # Airo TV Store Listing Metadata Canonical listing metadata for the Airo TV v2 Android TV release profile. -This copy is scoped to the shipped v0.0.2 feature set in +This copy is scoped to the shipped v0.0.5 feature set in [Airo TV Feature Matrix](./AIRO_TV_FEATURE_MATRIX.md). Do not claim planned -features such as EPG, favorites, recording, cloud playlists, or bundled -channels until the feature matrix marks them supported. +features such as recording, cloud playlists, or bundled channels until the +feature matrix marks them supported. ## Release Scope @@ -42,6 +42,8 @@ clean, remote-friendly interface built for the living room. Key features: - Import your own M3U/M3U8 playlist URL - Browse and search channels by name +- Add XMLTV guide sources, favorites, and user-authorized provider sources +- See local channel status signals while browsing supported playlists - Play supported HLS and media streams on TV devices - Use Chromecast/Cast controls where supported by your device and network - Keep playlists local unless you choose to load a remote playlist URL @@ -57,8 +59,8 @@ Supported playlist formats: M3U and M3U8. Playback support depends on the stream format, codec, device capability, and -network connection. Some planned features, including EPG, favorites, recording, -and cloud playlists, are not included in this release. +network connection. Some planned features, including recording and cloud +playlists, are not included in this release. ``` Full description length: 1,122/4,000 characters. diff --git a/docs/release/AIRO_TV_v0.0.5.md b/docs/release/AIRO_TV_v0.0.5.md new file mode 100644 index 00000000..c13c4e6c --- /dev/null +++ b/docs/release/AIRO_TV_v0.0.5.md @@ -0,0 +1,52 @@ +# Airo TV v0.0.5 + +Airo TV v0.0.5 is a product-surface consolidation and playback usability +release for the Airo TV profile. It keeps Airo TV as the focused IPTV product, +removes obsolete standalone Streaming/IPTV product targets from the release +surface, and improves phone, tablet, Android TV, and macOS browse/playback +flows without bundling media content. + +## Highlights + +- Keeps the public product matrix focused on `Airo` and `Airo TV`; obsolete + Airo Streaming and Airo IPTV release targets are removed from build and + release configuration. +- Adds TV Explorer-inspired Airo TV browse controls: search, category, country, + and language filters with clearer country names and deduplicated categories. +- Adds first-run country selection and a Settings path to change country later. +- Restores important Settings affordances for theme selection and playback/PiP + preferences. +- Improves player overlays so Airo TV keeps one consistent control layer across + compact portrait, compact landscape, and fullscreen playback. +- Adds bounded channel-health warmup around the visible/current channel window + so channel switching can avoid obviously unavailable streams and feel closer + to normal TV surfing. + +## Distribution and verification + +- Android TV direct-install APK and Play Store AAB assets are built from + `app/lib/main_tv.dart` with package `io.airo.app.tv`. +- Full Airo Android artifacts remain built from `app/lib/main.dart` with package + `io.airo.app`. +- macOS Airo TV artifacts remain direct-download validation artifacts unless + signing and notarization secrets are supplied. +- The release workflows default to `airo-tv-v0.0.5`, build name `0.0.5`, build + number `5`, and release branch `release/airo-tv-v0.0.5`. + +## Known limitations + +- Airo TV does not provide playlists, channels, subscriptions, or media. Users + must provide content they are authorized to access. +- Recording/DVR storage and cloud playlist sync are not included. +- Picture-in-picture and cast behavior have automated coverage and local + dogfood evidence, but final public device qualification must be attached to + the release evidence before broad publication claims. +- Production Android signing, Firebase distribution, Play upload, and macOS + notarization still require maintainer-owned secrets and console access. +- Fire TV and legacy Android TV boxes remain compatible/experimental until + dedicated physical-device evidence is attached. + +## Full changelog + +See the [repository changelog](../../CHANGELOG.md) and compare +[`airo-tv-v0.0.4...airo-tv-v0.0.5`](https://github.com/DevelopersCoffee/airo/compare/airo-tv-v0.0.4...airo-tv-v0.0.5). diff --git a/docs/release/MACOS_AIRO_TV_RELEASE.md b/docs/release/MACOS_AIRO_TV_RELEASE.md index 2b4c5cc3..ee85c15b 100644 --- a/docs/release/MACOS_AIRO_TV_RELEASE.md +++ b/docs/release/MACOS_AIRO_TV_RELEASE.md @@ -27,11 +27,11 @@ Recommended workflow inputs: ```text profile=tv -version=airo-tv-v0.0.2 -build_name=0.0.2 -build_number=2 +version=airo-tv-v0.0.5 +build_name=0.0.5 +build_number=5 release_ref=main -release_branch=release/airo-tv-v0.0.2 +release_branch=release/airo-tv-v0.0.5 require_notarization=false ``` diff --git a/docs/release/README.md b/docs/release/README.md index 560664aa..1d3a58a9 100644 --- a/docs/release/README.md +++ b/docs/release/README.md @@ -8,6 +8,8 @@ Documentation for Airo releases and version history. | Version | Date | Highlights | |---------|------|------------| +| [Airo TV v0.0.5](./AIRO_TV_v0.0.5.md) | 2026-07-22 | Product target consolidation, TV controls, filters, channel warmup | +| [Airo TV v0.0.4](./AIRO_TV_v0.0.4.md) | 2026-07-22 | Search, favorites, guide setup, provider add-flows, diagnostics | | [Airo TV v0.0.2](./AIRO_TV_v0.0.2.md) | 2026-07-14 | Release trust update, checksums, clean assets, documentation | | [Airo TV v0.0.1](./AIRO_TV_v0.0.1.md) | 2026-07-14 | Android TV IPTV release, Play Store readiness, Cast diagnostics | | [v1.1.0](./CHANGELOG_v1.1.0.md) | 2025-11-29 | Bill Split, E2E Testing, OCR Integration | @@ -15,21 +17,21 @@ Documentation for Airo releases and version history. --- -## Latest Release: Airo TV v0.0.2 +## Latest Release: Airo TV v0.0.5 ### New Features -- **Release assets** - Clean APK/AAB filenames and SHA256 checksums -- **Release notes** - Mature open-source release format for Airo TV releases -- **Trust documentation** - Privacy, security, threat model, roadmap, feature matrix, and architecture docs -- **Play Store readiness** - Release process documents screenshots, demo video, legal notice, and known limitations +- **Focused product surface** - Airo TV is the active IPTV product target; obsolete Streaming/IPTV release targets are removed. +- **Filters and setup** - First-run country selection, country/language/category filters, and deduplicated category values. +- **Player controls** - Consistent Airo TV overlay controls across compact portrait, landscape, and fullscreen playback. +- **Channel warmup** - Bounded health checks and nearby-channel warmup improve channel switching responsiveness. ### Quick Links -- [Airo TV v0.0.2 Notes](./AIRO_TV_v0.0.2.md) +- [Airo TV v0.0.5 Notes](./AIRO_TV_v0.0.5.md) - [Airo TV Release Template](./AIRO_TV_RELEASE_TEMPLATE.md) - [Airo TV Feature Matrix](./AIRO_TV_FEATURE_MATRIX.md) - [Airo TV Media Assets](./AIRO_TV_MEDIA_ASSETS.md) - [GitHub Releases](https://github.com/DevelopersCoffee/airo/releases) -- [Download Airo TV APK](https://github.com/DevelopersCoffee/airo/releases/download/airo-tv-v0.0.2/Airo-TV-v0.0.2.apk) +- [Download Airo TV APK](https://github.com/DevelopersCoffee/airo/releases/download/airo-tv-v0.0.5/Airo-TV-0.0.5.apk) - [Verify direct APK downloads](../../VERIFY_DOWNLOAD.md) - [Trust and transparency](../../TRUST.md) @@ -39,6 +41,8 @@ Documentation for Airo releases and version history. | Document | Description | |----------|-------------| +| [Airo TV v0.0.5](./AIRO_TV_v0.0.5.md) | Product target consolidation, TV controls, filters, channel warmup | +| [Airo TV v0.0.4](./AIRO_TV_v0.0.4.md) | Search, favorites, guide setup, provider add-flows, diagnostics | | [Airo TV v0.0.2](./AIRO_TV_v0.0.2.md) | Professional release notes, checksums, limitations, installation | | [Airo TV v0.0.1](./AIRO_TV_v0.0.1.md) | Release notes, Play Store readiness, artifact checklist | | [Airo TV Release Template](./AIRO_TV_RELEASE_TEMPLATE.md) | Stable release format for future Airo TV versions | @@ -78,7 +82,7 @@ Documentation for Airo releases and version history. - **GitHub Releases**: https://github.com/DevelopersCoffee/airo/releases - **GitHub Actions**: https://github.com/DevelopersCoffee/airo/actions -- **Airo TV APK**: https://github.com/DevelopersCoffee/airo/releases/download/airo-tv-v0.0.2/Airo-TV-v0.0.2.apk +- **Airo TV APK**: https://github.com/DevelopersCoffee/airo/releases/download/airo-tv-v0.0.5/Airo-TV-0.0.5.apk --- diff --git a/docs/release/V2_DISTRIBUTION_MATRIX.md b/docs/release/V2_DISTRIBUTION_MATRIX.md index 443eebe6..ecac1bb1 100644 --- a/docs/release/V2_DISTRIBUTION_MATRIX.md +++ b/docs/release/V2_DISTRIBUTION_MATRIX.md @@ -84,13 +84,13 @@ SHA256SUMS Examples: ```text -Airo-IPTV-v2.0.0.apk -Airo-Streaming-v2.0.0.apk -Airo-TV-v2.0.0.apk -Airo-TV-v2.0.0-Play-Store.aab -Airo-TV-v2.0.0-macOS.zip -Airo-TV-v2.0.0-macOS.dmg -Airo-TV-v2.0.0-Release-Manifest.json +Airo-0.0.5-7-arm64.apk +Airo-0.0.5-7-Play-Store.aab +Airo-TV-0.0.5.apk +Airo-TV-0.0.5-Play-Store.aab +Airo-TV-0.0.5-macOS.zip +Airo-TV-0.0.5-macOS.dmg +Airo-TV-0.0.5-Release-Manifest.json ``` Do not publish debug-looking names such as `app-release.apk` or diff --git a/docs/release/V2_RELEASE_QUALIFICATION.md b/docs/release/V2_RELEASE_QUALIFICATION.md index e694d76c..949fb8d7 100644 --- a/docs/release/V2_RELEASE_QUALIFICATION.md +++ b/docs/release/V2_RELEASE_QUALIFICATION.md @@ -21,7 +21,7 @@ device evidence into a release report: ```bash scripts/generate-release-qualification-report.py \ - --manifest release-artifacts/Airo-TV-v2.0.0-Release-Manifest.json \ + --manifest release-artifacts/Airo-TV-0.0.5-Release-Manifest.json \ --evidence release-artifacts/qualification-evidence.json \ --mode public ``` @@ -36,7 +36,7 @@ Use the reusable `core_release` preflight before public publication to verify the same evidence policy from package code instead of ad hoc script logic: ```bash -AIRO_RELEASE_MANIFEST=release-artifacts/Airo-TV-v2.0.0-Release-Manifest.json \ +AIRO_RELEASE_MANIFEST=release-artifacts/Airo-TV-0.0.5-Release-Manifest.json \ AIRO_QUALIFICATION_EVIDENCE=release-artifacts/qualification-evidence.json \ QUALIFICATION_MODE=public \ dart pub global run melos run release:qualification-preflight @@ -95,7 +95,7 @@ Firebase Test Lab, and manual physical-device runs can all emit the same shape. "checks": [ { "profileId": "tv", - "filename": "Airo-TV-v2.0.0.apk", + "filename": "Airo-TV-0.0.5.apk", "deviceClass": "android-tv", "checkType": "physical-device", "deviceModel": "Chromecast with Google TV", @@ -107,11 +107,11 @@ Firebase Test Lab, and manual physical-device runs can all emit the same shape. "waivers": [ { "profileId": "tv", - "filename": "Airo-TV-v2.0.0.apk", + "filename": "Airo-TV-0.0.5.apk", "deviceClass": "fire-tv", "reason": "Fire TV remains compatible/experimental for this release.", "approvedBy": "release-manager", - "expiresAfter": "v2.0.0" + "expiresAfter": "airo-tv-v0.0.5" } ] } diff --git a/docs/release/VERSION_LINES.md b/docs/release/VERSION_LINES.md index eaf6d43c..3790d0a0 100644 --- a/docs/release/VERSION_LINES.md +++ b/docs/release/VERSION_LINES.md @@ -85,31 +85,33 @@ V2 is the new modular Airo architecture. It separates reusable foundation code from business modules so releases can target smaller APKs by user journey, device class, or store listing. -**Market position:** Next major platform line. +**Market position:** Active modular platform line. **Versioning:** -- Use semantic versions under `v2.x.y`. -- Start public modular releases at `v2.0.0`. +- Use semantic product release tags for the current product line. Airo TV tags + use `airo-tv-v0.0.x`; full Airo tags use `v0.0.x` unless a release issue + explicitly defines a product-specific prefix. +- The current Airo TV release train advances from `airo-tv-v0.0.4` to + `airo-tv-v0.0.5`. - Treat package contracts, feature registry APIs, and build target manifests as V2 compatibility surfaces. **Branching:** -- `v2` is the long-lived base branch for the V2 modular architecture. -- `feat/v2-modular-foundation` or issue-scoped `codex/v2-*` branches must start - from `v2` and carry isolated V2 implementation work before merge. -- V2 release candidates are cut from `v2`; do not create a separate release - branch unless the team later adopts point-in-time release branches. -- Tags use immutable semantic version tags such as `v2.0.0`, `v2.0.1`, and - `v2.1.0`. +- Active modular release work starts from latest `origin/main`. +- Issue-scoped `codex/*` branches must start from `origin/main` and carry + isolated implementation work before merge. +- Release candidates are cut from `origin/main` into point-in-time release + branches such as `release/airo-tv-v0.0.5`. +- Tags use immutable semantic product tags such as `airo-tv-v0.0.5` and + `v0.0.5`. **Artifact naming:** -- `airo-v2-foundation.apk` -- `airo-v2-full.apk` -- `airo-v2-tv.apk` -- `airo-v2-streaming.apk` -- `airo-v2-coins.apk` -- `airo-v2-.apk` -- `airo-v2-full.aab` +- `Airo-0.0.5-7-arm64.apk` +- `Airo-0.0.5-7-Play-Store.aab` +- `Airo-TV-0.0.5.apk` +- `Airo-TV-0.0.5-Play-Store.aab` +- `Airo-TV-0.0.5-macOS.zip` +- `Airo-TV-0.0.5-macOS.dmg` **Allowed changes:** - Feature registry and module manifest work. diff --git a/docs/tv/index.html b/docs/tv/index.html index 4887c043..4c1825ae 100644 --- a/docs/tv/index.html +++ b/docs/tv/index.html @@ -80,7 +80,7 @@ >CommunityRoadmap Download @@ -101,7 +101,7 @@