PackageTrack
Sign in Get early access

flutter_chrome_cast

A Flutter plugin for integrating Google Cast devices. Discover, connect, and control media playback on Chromecast and Cast-enabled devices.

1.4.8 6.8K downloads/mo #3453 most downloaded on pub.dev felnanuke2/flutter_google_cast

What this package is like to depend on

Last release 6 days ago

17 Aug 2026

Release timing varies

gaps range from 8 days to 4 months

Nearly every release is documented

notes for 32 of 33 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

33 releases · first in 2023

16 releases in the last 12 months

see the full history below

Release timeline

33 releases · Apr 2023 to Aug 2026
2024 2025 2026
Release Pre-release

Releases

latest 33
  1. 1.4.8 17 Aug 2026
    Release notes

    What's Changed

    • iOS content id fix by @AlexSeednov in #74
    • fix(android): forward HLS segment format + stream duration to MediaInfo by @wickloww in #78
    • fix(ios): use canonical Cast metadata keys for title and subtitle by @a1rwulf in #83
    • support for arm64 architecture on iOS by @Heatclift in #80
    • iOS position fix by @AlexSeednov in #75
    • fix(ios): map all standard metadata keys to canonical Cast keys by @felnanuke2 in #84

    New Contributors

    Full Changelog: v1.4.6...v1.4.8

    Open source →
    Release notes

    🐛 Bug Fixes

    • iOS stale playback position after loadMedia: Fixed playerPosition briefly showing the previous content's offset right after switching media. Position ticks are now suppressed until the SDK reports a new mediaSessionID and approximateStreamPosition() converges to the requested start time (±5 s tolerance), with a 10 s safety timeout.
    • iOS media metadata not shown on receiver (#83): GCKMediaMetadata entries were written under the raw Dart key names (e.g. title) instead of the canonical Cast keys (e.g. com.google.cast.metadata.TITLE), so the receiver displayed no title/subtitle. Metadata is now stored under the canonical keys; unrecognized keys keep their own name so custom metadata is unaffected.
    • iOS standard metadata keys mapped to canonical Cast keys (#84): Extended the canonical key mapping to all standard fields — artist, albumArtist, albumName, composer, studio, seriesTitle, season, episode, trackNumber, discNumber, location, latitude, longitude, width and height — and accept creationDateTime so photo metadata creation dates are no longer dropped.
    • Android HLS streams stuck in LOADING (#78): Android ignored hlsSegmentFormat/hlsVideoSegmentFormat (already handled on iOS), leaving fragmented-MP4 HLS streams stuck loading on the Default Media Receiver. Both fields are now forwarded to MediaInfo, and stream duration is converted from seconds to milliseconds.
    • iOS empty contentID in media status: The contentID passed from Flutter is now applied to GCKMediaInformationBuilder on load, and cached so it can be substituted into media status updates when the Default Media Receiver does not echo it back. Falls back to contentURL when no contentID is available at all, matching Android behaviour.

    🔧 Notes

    • No public API changes.
    Open source →
  2. 1.4.6 23 Apr 2026
    Release notes

    What's Changed

    Full Changelog: v1.4.5...v1.4.6

    Open source →
    Release notes

    New Features

    • Added resetSession() to force a clean iOS Cast session reset after interrupted or stuck connections.

    Bug Fixes

    • Fixed an iOS crash when the discovered device list changed during connection.

    Notes

    • No other public API changes.
    Open source →
  3. 1.4.5 07 Apr 2026
    Release notes

    What's Changed

    Full Changelog: v1.4.4...v1.4.5

    Open source →
    Release notes

    🐛 Bug Fixes

    • iOS playback rate: Fixed setPlaybackRate having no effect on iOS — the method channel handler was missing, so calls from Dart were silently ignored.
    • iOS session state transitions: Fixed disconnecting state being skipped on the Dart side when a Cast session ends.
    • iOS session event deduplication: Fixed duplicate session state events firing in rapid succession.
    • iOS data-only callbacks: Fixed spurious session state events triggered by device info, volume, and status updates.
    • Method channel results: Fixed endSession, endSessionAndStopCasting, and setStreamVolume not completing their Flutter result callbacks on iOS and Android.
    • iOS media status fields: Fixed missing volume and isMuted fields in GCKMediaStatus serialization.

    🔧 Notes

    • No public API changes
    Open source →
  4. 1.4.4 29 Mar 2026
    Release notes

    What's Changed

    • Add customData support for Google Cast media loading by @Copilot in #67

    Full Changelog: v1.4.3...v1.4.4

    Open source →
    Release notes

    ✨ New Features

    • Added support for passing customData in loadMedia requests on Android and iOS native load request builders.
    • Added support for forwarding customData in Android queueLoadItems options payload.

    📚 Documentation

    • Added README guidance for custom HTTP header scenarios where Google Cast SDK does not provide standard direct header control.
    • Documented the recommended Custom Web Receiver approach using customData (sender -> receiver) for app-specific header/auth handling.
    • Added official Google Cast documentation links for creating and registering a Custom Receiver.

    🔧 Notes

    • For custom header requirements, implement the logic on your Custom Receiver side by consuming customData and applying it in your receiver network pipeline.
    Open source →
  5. 1.4.3 26 Mar 2026
    Release notes

    What's Changed

    • fix(ios): forward all GoogleCastOptions fields to native + fallback language for subtitle tracks by @Copilot in #64

    New Contributors

    • @Copilot made their first contribution in #64

    Full Changelog: v1.4.2...v1.4.3

    Open source →
    Release notes

    🐛 Bug Fixes

    • iOS options forwarding: Fixed IOSGoogleCastOptions so all base GoogleCastOptions fields can be configured and are forwarded through super parameters.
      • Previously, only stopCastingOnAppTerminated was exposed in the iOS constructor.
      • Options such as suspendSessionsWhenBackgrounded, physicalVolumeButtonsWillControlDeviceVolume, and disableDiscoveryAutostart are now settable and correctly propagated.
    • Native iOS Cast options mapping: Fixed CastOptionsExtensions.fromMap() to apply all parsed options to GCKCastOptions instead of silently dropping most fields.
      • Added guards to map suspendSessionsWhenBackgrounded, disableDiscoveryAutostart, disableAnalyticsLogging, stopReceiverApplicationWhenEndingSession, and startDiscoveryAfterFirstTapOnCastButton.
    • Subtitle/caption language fallback: Fixed text track creation on iOS when subtitle language is missing.
      • GCKMediaTrack requires a non-nil languageCode for text tracks.
      • For .text tracks only, nil/empty language now falls back to "und" (ISO 639-2 undetermined) to ensure subtitle tracks render on the receiver.

    🧪 Tests

    • Added test/models/ios_cast_options_test.dart with unit coverage for IOSGoogleCastOptions.toMap():
      • default values,
      • individually configurable fields,
      • type hierarchy behavior,
      • namespace-based discovery criteria serialization.
    Open source →
  6. 1.4.2 23 Mar 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v1.4.1...v1.4.2

    Open source →
    Release notes

    🐛 Bug Fixes

    • iOS Cast Discovery Stability: Fixed unreliable Cast device discovery on iOS
      • Added proper handling for discovery method channel calls on iOS
      • Improved discovery lifecycle handling between background and foreground states

    🔧 Notes

    • No public API changes
    Open source →
  7. 1.4.1 10 Feb 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v1.3.1...v1.4.1

    Open source →
    Release notes

    ✨ New Features

    • Stop Casting on App Kill: Added stopCastingOnAppTerminated option to automatically stop casting and end the session when the app is killed/terminated
      • Available on both iOS and Android platforms
      • Configurable via IOSGoogleCastOptions and GoogleCastOptionsAndroid
      • When enabled, the Chromecast device stops playing when the user closes the app
      • Default is false (casting continues after app is closed, maintaining previous behavior)

    🔧 Platform Improvements

    • iOS: Added lifecycle observer to detect app termination and end cast session with endSessionAndStopCasting(true)
    • Android: Implemented ActivityLifecycleCallbacks to monitor activity destruction and properly end cast sessions

    📚 Documentation

    • Updated README with configuration options table
    • Added code examples for both iOS and Android showing how to enable stopCastingOnAppTerminated
    Open source →
  8. 1.3.1 03 Feb 2026
    Release notes

    What's Changed

    Full Changelog: v1.3.0...v1.3.1

    Open source →
    Release notes

    🐛 Bug Fixes

    • SPM Build Fixes: Fixed Swift compiler errors when building with Swift Package Manager
      • Added missing import Flutter statements to all method channel Swift files
      • Added @objc(GoogleCastPlugin) attribute to expose Swift plugin class with correct name for Flutter's plugin registrant
      • Fixes "Cannot find type 'FlutterPlugin' in scope" and related compiler errors
      • Fixes "Unknown receiver 'GoogleCastPlugin'" error in GeneratedPluginRegistrant.m

    🔧 Notes

    • SPM support now fully functional for iOS builds
    • No breaking API changes
    Open source →
  9. 1.3.0 03 Feb 2026
    Release notes

    What's Changed

    • Add Swift Package Manager support and update iOS deployment target to… by @felnanuke2 in #55

    Full Changelog: v1.2.9...v1.3.0

    Open source →
    Release notes

    ✨ New Features

    • Swift Package Manager (SPM) Support: Added full SPM support for iOS
      • Added Package.swift manifest with SRGSSR/google-cast-sdk dependency
      • Plugin now supports both CocoaPods and SPM for iOS dependency management
      • Resolves pub.dev scoring requirement for SPM support

    🔧 Platform Changes

    • iOS Deployment Target: Updated minimum iOS version from 14.0 to 15.0 (required by GoogleCast SPM package)

    📚 Documentation

    • Updated README with SPM usage instructions
    • Added SPM documentation to podspec
    Open source →
  10. 1.2.9 06 Jan 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v1.2.8...v1.2.9

    Open source →
    Release notes

    🐛 Fixes

    • Use GCKMediaInformationBuilder(contentURL:) instead of deprecated contentID to align with current Google Cast SDK and fix media load failures (including HLS) on iOS.
    Open source →
  11. 1.2.8 24 Dec 2025
    Release notes

    🐛 Fixes

    • Hardened iOS media parsing to avoid crashes from missing/invalid metadata; fromMap now bails out safely and treats infinite/NaN durations as zero.
    • Improved HLS playback support by mapping segment formats, honoring startAbsoluteTime, and correctly propagating playPosition, startTime, and preloadTime values.
    • Queue load options now respect fractional play positions, keeping live and buffered streams in sync.

    🧭 UX

    • Tweaked expanded player and mini controller behavior for live streams (slider, play/pause), improving control feedback during HLS playback.

    Full Changelog: https://github.com/felnanuke2/flutter_google_cast/compare/v1.2.7...v1.2.8

    Open source →
  12. 1.2.7 15 Dec 2025

    Nothing published for this version

  13. 1.2.6 20 Nov 2025
    Release notes

    🐛 Bug Fixes

    • iOS Simulator Module Resolution: Fixed "Module 'flutter_chrome_cast' not found" parse error that occurred during iOS simulator builds
      • Issue affected only simulator builds; device builds and IPA generation worked correctly
      • Added DEFINES_MODULE=YES to podspec for proper Swift module header generation
      • Added ENABLE_TESTING_SEARCH_PATHS=YES to improve module resolution during simulator compilation
      • Updated Google Cast SDK to ~> 4.8
      • Maintains full compatibility with static framework linking for transitive Google Cast SDK dependencies

    🔧 Notes

    • No public API changes. This release focuses on build system compatibility for iOS simulator builds
    • Resolves issue #XX where users encountered "Module not found" errors on some machines while others were unaffected
    Open source →
  14. 1.2.5 12 Oct 2025
    Release notes

    ✨ New Features

    • Missing Audio Control: Added missing stop method for audio control in remote casting client
      • Implements the stop functionality that was previously missing from the Android remote media client
      • Fix contributed via PR #40 by @abdulmajedkhan

    🔧 Platform Improvements

    • Apple Silicon Support: Added full support for Apple Silicon (M1/M2/M3) Mac simulators
      • Updated Google Cast SDK dependency from google-cast-sdk-no-bluetooth to standard google-cast-sdk ~> 4.7
      • Removed arm64 simulator architecture exclusions that prevented builds on Apple Silicon
      • Fixes contributed via PR #39 by @SVyatoslavG and @nsikaktradearies
    • iOS Deployment Target: Bumped minimum iOS deployment target to 13.0 to align with modern platform requirements
    • Enhanced Logging: Improved debug logging capabilities with conditional debug print statements

    🚀 Performance & Developer Experience

    • Faster Plugin Initialization: Returns Flutter plugin result earlier during initialization for faster feedback
    • Conditional Logging: Gated console logging behind debug flags to reduce noise in production builds
    • Better Discovery: Enhanced device discovery initialization and lifecycle management

    🔧 Technical Updates

    • CocoaPods Integration: Updated CocoaPods and Xcode project metadata to reflect dependency changes
    • Build System: Improved build phases and linker configuration for better compatibility

    🔧 Notes

    • No breaking API changes. This release focuses on platform compatibility and missing functionality
    • Existing projects may need to update their iOS deployment target to 13.0 for optimal compatibility
    Open source →
  15. 1.2.4 20 Sep 2025
    Release notes

    🐛 Bug Fixes

    • Android remote media client: Fixes in android_remote_media_client_method_channel.dart to address method channel behavior when loading single media items.
    • Example fixes: Minor example app updates to example/lib/main.dart and example/android/app/build.gradle to keep the sample project in sync with the plugin changes.
    • Pubspec tidy: Updated pubspec.yaml to reflect dependency/metadata housekeeping.

    🔧 Notes

    • No public API breaking changes. This release contains internal fixes and example updates.
    Open source →
  16. 1.2.3 08 Sep 2025
    Release notes

    🐛 Bug Fixes

    • iOS Teardown Safety: Safely teardown Google Cast listeners on iOS to avoid a crash when the app terminates.
      • Fix merged via pull request #32: https://github.com/felnanuke2/flutter_google_cast/pull/32

    🔧 Notes

    • No public API changes. This is a small internal lifecycle fix for iOS listener teardown.
    Open source →
  17. 1.2.2 07 Jul 2025
    Release notes

    🐛 Bug Fixes

    🐛 Bug Fixes

    • Cross-Platform Repeat Mode Fix: Fixed repeat mode handling across Android and iOS platforms
      • Android: Updated repeat mode parsing to use string-based values instead of integer mapping
      • iOS: Fixed GCKMediaQueueLoadOptions repeat mode enum parsing to handle string values
      • Dart: Enhanced GoogleCastMediaRepeatMode enum with proper string value mapping
      • Consistency: Ensured consistent repeat mode behavior across all platforms

    🔧 Code Improvements

    • Removed Platform-Specific Code: Eliminated Android-specific repeat mode extensions for cleaner architecture
    • Type Safety: Improved type safety in repeat mode handling with proper string-to-enum conversion
    • Code Formatting: Applied consistent code formatting and styling improvements
    Open source →
  18. 1.2.1 20 Jun 2025
    Release notes

    📚 Documentation Enhancements

    • Expanded API Documentation: Added comprehensive documentation for public members across all Dart classes
    • Improved Public API Coverage: Enhanced doc comments for better IDE support and developer experience
    • Coverage Badge: Added test coverage badge to track and display code coverage metrics

    🧪 Testing Infrastructure

    • Test Suite Initialization: Started implementing comprehensive test coverage for the application
    • Testing Foundation: Established testing framework and initial test cases for core functionality
    • Quality Assurance: Improved code reliability through systematic testing approach

    🔧 Code Quality

    • Documentation Standards: Ensured all public class members have proper documentation
    • Code Coverage Tracking: Implemented coverage monitoring for better code quality insights
    • Developer Experience: Enhanced IDE support with better API documentation
    Open source →
  19. 1.2.0 18 Jun 2025
    Release notes

    📚 Documentation & API Improvements

    • Extensive API Documentation: Added or improved doc comments for nearly all public classes, methods, enums, and fields across the codebase.
    • Public API Coverage: Significantly increased public API documentation coverage for better IDE support and pub.dev health.
    • README & Example Updates: Improved usage examples, customization guides, and documentation for easier integration.
    • Linter Rule: Enabled public_member_api_docs lint to enforce documentation for all public members.
    • No Breaking Changes: This is a safe update with no breaking API changes.

    🛠️ Internal & Quality

    • Improved code comments and structure for maintainability.
    • All previous features and fixes from 1.1.1 included.
    Open source →
  20. 1.1.1 17 Jun 2025
    Release notes

    🏆 Quality Improvements

    • Perfect Pana Score: Achieved 160/160 points in package analysis
      • File Conventions (30/30): Valid pubspec.yaml, README.md, CHANGELOG.md, and OSI-approved BSD-3-Clause license
      • Documentation (20/20): 31.5% of public API documented (above 20% requirement) with comprehensive example
      • Platform Support (20/20): Full iOS and Android support
      • Static Analysis (50/50): Zero errors, warnings, lints, or formatting issues
      • Dependencies (40/40): All dependencies up-to-date and compatible with constraint lower bounds

    🔧 Technical Improvements

    • Code Formatting: Applied dart format to ensure consistent code style across all files
    • Static Analysis: Resolved all linting and formatting issues for perfect static analysis score
    • Dependency Compatibility: Verified compatibility with latest stable Dart and Flutter SDKs
    • Package Health: Optimized for pub.dev publication with excellent package health metrics

    📊 Package Metrics

    • API Documentation Coverage: 234 out of 744 API elements documented (31.5%)
    • Platform Coverage: iOS ✅ Android ✅
    • License: BSD-3-Clause (OSI-approved)
    • Dependencies: All current and compatible
    • Static Analysis: Perfect score with zero issues
    Open source →
  21. 1.0.3 17 Jun 2025
    Release notes

    Breaking Changes

    • Enum Naming Convention Update: All enums have been updated from UPPER_SNAKE_CASE to lowerCamelCase for better Dart conventions
      • GoogleCastConnectState.ConnectionStateConnectedGoogleCastConnectState.connected
      • CastMediaStreamType.BUFFEREDCastMediaStreamType.buffered
      • TrackType.TEXTTrackType.text
      • TextTrackType.SUBTITLESTextTrackType.subtitles
      • RFC5646_LANGUAGERfc5646Language
      • And many more enum updates across the codebase

    Android Build System Modernization

    • Gradle Update: Updated from 7.x to 8.4 for better compatibility
    • Android Gradle Plugin: Updated from 7.x to 8.3.0
    • Kotlin: Updated from 1.6.10 to 1.9.10
    • Java Compatibility: Updated to Java 11
    • Android SDK: Updated compile SDK to 35, target SDK to 34
    • Dependencies: Updated Google Cast Framework (21.0.1 → 21.5.0), AndroidX libraries, and other Android dependencies

    Enhanced UI/UX

    • Completely Redesigned Mini Controller:
      • Modern Material Design with floating card style
      • Marquee text scrolling for long titles and subtitles
      • Better visual hierarchy and improved touch targets
      • Theme-aware styling with customizable colors and typography
    • Enhanced Expanded Player:
      • Drag-to-dismiss gesture support with smooth animations
      • Better media image handling with fallbacks
      • Improved controls layout with backdrop blur effects
      • Caption/subtitle track selection
      • Seek forward/backward 30 seconds functionality
      • Volume control integration
    • Theme Support: Added comprehensive theming with ExpandedGoogleCastPlayerTheme
    • Internationalization: Added ExpandedGoogleCastPlayerTexts for customizable text content

    Bug Fixes

    • Device Discovery: Fixed duplicate device detection in Android discovery manager
    • Error Handling: Improved error handling and removed debug print statements
    • Import Issues: Fixed missing imports and dependency issues
    • Memory Leaks: Better disposal of animation controllers and stream subscriptions
    • UI Stability: Fixed various layout and rendering issues

    New Features

    • Marquee Text Support: Added marquee package dependency for scrolling text
    • Customizable Texts: Complete internationalization support with example
    • Advanced Theming: Comprehensive theme customization options
    • Better Examples: Added customizable_texts_example.dart and documentation
    • Enhanced Documentation: Added CUSTOMIZABLE_TEXTS.md with usage examples

    Developer Experience

    • Improved Code Quality: Better type safety, null safety compliance
    • Documentation: Enhanced inline documentation and examples
    • File Organization: Better separation of concerns and cleaner imports

    Migration Guide

    If you're upgrading from previous versions, you'll need to update enum usage:

    // Before
    GoogleCastConnectState.ConnectionStateConnected
    CastMediaStreamType.BUFFERED
    TrackType.TEXT
    
    // After  
    GoogleCastConnectState.connected
    CastMediaStreamType.buffered
    TrackType.text
    
    Open source →
  22. 1.0.2 04 Jun 2025
    Release notes
    • Improved README.md with better documentation and examples
    • Enhanced setup instructions and usage guidelines
    • Updated documentation formatting and clarity
    Open source →
  23. 1.0.1 04 Jun 2025
    Release notes
    • Update README example to use fully qualified provider class name for Android manifest integration
    • Clarify the android:value meta-data entry with complete package path to prevent ambiguity when registering the options provider
    Open source →
  24. 1.0.0 30 May 2025
    Release notes
    • Update plugin to support Flutter v3.24.3.
    • Bump version and update dependency versions in pubspec.yaml.
    • Update SDK constraints in both main and example pubspec files for compatibility with latest Flutter.
    • Add conditional namespace configuration in android/build.gradle for compatibility with the latest Gradle and Android Studio.
    Open source →
  25. 0.0.11 23 Jan 2025
    Release notes
    • fix issue on that crash app when session is disconnected
    • add to doc and example new properties required to work on android api 34+
    Open source →
  26. 0.0.10 18 Jun 2024
    Release notes
    • Now supports Flutter 3.22.0, thanks to contributions from fmsidoe.
    Open source →
  27. 0.0.9 05 Jun 2023
    Release notes

    fix /android/app/src/main/AndroidManifest.xml and add

    <meta-data
               android:name=
                   "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
               android:value="com.felnanuke.google_cast.GoogleCastOptionsProvider" />
    
    Open source →
  28. 0.0.8 26 Apr 2023
    Release notes

    fix GoogleCastPlugin.m file

    Open source →
  29. 0.0.7 26 Apr 2023
    Release notes

    update package name in podpec

    Open source →
  30. 0.0.6 25 Apr 2023
    Release notes

    generate dart doc with dartdoc

    Open source →
  31. 0.0.5 25 Apr 2023
    Release notes

    add repository to pubspec.yaml

    Open source →
  32. 0.0.4 25 Apr 2023
    Release notes

    add license to pubspec.yaml

    Open source →
  33. 0.0.3 25 Apr 2023
    Release notes

    allow change subtitle tracks and audio tracks

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive