All Versions
Latest Version
Avg Release Cycle
54 days
Latest Release
1593 days ago

Changelog History

  • v10.0.5 Changes

    October 13, 2019
  • v10.0.4 Changes

    August 25, 2019
    • ๐Ÿ›  Fixed issue with background playback. See #345.
    • โž• Added option to set video origin through IFramePlayerOptions. See #390.
    • โž• Added option to set language preferences through IFramePlayerOptions. See #425.
    • ๐Ÿ›  Fixed issue #383.
  • v10.0.3 Changes

    March 30, 2019
    • ๐Ÿ›  Fixes #334
  • v10.0.2 Changes

    March 24, 2019
    • solves bug reported in issue #326.
  • v10.0.1 Changes

    February 18, 2019
  • v10.0.0 Changes

    February 11, 2019

    โฌ†๏ธ This is a major update, upgrading from an older version will break backward compatibility.
    The code base has been rewritten in Kotlin and major improvements have been implemented throughout the library.

    Most notably, now YouTubePlayerView:

    • ๐Ÿ‘Œ Supports custom attributes, to configure it directly from XML. It is now possible to play a video without writing a single line of Java/Kotlin code. For more advanced use cases everything can also be done programmatically, as before.
    • ๐Ÿšš Can manage its initialization internally! YouTubePlayerInitListener is a thing of the past, it has been removed from the code base. You can now directly add a YouTubePlayerListener to YouTubePlayerView.
    • ๐Ÿ’ป Can be easily used with the web-based UI instead of the native UI. When using the web-based UI it will be possible to click the "share" and "watch later" buttons that YouTube recently forced to be always visible.

    The documentation has been greatly improved, please use it and feel free to contribute :)

    Follows a detailed description of the changes.

    ๐Ÿ’ฅ Breaking changes:

    • ๐Ÿšš YouTubePlayerInitListener has been removed.
    • Every method of YouTubePlayerListener now takes a YouTubePlayer as first argument.
    • ๐Ÿšš Useless parameters have been removed from IFramePlayerOptions, such as autoplay, origin, showInfo and modestBranding. They are deprecated on the IFrame player or not working on mobile devices.
    • ๐Ÿšš The class androidyoutubeplayer.utils.Callable has been removed.
    • ๐Ÿšš The method setYouTubePlayerMenu has been removed from PlayerUIController.
    • ๐Ÿ“ฆ The content of the core module is now under a core package.

    ๐Ÿ†• New features:

    ๐Ÿ‘Œ Improvements:

    • The core module has been rewritten in Kotlin. This doesn't break its compatibility with Java, it just improves the code base.
    • YouTubePlayerView has a new getYouTubePlayerWhenReady method.
    • ๐Ÿ“š The utility cueOrLoadVideo has been added, read the documentation to know more.
    • PlayerUIController now has a fluent interface
    • YouTubePlayerMenu now has a fluent interface
    • The dependencies of both the core and chromecast-sender modules have been reorganized in order to import only what's needed.
    • Private resources of the library have been renamed with the "ayt_" prefix.
    • The sample apps have been reorganized and improved with new examples.
    • Both sample apps are now built on top of library-sample-app-template.

    ๐Ÿ›  Bugfixes:

  • v9.0.1 Changes

    December 10, 2018

    Bug fixes

    • ๐Ÿ›  Fixed a bug caused the onInitSuccess callback to be called outside the main thread.
  • v9.0.0 Changes

    November 12, 2018

    Breaking changes
    โšก๏ธ The library is now using Androidx instead of the old support libraries. You may have some problems with the new update if you're using the support library Lifecycle classes. The best way to solve this issue is to migrate your app to Androidx.

    [core] New features
    IFramePlayerOptions : it is now possible to set some of the IFrame Player parameters from Java/Kotlin, previously this was possible only through Javascript. This opens new customization possibilities, for example it's possible to disable the Android UI of the player and enable the Web UI instead.

    To read more about this feature refer to the doc.

    Thanks to @matthewrkula for implementing this feature.

    ๐Ÿ›  [core] Bug Fixes

    • Background playback is working again, read the doc to learn how to enable it. Thanks to @CajetanP for the bug fix.
    • Solved a bug that was hiding custom actions if they were enabled before playing a video.

    [core] Sample app

    • โž• Added Fragment sample app.
    • โž• Added IFramePlayerOptions sample app.
  • v8.0.1 Changes

    June 30, 2018

    โšก๏ธ This is the biggest update this library ever had. When I first created the library I didn't intend for it to become a long term project and I lacked the experience to set it up properly. Version 8 fixes most of the bad decisions I made and is supposed to set this project up for success in the long term.
    Along with these changes a big new feature is now available: Chromecast playback.

    โšก๏ธ If you are updating from an older version you will have to make some changes in your project, mostly renaming packages and some classes.

    โšก๏ธ At the end of this post you can find a simple "guide" for updating from version 7 to 8.

    Readme file
    ๐Ÿ“š The readme of the project has been changed heavily, from now on it will contain the documentation of the library.

    Gradle dependency
    From version 0 to 7 the Gradle dependency of this library has been served through Jitpack. It is now on jCenter instead.

    The YouTube player library is now published under the name core. The Chromecast extension library is published under the name chromecase-sender.

    dependencies {
      implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:8.0.1'
    dependencies {
      implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:8.0.1'
      implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:chromecast-sender:0.15'
      implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.50'

    ๐Ÿ†• New Features

    • Chromecast playback. A new module has been added to the project: chromecast-sender. This is an extension library that you can use to cast YouTube videos to a Google Cast enabled devices directly from your app.
      A Chromecast receiver is also provided.
      ๐Ÿ“š Read the documentation for more information.

    Try the sample app here. An example is also available in the core sample app.

    ๐Ÿ’ฅ Breaking changes

    • ๐Ÿ”„ Changed package name of the whole library. It now is com.pierfrancescosoffritti.androidyoutubeplayer. To be consistent with the actual name of the library.
    • Listeners interfaces have been moved in a listeners package.
    • PlayerUIController.setCustomFullScreenButtonListener has been renamed to PlayerUIController.setFullScreenButtonListener
    • YouTubePlayerStateTracker as been renamed to YouTubePlayerTracker.
    • YouTubePlayerTracker.getCurrentState() renamed to YouTubePlayerTracker.getState().
    • Player constants are now enums.

    Minor improvements

    • ๐Ÿ‘Œ improved Kotlin compatibility.

    ๐Ÿ› Bug fixes

    • The WebView hosting the player is now detached before is destroyed.

    Migrating from version 7 to 8

    • ๐Ÿ”„ Change the Gradle dependency from implementation 'com.github.PierfrancescoSoffritti:AndroidYouTubePlayer:6.0.0' to implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:8.0.1'. You can also remove maven { url "" } from your project-level build.gradle file.
    • โœ‚ Remove all the imports from your classes, use the IDE to re-import classes from the library from the correct package name.
    • โšก๏ธ Remember to manually update the package of the Views in your XML files. The IDE may miss them.
    • ๐Ÿ’ฅ Apply the changes in the name I have reported under Breaking changes.
    • Convert player constants to enums.
  • v7.0.1 Changes

    June 14, 2018

    ๐Ÿ”„ Changes:

    • Solved issue #145, when opening a YouTube video by clicking the YouTube button on the player, the video will start playing from where it was stopped.
    • Solved issue #144, it's not possibile to add null YouTubePlayerListeners to YouTubePlayer.
    • ๐Ÿ‘Œ Improved compatibility with Kotlin.
    • ๐Ÿ‘Œ Improved documentation.
    • ๐Ÿ‘Œ Improved sample app.