# Changelog

Version 9.13.0 *(2026-07-09)*
---------------------
Improvements:
- Added deeplink support.
- Improved VAST playback and ad loading reliability.
- Faster SDK initialization.
- Pause the current ad while an in-app clickthrough browser is open.

Fixes:
- Various stability and reliability fixes.
- VAST close events now reflect actual ad dismissals rather than view teardown.

Version 9.12.1 *(2026-06-04)*
---------------------
Fixes:
- Gated WebView clickthrough on a user gesture.

Version 9.12.0 *(2026-04-30)*
---------------------
Fixes:
- VAST improvements and bug fixes.

Version 9.11.1 *(2026-02-05)*
---------------------
Fixes:
- VAST tracking improvements.

Version 9.11.0 *(2025-12-18)*
---------------------
Improvements:
- SDK Bidding Token v1.2 improvements.
Fixes:
- Catch ClassNotFoundException when attempting to retrieve IFA on older Android devices.
- Fixed a crash that occurs when attempting to close an ad when the SDK is not initialized.

Version 9.10.3 *(2026-02-05)*
---------------------
Fixes:
- VAST tracking improvements.

Version 9.10.2 *(2025-11-06)*
---------------------
Fixes:
- Fixed resource naming conflict with app launcher icons

Version 9.10.1 *(2025-10-30)*
---------------------
Improvements:
- Updated the OM SDK to 1.5.7
- OM SDK integration improvements for VAST creatives, volume tracking, registering friendly obstructions and reporting
- Improved deduplication logic for trackers

Fixes:
- Fixed an OM SDK crash when VAST linear assets do not have quartile trackers

Version 9.10.0 *(2025-09-18)*
---------------------
Improvements:
- Added AspectFit and Fill capabilities for display ads
- Improved Error Logging
- Improved MRAID clickthrough handling

Version 9.9.4 *(2026-02-05)*
---------------------
Fixes:
- VAST tracking improvements.

Version 9.9.3 *(2025-08-21)*
---------------------
Fixes:
- Fixed `isCached()` check. This call will be removed in a future version. Additional condition checks have been added to `cache()` and `show()` calls making this API redundant.

Version 9.9.2 *(2025-07-31)*
---------------------
Fixes:
- Improved click gesture recognition.

Version 9.9.1 *(2025-07-17)*
---------------------
Fixes:
- `ExpirationEvent` parameter in `onAdExpired()` for ad callbacks is no longer mistakenly obfuscated.

Version 9.9.0 *(2025-06-30)*
---------------------
Improvements:
- Added MRAID 3.0 Support.
- VAST is now parsed and rendered on the client.
- Added support for multiple sequential creatives.
- Added Native SDK elements for Mute, Close, and other ad experience controls.
- Added more conditions for successful `load()` callback.
- Update the OM SDK to 1.5.4.

Version 9.8.3 *(2025-02-20)*
---------------------
Improvements:
- Update the OM SDK to 1.5.3.

Fixes:
- Delay webview closing to allow for OM to execute session finish scripts.
- Harden loading and showing ads.
- Fix an edge case where faulty creatives would lead to an ad getting stuck.

Version 9.8.2 *(2024-12-16)*
---------------------
Fixes:
- Downgrade the Java source and target compatibility version to 1.8.
- Downgrade Kotlin to 1.8.

Version 9.8.1 *(2024-11-14)*
---------------------
Fixes:
- Fixed no impressions tracked for fullscreen ads

Version 9.8.0 *(2024-10-24)*
---------------------
Improvements:
- Support GPP String
- Improve SDK logging messages for better debugging. Filter by `[ChartboostMonetization]` tag in logcat.
- Prevent SDK initialization and ad requests if the device is below the minimum supported Android version

Fixes:
- Fixed internal banner impression tracking logic

Version 9.7.0 *(2024-03-13)*
---------------------
Improvements:
- New HTML webview
- Android Api 34 support

Fixes:
- COPPA privacy settings applied to Amazon devices

Version 9.6.1 *(2024-01-10)*
---------------------
Fixes:
- Update OM SDK to version 1.4.9

Version 9.6.0 *(2023-12-11)*
---------------------
Improvements:
- Internal tracking system

Fixes:
- Fix ExoPlayer hot-swap issue

Version 9.5.0 *(2023-10-16)*
---------------------
Improvements:
- Improved stability of the sdk
- Improved internal sdk tracking
- Improved url handling - Click-through
- Support TCF v2

Fixes:
- Fix ad display on Android 5, 6, 7

Version 9.4.1 *(2023-08-14)*
---------------------
Improvements:
- Improve AppSetId detection

Fixes:
- Fix Open Measurement SDK
- Fix ExoPlayer crash

Version 9.4.0 *(2023-07-18)*
---------------------
Improvements:
- Added ExoPlayer as new video player
- Improvements in video rendering

Version 9.3.1 *(2023-05-25)*
---------------------
Improvements:
- Open Measurement SDK Beta (Pending IAB certification)

Version 9.3.0 *(2023-05-03)*
---------------------
Improvements:
- Open Measurement SDK Beta (Pending IAB certification)
- Support LGPD

Fixes:
- Fix async init

Version 9.2.1 *(2023-02-24)*
---------------------
Fixes:
- Fix missing dismiss callback in SingleTask scenario
- Fix applovin adapter display issue

Version 9.2.0 *(2023-01-30)*
---------------------
Improvements:
- SDK Bidding

Fixes:
- Improved stability of the SDK
- Video buffering improvements

Version 9.1.1 *(2022-10-19)*
---------------------
Fixes:
- Fix initialization issue

Version 9.1.0 *(2022-9-22)*
---------------------
Improvements:
- Improved stability of the SDK

Fixes:
- Fix initialization crashes found in 9.0.0 release

Version 9.0.0 *(2022-7-12)*
---------------------
Improvements:
- Implemented new public api
- Separated ad types from main Chartboost api
- Improved stability of the SDK

Fixes:
- Small quality of life improvements and fixes for pre-cache video ads

Notes:
- Sdk is compatible with Android api level 32.


Version 8.4.3 *(2022-5-06)*
---------------------
Fixes:
- Increase stability of the release

Version 8.4.2 *(2022-4-04)*
---------------------
Fixes:
- Update Google GSM libraries
- Improved access to Google AppSetId
- Backtrack supported java to version 1.8

Version 8.4.1 *(2022-3-22)*
---------------------
- Write a warning in the initialization if COPPA is not set.
- Support for Android Api 31  (Android 12)
- COPPA implementation
- Fix an issue when from an ad going to play store and then back, the ad was closed but should remain opened until user close it.
- Enforce TLS and HTTPS , remove SSLv3 Protocol
- Fix a bug that was preventing a Banner to be shown in the first refresh.
- Minimum supported gradle plugin is 'com.android.tools.build:gradle:4.0.0+'


Version 8.3.1 *(2022-01-17)*
---------------------
Remove rooted devices from requests

Version 8.3.0 *(2021-07-28)*
----------------------------------
Improvements:
- Internal improvements on video caching

Fixes:
- Improved stability on Android 5

Notes:
- Sdk is compatible with Android api level 30.
- Added method deprecation in public api and delegate

Version 8.2.1 *(2021-05-14)*
----------------------------------
Fixes:
- Fixed banner crash when trying to access banner size during show while view was not fully inflated
- Fixed webview issue

Version 8.2.0 *(2020-11-26)*
----------------------------------
Improvements:
- Added `adID` to events passed in banner ad delegate methods and to errors passed in load failure delegate methods for other ad types.
  It uniquely identifies an ad. It might help when working with Chartboost to identify faulty creatives

Fixes:
- Fixed crash while trying to download assets in some cases
- Fixed issue that in some cases caused banners to crash in Android 4.4.4
- Fixed banner crash upon banner click in certain conditions

Notes:
- Sdk is compatible with Android api level 29.

Version 8.1.0 *(2020-07-10)*
----------------------------------
Improvements:
- Added new data consent API with CCPA support.
- Improved handling of rewarded ads failure. The `didCompleteRewardedVideo` delegate callback is now called when a rewarded ad is dismissed due to some    error.
- Permissions changes - Chartboost doesn’t require any additional permissions anymore. We only recommend adding optional READ_PHONE_STATE permissions for better ad performance. Without this permission we won’t be able to get important information about the user.
- Reduced the amount of SDK network calls during foreground and background events.
- Improved background and foreground handling - SDK won’t be doing any work during foreground/background events, which will improve performance for the application and reduce battery consumption.
- Improved click delegate methods for better tracking clicks for all ads.

Fixes:
- Fixed callback issues on Android 4.x. The SDK will now always call failure delegate methods on Android 4.x devices.
- Fixed a bug where the SDK didn’t handle device settings properly for Limit Ad Tracking.
- Fixed network issues. Previously the SDK was not able to recover properly from no internet connection and therefore was not displaying ads correctly.
- Fixed incorrect callback call after cache failure. Cache failure was returning a show error instead of the correct cache error, which could cause an infinite loop in some edge cases.

Notes:
- Removed `restrictDataCollection:` method.
- `setPIDataUseConsent` is deprecated and replaced by `addDataUseConsent`.
- `getPIDataUseConsent` is deprecated and replaced by `getDataUseConsent`.
- `CBPIDataUseConsent` is deprecated. It can be used for the legacy functionality but it is recommended to use the latest API to indicate users' data consent status for privacy regulations including GDPR and CCPA.

Version 8.0.3 Hotfix *(2020-06-19)*
----------------------------------
Improvements:
- Increased ad load timeout to give more time for ads to load, especially on the first try. This was causing issues where SDK could be stuck and never recover its state.

Fixes:
- Fixed a callback issue on Android 4.x. Some devices were not triggering any callbacks which could lead to increased latency for mediation.
- Fixed an issue where the SDK would freeze after losing connectivity.

Notes:
- Hotfix for version 8.0.2 improves stability and fixes issues on Android 4

Version 8.0.2 Hotfix *(2020-03-26)*
----------------------------------

Fixes:
- Fix for banner related bug which prevented correct function of auto-refresh feature

Version 8.0.1 *(2020-02-24)*
----------------------------------
Improvements:
- Banner ads support added
- Drop support for Ads on Android 4
- Public api startWithAppId requires application context

Fixes:
- Fix memory leaks due to context retention
- Fix callback issue for adapters

Notes:
- This release includes Banners

Version 7.5.0 *(YYYY-MM-DD)*
----------------------------------
Improvements:
- Added support to cache calls with openRTB responses for In-App Unified Auction ads. More info: https://www.chartboost.com/helium/
- Added a new delegate,didCompleteInterstitial(String location), to match with rewarded video.
- Removed wifi permission ACCESS_WIFI_STATE.

Fixes:
- Fixed a crash that occurred when starting the Chartboost SDK with some Android 5.1 devices.
- The SDK was consuming SSL errors and causing some apps to not be accepted into Google Play.
- The SDK should start normally after connectivity returns.

Notes:
- This release and onwards are certified to work with 64-bit architectures.

Version 7.3.0 *(2018-9-07)*
----------------------------------
Improvements:
- Improved GDPR handling.

Fixes:
- Sound and video no longer continue to play after pressing on 'power' button to lock the phone.

Notes:
- New API for handling GDPR - void setPIDataUseConsent(Context context, CBPIDataUseConsent consent);
- API restrictDataCollection has been deprecated.

Version 7.2.1 *(2018-7-06)*
----------------------------------
Fixes
- Native will replace Android Webview on Kindle 4.x and below.
- ANDROID_ID will no longer be collected unless there is no GAID available.

Notes
- To enable GDPR data collection restrictions, call the restrictDataCollection method with the appropriate value for users who are EU Data Subjects. This method should be called before startWithAppId.

Version 7.2.0 *(2018-5-01)*
----------------------------------
Improvements
- Added restrictDataCollection method to support GDPR requirements.

Fixes
- Black screens no longer occur when showing ads on Android 8.0.

Notes
- To enable GDPR data collection restrictions, call the restrictDataCollection method with the appropriate value for users who are EU Data Subjects. This method should be called before startWithAppId.

Version 7.1.0 *(2018-3-30)*
----------------------------------
Improvements
- Enabled Moat viewability technology to allow serving of brand-based ads.
- Updated Supersonic to ironSource.

Fixes
- Impression Trackers now use GET rather than POST.
- illegalStateException no longer occurs in LG Nexus 5.
- Fixed issue with older Kindle devices.

Version 7.0.1 *(2017-10-24)*
----------------------------------
Fixes & Improvements
- INTERNET_UNAVAILABLE_AT_SHOW is reported when ad show is requested for a cached ad and internet is unavailable.
- Behavior of click/dismiss on end card matches previous SDK versions.
- SDK will not show incomplete ads.
- User can now exit ad by pressing the back button.

Version 7.0.0 *(2017-06-13)*
----------------------------------
SDK 7.0.0 is a major release that focuses on quality and stability while adding some new features.

API Changes
- Changed behavior of Chartboost.setShouldRequestInterstitialsInFirstSession to match the iOS SDK: # (Author:eric-swanson) (PR:695) (Ticket:https://chartboost.atlassian.net/browse/MO-2655)
    - This setting now only applies to interstitial ads.  It no longer applies to rewarded video ads.
    - This setting will now be checked whether or not there is a delegate set. SDK 6 and below only checked the value if a delegate had been set.
- Removed MoreApps support and deprecated API methods: # (Author:eric-swanson) (PR:567) (Ticket:https://chartboost.atlassian.net/browse/MO-2106)
    - Chartboost.hasMoreApps() will always return false.
    - Chartboost.cacheMoreApps() and showMoreApps() will both call didFailToLoadMoreApps(location, END_POINT_DISABLED).
- Deprecated Chartboost.isWebviewEnabled() # (Author:gonch) (PR:497) (Ticket:https://chartboost.atlassian.net/browse/MO-1962)
- Removed the unused EMPTY_LOCAL_AD_LIST error code. # (Author:CB-DevendraVaja) (PR:528) (Ticket:https://chartboost.atlassian.net/browse/MO-2025)
- Added VIDEO_UNAVAILABLE_FOR_CURRENT_ORIENTATION error code, which can occur when playing a native ad. # (Author:CB-DevendraVaja) (PR:544) (Ticket:https://chartboost.atlassian.net/browse/MO-1797)
- InPlay changes: # (Author:eric-swanson) (PR:710) (Ticket:https://chartboost.atlassian.net/browse/MO-2707)
    - CBInPlay.getAppIcon will now throw an exception if there is a failure to load the icon file or to decode it as a bitmap.
    - Added public final fields to CBInPlay (appName, location, largeAppIconUrl, largeAppIconFile).
    - The sample app was erroneously checking CBInPlay.hasInPlay() after calling CBInPlay.getInPlay().  It now uses the getInPlay() result without checking hasInPlay()

Fixes
- Fixed typos in sample app and permission entry in AndroidManifest.xml. # (Ticket:https://chartboost.atlassian.net/browse/MO-2072) (Author:CB-DevendraVaja) (PR:542) (Ticket:https://chartboost.atlassian.net/browse/MO-2037)
- The same ads are no longer returned for the first few requests after startup.

Improvements
- Rewrote Ad Unit State Manager and Download Manager.
- Implemented better support for Exchange ads.
- Implemented better support for interactive ads.
- MRAID 2.0 is now supported. # (Author:CB-DevendraVaja) (PR:665) (Ticket:https://chartboost.atlassian.net/browse/MO-2136)
- Improved Prefetch.
- Reduced DEX method count by 295 in com.chartboost (1824 -> 1529), 299 overall (2501 -> 2202).
- AdUnit assets are handled in arbitrary subdirectories. # (Author:CB-DevendraVaja) (PR:681) (Ticket:https://chartboost.atlassian.net/browse/MO-2540)
- If a bitmap or video is found to be corrupt when attempting to show an ad, we now delete the underlying file and call didFailToLoad on the delegate. # (Author:eric-swanson) bitmap: (PR:671) (Ticket:https://chartboost.atlassian.net/browse/MO-2327) video: (PR:664) (Ticket:https://chartboost.atlassian.net/browse/MO-2326)
- Removed MoreApps from ChartboostExampleApp. # (Author:gonch) (PR:568) (Ticket:https://chartboost.atlassian.net/browse/MO-2107)
- willDisplayVideo delegate is called before starting CBImpressionActivity. This is primarily so that on Unity, the willDisplayVideo callback will be executed before the ad shows, rather than after. # (Author:gonch) (PR:529) (Ticket:https://chartboost.atlassian.net/browse/MO-2026)
- Added a delay with exponential back-off between ad cache or show failures. # (Author:eric-swanson) (PR:647) (Ticket:https://chartboost.atlassian.net/browse/MO-2314)

Version 6.6.3 *(2017-3-30)*
----------------------------
Fixes & Improvements:
- Fixed NullPointerException when showing rewarded video.

Version 6.6.2 *(2017-3-20)*
----------------------------
Fixes & Improvements:
- Fixed NullPointerException issue when downloading assets.
- Reconnecting to internet when caching or showing ads no longer produces INTERNET_UNAVAILABLE error.
- Fixed crashes when Google Play Services is not integrated on non-Kindle devices.
- Resolved value changes in getDisplayMetrics().heightPixels.
- Clarified ad server error messaging when no publisher campaigns are available.

Version 6.6.1 *(2016-10-27)*
----------------------------

*Fixes*
- Fixed crashes with Supersonic mediation. # (Author:sat2eesh) (PR:525) (Ticket:https://chartboost.atlassian.net/browse/MO-2023)
- Cached ads are no longer shared between activities. # (Author:sat2eesh) (PR:526) (Ticket:https://chartboost.atlassian.net/browse/M0-2013)
- Fixed crashes with Fyber mediation. # (Author:CB-DevendraVaja) (PR:533) (Ticket:https://chartboost.atlassian.net/browse/MO-2030)
- Fixed crashes with Corona mediation rewarded video. # (Author:gonch) (PR:539) (Ticket:https://chartboost.atlassian.net/browse/MO-2021)

Version 6.6.0 *(2016-09-27)*
----------------------------
*Features:*
- Added support for AerServ mediation # (Author:drvirens) (PR:471) (Ticket:https://chartboost.atlassian.net/browse/MO-1864)
- Added support for HeyZap mediation # (Author:gonch) (PR:429) (Ticket:https://chartboost.atlassian.net/browse/MO-1578)
- InPlay works again in the Example App # (Author:gonch) (PR:421) (Ticket:https://chartboost.atlassian.net/browse/MO-1427)

*Improvements:*
- We added why we need certain app permissions in the manifest # (Author:gonch) (PR:418) (Ticket:https://chartboost.atlassian.net/browse/MO-1837)
- Reduced DEX method count by 606 in com.chartboost and 629 overall # (Author:eric-swanson) (PR:422) (Ticket:https://chartboost.atlassian.net/browse/MO-1798] [MO-1799][MO-1800)

*Fixes*
- More Apps page will no longer fail to show with loading bar enabled # (Author:gonch) (PR:501) (Ticket:https://chartboost.atlassian.net/browse/MO-1785)
- didShow delegate could be called when an ad was actually not shown # (Author:sat2eesh) (PR:479) (Ticket:https://chartboost.atlassian.net/browse/M0-1886)
- Update device identifiers on every request # (Author:eric-swanson) (PR:476) (Ticket:https://chartboost.atlassian.net/browse/MO-1812)
- Fixed an issue where the close button was being misplaced # (Author:gonch) (PR:474) (Ticket:https://chartboost.atlassian.net/browse/MO-1869)
- Optimized template parameter replacement # (Author:eric-swanson) (PR:431) (Ticket:https://chartboost.atlassian.net/browse/MO-1868)
- Fixed a NullPointerException when backgrounding the app # (Author:sat2eesh) (PR:420) (Ticket:https://chartboost.atlassian.net/browse/MO-1754)


Version 6.5.1 *(2016-08-26)*
----------------------------
*Fixes*
- Fixed an issue where invalid server responses could be treated as valid. # (Author:eric-swanson) (PR:416) (Ticket:https://chartboost.atlassian.net/browse/MO-1830)

Version 6.5.0 *(2016-08-10)*
----------------------------
*Features:*
- The example app CBSample has been renamed ChartboostExampleApp. # (Author:gonch) (PR:337) (Ticket:https://chartboost.atlassian.net/browse/MO-1473)
- ChartboostExampleApp has been updated to better showcase Chartboost SDK features. # (Author:gonch) (PR:225) (Ticket:https://chartboost.atlassian.net/browse/MO-1312)
- Chartboost SDK now uses network compression, improving performance. # (Author:sat2eesh) (PR:356) (Ticket:https://chartboost.atlassian.net/browse/MO-1702)

*Improvements:*
- ```void setFrameworkVersion()``` has been deprecated. Please use ```void setChartboostWrapperVersion()``` to set wrapper version. # (Author:gonch) (PR:352) (Ticket:https://chartboost.atlassian.net/browse/MO-1690)
- Added new mediation enum value HyprMX. # (Author:sat2eesh) (PR:350) (Ticket:https://chartboost.atlassian.net/browse/MO-1692)
- Error codes are more accurate and descriptive. # (Author:sat2eesh) (PR:341) (Ticket:https://chartboost.atlassian.net/browse/MO-1631)
- Previously deprecated methods and classes now removed:
    - ```ChartboostActivity``` class
    - ```boolean getIgnoreErrors()```
    - ```void setIgnoreErrors(boolean ignoreErrors)```
    - ```void didPassAgeGate(boolean pass)```
    - ```void setShouldPauseClickForConfirmation(boolean shouldPause)```
    - ```void clearCache()```
    - ```void setFramework(final CBFramework framework)```
    - ```boolean getImpressionsUseActivities()```
    - ```void setImpressionsUseActivities(final boolean impressionsUseActivities)```
    - ```void didPauseClickForConfirmation()```
    - ```void didPauseClickForConfirmation(Activity activity)``` # (Author:gonch) (PR:338) (Ticket:https://chartboost.atlassian.net/browse/MO-1618)

*Fixes:*
- Fixed an issue in which pressing the back button did not call the dismiss/close delegates. # (Author:gonch) (PR:349) (Ticket:https://chartboost.atlassian.net/browse/MO-1684)
- A cached ad will no longer fail to show. # (Author:sat2eesh) (PR:343) (Ticket:https://chartboost.atlassian.net/browse/MO-1641)
- SDK will no longer keep 0 byte files in cache when a download fails. # (Author:sat2eesh) (PR:336) (Ticket:https://chartboost.atlassian.net/browse/MO-1604)
- Video ads no longer stay paused after maximizing a minimized app. # (Author:gonch) (PR:194) (Ticket:https://chartboost.atlassian.net/browse/MO-1292)

Version 6.4.2 *(2016-06-30)*
----------------------------
*Features:*
- The Chartboost Android SDK no longer supports the age gate feature. API methods related to age gate are being deprecated and will be removed in a future release.  #([@gonch](https://github.com/gonch) [MO-1493](https://chartboost.atlassian.net/browse/MO-1493))
- Publishers only: All Chartboost ads are now shown using CBImpressionActivity. You must add CBImpressionActivity to your AndroidManifest.xml file, like this:

<activity android:name="com.chartboost.sdk.legacy.CBImpressionActivity"
android:excludeFromRecents="true"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
android:configChanges="keyboardHidden|orientation|screenSize"/>

*Note:* Make sure hardware acceleration is added and enabled when declaring the CBImpressionActivity in the manifest.

*Fixes:*
- Media loading is now more efficient. #([@sat2eesh](https://github.com/sat2eesh) [MO-1126](https://chartboost.atlassian.net/browse/MO-1126))
- Memory usage on device has been optimized. #([@sat2eesh](https://github.com/sat2eesh) [MO-1369](https://chartboost.atlassian.net/browse/MO-1369))
- Video download is now more efficient.  #([@gonch](https://github.com/gonch) [MO-1178](https://chartboost.atlassian.net/browse/MO-1178))
- Fixed ConcurrentModificationException occurring in some devices. #([@sat2eesh](https://github.com/sat2eesh) [MO-1181](https://chartboost.atlassian.net/browse/MO-1181))
- Fixed issue with video playback when backgrounding.. #([@gonch](https://github.com/gonch) [MO-1292](https://chartboost.atlassian.net/browse/MO-1292))
- Fixed IMPRESSION_ALREADY_VISIBLE error. #([@eric-swanson](https://github.com/eric-swanson) [MO-972](https://chartboost.atlassian.net/browse/MO-972))

Version 6.4.1 *(2016-03-23)*
----------------------------

*Features:*

*Improvements:*

MO-1148 @sathish, Parsing exception for api/config when determining the right endpoint to make adserver calls.
MO-1156 @sathish, Minor issue in logging exception, if trying to access file directories that are prohibited access.
MO-1157 @sathish, HasXXX() calls always returns false for webview ad formats. Like for example HasInterstitial(location).

Version 6.4.0 *(2016-03-14)*
----------------------------

*Features:*
- TBD Marketing Text
- New method 'setActivityCallbacks(boolean enabled)'. Use it to enable the Activity Lifecycle Activities. Only available in Android 4.X and above versions. This behavior is disabled by default.

*Improvements:*
- Retry downloading assets that fail
- We invalidate cached impressions on soft boot ups if any shared assets have been deleted
- Fixed issues causing "Could Not Delete Cache Entry for key" log message on startup

MO-1041 @sathish, Support for registering Activity Lifecycle Callbacks for only apps that support Android API 14 and above



Version 6.3.0 *(2016-02-08)*
----------------------------
- Upgrade now to enable Chartboost's behind-the-scenes video optimization.

*Improvements:*
- Older devices in the networking library no longer crash on occasion.
- MoreApps rotation issue has been resolved.
- Removed "Could Not Delete Cache Entry for key" notification from logs.


Version 6.2.0 *(2016-01-13)*
----------------------------

Features:
- New method 'getSDKVersion()' returns the current version of the Chartboost SDK. #([@gonch](https://github.com/gonch) [MO-881](https://chartboost.atlassian.net/browse/MO-881))
- New method 'setShouldHideSystemUI(Boolean hide)' hides or displays the Navigation and Notification bars for Chartboost ads. #([@gonch](https://github.com/gonch) [MO-720](https://chartboost.atlassian.net/browse/MO-720))

Fixes:
- Improved handling of views when the app is minimized after clicking an ad. #([@gonch](https://github.com/gonch) [MO-906](https://chartboost.atlassian.net/browse/MO-906))
- Reduced network usage with more efficient handling of cached assets. #([@gonch](https://github.com/gonch) [MO-940](https://chartboost.atlassian.net/browse/MO-940))

Improvements:
- 'setShouldRequestInterstitialsInFirstSession' is no longer deprecated.

Version 6.1.0 *(2015-11-19)*
----------------------------
Fixes:
- In Play would not trigger the failure delegate on failure #([@gonch](https://github.com/gonch) [PUB-2431](https://chartboost.atlassian.net/browse/PUB-2431))
- Improved Video V2 caching #([@sat2eesh](https://github.com/sat2eesh)
- Support for Android API 9 - 23 #([@sat2eesh](https://github.com/sat2eesh)
- Crash fixes for SDK Version 5.5.3 #([@sat2eesh](https://github.com/sat2eesh) [PUB-2831](https://chartboost.atlassian.net/browse/PUB-2831))
- Proguard: Add the below rule for API 23 to ignore apache http warnings
  -dontwarn org.apache.http.**

Improvements:
- didInitialize() delegate callback added to notify the SDK is initialized and ready to use.

Version 6.0.2 *(2015-10-19)*
----------------------------

- Video experience rebuilt from the ground up, upgrade to this SDK to enable Chartboost's behind-the-scenes video optimization

- Deprecated class and methods

  *Class:*
  ChartboostActivity

- *Recommended Permission*
  Pause/Resume playback during phone calls. SDK need to know when a phone call come in and when it is finished when we show video ads.
  ```<uses-permission android:name="android.permission.READ_PHONE_STATE"/>```

- *Required*
  Build SDK Version - 23
  Compile SDK Version - 23

- *Optional* (If you do support Android M its required then)
  Target SDK Version - 23

- *Required*
  All 6.0 and above SDK will be using the below activity to show ads rather use developers host activity.
   ```<activity android:name="com.chartboost.sdk.legacy.CBImpressionActivity"
         android:excludeFromRecents="true"
         android:hardwareAccelerated="true"
         android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
         android:configChanges="keyboardHidden|orientation|screenSize"/>```

- Age Gate Delegate Callback is modified and need to use the new overloaded method didPauseClickForConfirmation(Activity activity).

- Fixes
  All bug fixes for current production build

Version 5.5.4 *(2015-08-20)*
----------------------------

Features:

- Add CBMediation enum for use with mediation networks.  #([@JonHummel](https://github.com/JonHummel) [PUB-2442](https://chartboost.atlassian.net/browse/PUB-2442))

Fixes:

Improvements:

Version 5.5.3 *(2015-07-28)*
----------------------------

Features:

Fixes:

- Fixed a crash in the retry event system.  #([@gonch](https://github.com/gonch) [PUB-2253](https://chartboost.atlassian.net/browse/PUB-2253))

Improvements:

Version 5.5.0 *(2015-06-28)*
----------------------------

Features:

Fixes:

- Age gate now hides the ad between the `didPauseClickForConfirmation` call and `didPassAgeGate` response.  #([@mountabbey](https://github.com/mountabbey) [PUB-2009][PUB-2010][PUB-2011][PUB-2073][PUB-2074][PUB-2075](https://chartboost.atlassian.net/browse/PUB-2009))
- Video ads stop playing when didPauseClickForConfirmation() is called. #([@sat2eesh](https://github.com/sat2eesh) [PUB-2036](https://chartboost.atlassian.net/browse/PUB-2036))
- Removed an unnecessary video prefetch call. #([@sat2eesh](https://github.com/sat2eesh) [PUB-1866](https://chartboost.atlassian.net/browse/PUB-1866))
- Fixed Chartboost activity leaking in some cases.  #([@gonch](https://github.com/gonch) [PUB-2071](https://chartboost.atlassian.net/browse/PUB-2071))
- Loading screens were improperly showing for interstitial and rewarded videos.  #([@gonch](https://github.com/gonch) [PUB-2039](https://chartboost.atlassian.net/browse/PUB-2039))
- Sample build file fixed to include required Google library. GAID would not be sent. #([@sat2eesh](https://github.com/sat2eesh) [PUB-2124](https://chartboost.atlassian.net/browse/PUB-2124))
- Typos fixed in some post install event responses. #([@gonch](https://github.com/gonch) [PUB-1862](https://chartboost.atlassian.net/browse/PUB-1862))
- Timezone format fixed for Android 4.1 and early. #([@gonch](https://github.com/gonch) [PUB-2129](https://chartboost.atlassian.net/browse/PUB-2129))

Improvements:

- Added a new method, `public void setMediation(String libraryName, String version)`, to track mediation library versions. #([@mountabbey](https://github.com/mountabbey) [PUB-2106](https://chartboost.atlassian.net/browse/PUB-2106))


Version 5.4.1 *(2015-06-03)*
----------------------------

Features:

Fixes:

- Chartboost media files will no longer appear in the phone gallery #([@gonch](https://github.com/gonch) [PUB-2117](https://chartboost.atlassian.net/browse/PUB-2117))

Improvements:


Version 5.4.0 *(2015-06-01)*
----------------------------

Features:


Fixes:

- Fixed bug causing ads to disappear on rotation while using Activities #([@gonch](https://github.com/gonch) [PUB-1738](https://chartboost.atlassian.net/browse/PUB-1738))
- Reward video pre-roll screen now properly displays after home key input. #([@sat2eesh](https://github.com/sat2eesh) [PUB-1857](https://chartboost.atlassian.net/browse/PUB-1857))
- Fixed null pointer exception that occurred initializing Chartboost and making calls on different threads. #([@sat2eesh](https://github.com/sat2eesh) [PUB-1736] (https://chartboost.atlassian.net/browse/PUB-1736))
- Fixed ads disappearing on rotation when using activities.  #([@gonch](https://github.com/gonch) [PUB-1738](https://chartboost.atlassian.net/browse/PUB-1738))
- Fixed rare bug that prevented video prefetching under certain circumstances. #([@gonch](https://github.com/gonch) [PUB-1704](https://chartboost.atlassian.net/browse/PUB-1704))

Improvements:

- Added error logging for all network calls. #([@gonch](https://github.com/gonch) [PUB-1836](https://chartboost.atlassian.net/browse/PUB-1836))
- Chartboost now determines which network type the device is using.  #([@gonch](https://github.com/gonch) [PUB-1880](https://chartboost.atlassian.net/browse/PUB-1880))

Version 5.3.0 *(2015-04-30)*
----------------------------

Features:

- Added a new method, `public void setFrameworkVersion(String version)`, to track custom framework versions. #([@gonch](https://github.com/gonch) [PUB-1688](https://chartboost.atlassian.net/browse/PUB-1688))
- Added [Weeby](http://www.weeby.co) to available frameworks. #([@JonHummel](https://github.com/JonHummel) [PUB-1724](https://chartboost.atlassian.net/browse/PUB-1724))

Fixes:

- Ad will no longer disappear in some devices if app is backgrounded #([@gonch](https://github.com/gonch) [PUB-1833](https://chartboost.atlassian.net/browse/PUB-1833))

Improvements:

- Added a way to detect rooted devices. #([@gonch](https://github.com/gonch) [PUB-1748](https://chartboost.atlassian.net/browse/PUB-1748))

Version 5.2.0 *(2015-04-01)*
----------------------------

Features:

Fixes:

- Fix Android SDK stops showing ads if dismissing too fast when setImpressionsUseActivities set to true. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1565](https://chartboost.atlassian.net/browse/PUB-1565))
- Fix Android 5.1.3 native SDK hasRewardedVideo can return true but show call fails with Error: VIDEO_UNAVAILABLE. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1623](https://chartboost.atlassian.net/browse/PUB-1623))
- Fix Android SDK 5.1.1 crashes sometimes if back button pressed after interstitial is shown. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1496](https://chartboost.atlassian.net/browse/PUB-1496))
- Fix Android 5.1.1 crashing sporadically on showInterstitial calls. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1514](https://chartboost.atlassian.net/browse/PUB-1514))
- Fix Android 5.1.3 native SDK Crashing sometimes after viewing interstitial. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1593](https://chartboost.atlassian.net/browse/PUB-1593))
- Remove all exception thrown from the SDK. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1568](https://chartboost.atlassian.net/browse/PUB-1568))
- Fix /api/install not being called on every bootup for Android SDK. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1613](https://chartboost.atlassian.net/browse/PUB-1613))
- Fix Video should no longer leave any transparent space when fullscreen #([@gonch](https://github.com/gonch) [PUB-1656](https://chartboost.atlassian.net/browse/PUB-1656))

Improvements:

- Update Amazon IAP library to v2.0. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1570](https://chartboost.atlassian.net/browse/PUB-1570))

Version 5.1.3 *(2015-03-16)*
----------------------------

Features:

Fixes:

- Fix Seeing duplicate calls for showInterstitial on Unity Android. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1551](https://chartboost.atlassian.net/browse/PUB-1551))
- Fix Seeing duplicate calls for showRewardedVideo on Unity Android. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1554](https://chartboost.atlassian.net/browse/PUB-1554))

Improvements:

Version 5.1.2 *(2015-03-04)*
----------------------------

Features:

- Added new method closeImpression() that will close any impression visible on the screen. #([@gonch](https://github.com/gonch) / [PUB-1414](https://chartboost.atlassian.net/browse/PUB-1414))

Fixes:

- Fix didDismissInterstitial and didDismissRewardedVideo not executing on Android. #([@JonHummel](https://github.com/JonHummel) / [PUB-1495](https://chartboost.atlassian.net/browse/PUB-1495))
- Fix didCacheInterstitial not being called if an ad was already cached at the location. #([@gonch](https://github.com/gonch) / [PUB-1494](https://chartboost.atlassian.net/browse/PUB-1494))

Improvements:

Version 5.1.1 *(2015-02-20)*
----------------------------

Features:

Fixes:

- Fix for devkit engine issue on video playback. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1249](https://chartboost.atlassian.net/browse/PUB-1249))
- Fix video crash issue on crash exception. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1323](https://chartboost.atlassian.net/browse/PUB-1323), [PUB-1358](https://chartboost.atlassian.net/browse/PUB-1358), [PUB-1359](https://chartboost.atlassian.net/browse/PUB-1359))
- Fixes for video issues. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1396](https://chartboost.atlassian.net/browse/PUB-1396), [PUB-1363](https://chartboost.atlassian.net/browse/PUB-1363), [PUB-1361](https://chartboost.atlassian.net/browse/PUB-1361))

Improvements:

Version 5.1.0 *(2014-12-09)*
----------------------------

Features:

Fixes:

- Fix Android SDK 5.0.3 crashing on Video Interstitial due to NullPointerException. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1046](https://chartboost.atlassian.net/browse/PUB-1046))
- Fix Android SDK: Proper error enum names. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1034](https://chartboost.atlassian.net/browse/PUB-1034))
- Fix MoreApps Unity 5.0.2 and 5.0 for Android doesn't work. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1045](https://chartboost.atlassian.net/browse/PUB-1045))
- Fix Unity: Parity Android error enum. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1045](https://chartboost.atlassian.net/browse/PUB-1045))
- Fix SDK sends "custom-id" but ad server expects "custom_id" field. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1053](https://chartboost.atlassian.net/browse/PUB-1053))
- Fix See black screen and not video when reward/get has been modified. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1087](https://chartboost.atlassian.net/browse/PUB-1087))
- Fix Android Video: Black screen for invalid response. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1089](https://chartboost.atlassian.net/browse/PUB-1089))
- Fix Rewarded Video request freezes app if pre-roll popup gets closed after watching at least one video. #([@sat2eesh](https://github.com/sat2eesh) / [PUB-1101](https://chartboost.atlassian.net/browse/PUB-1101))

Improvements:

Version 5.0.4 *(2014-11-06)*
----------------------------

- Fix autocaching ads.
- New API: isAnyViewVisible() which can used to check if any chartboost ads are visible.
- Bug fixes and stability improvements for video, interstitial and inplay.

Version 5.0.3 *(2014-09-30)*
----------------------------

- Fix video playback codec support for low end android devices.
- 'willDisplayVideo' delegate callback added when the video is about to be displayed both for rewarded and interstitial video.
- Minor bug fixes and improvements.

Version 5.0.2 *(2014-09-10)*
----------------------------

- Fix for video where certain OEM devices video complete calls where not sent out properly.
- Minor bug fixes and patches.

Version 5.0.1 *(2014-09-05)*
----------------------------

- Fix for flickering issue for video on 2.3 devices on native sdk.
- Fix for unity plugin caused calling the onBackPressedEvent from a non-UI Thread.
- Fix for a race condition where concurrent ad request of same type can be sent for same location.
- Fix for a crash when using impression activities.
- Some minor fixes.

Version 5.0.0 *(2014-09-02)*
----------------------------

- API change: Chartboost methods are now called statically, and some of the method names and structures have changed. Please see the sample app or readme for updated integration instructions.
- Updated MoreApps page (graphics and functionality).
- New ad products: video interstitials and rewarded videos.
- Updated sample project.
- Many delegate methods moved to setter and getter functions.
- CBPostInstallTracking renamed to CBAnalytics.
- Added impression auto-caching feature.
- Removed unnecessary settings.
- Bugfixes and stability improvements.
- Upgrading to 5.0 Google Play Services library.
- Some major fixes and cleanups on SDK and libs being used to reduce the jar size.

Version 4.1.2 *(2014-08-14)*
----------------------------

- Fix: Random crash that happens on 4.1.1 builds.

Version 4.1.1 *(2014-06-10)*
----------------------------

- Fix: Crash while retrying request during network change.
- Fix: Crash while caching interstital before calling onStart().
- Fix: Crash when filesystem data unavailable.
- Tracking overload if network failure happens.

Version 4.1.0 *(2014-06-10)*
----------------------------

- New product - Post Install Analytics Tracking. Exposing In-App purchasing API for developers to track GooglePlay, Amazon and  ChartBoost Store in-app purchases. For more info go through ReadMe section of PostInstallTracking.
- New product - Tracking. This product is mainly used to log session events, user events, system events and debug events that is recorded across SDK and sent to server.
- New update:
  a) Carrier information like Carrier name,MCC,MNC,ISO and phone type is sent in every API request.
  b) jb flag is sent on every request to determine if the device is more likely jailbroken or rooted device.
  c) CBLocation constants are provided to developers. Its a default set of location constants which they can use during impression calls.
- Deprecated methods (Will be removed in the future releases)
  a) startSession() - SDK will be internally handling and tracking the session calls.
  b) clearImageCache() - Use clearCache() method which will perform clearImageCache() operation internally.
  c) setFramework() - It was removed in the previous release which cause some chaos, so we are just adding it as a deprecated method for now.
- SDK Improvements
  a) Ultra fast Networking library for asynchrounous networking. (Volley + OkHttp Square)
  b) All Impression classes are now more structurally organized.
  c) All Impressions are grouped into their own packages, so that it will be more helpful when we move to dependency injection structure.
  d) File Caching and network reachability is centralised across SDK use.
  e) RequestManager module integrated with the new custom networking library for more seamless and lossless chartboost api calls.
  f) Some clickable elements in impressions now have a pressed effect to improve user experience.

Version 4.0.0 *(2014-03-17)*
----------------------------

- New Feature: Added Google Play Services advertising ID tracking, please see updated integration instructions in the documentation.
- New Feature: Different close button images for each orientation.
- New Feature: Error reasons for delegate failure methods.
- Animation performance improved -- we recommend you target Android 4.0+ for best performance.
- New Feature: Age gate for impression links -- see the documentation of the new delegate method `shouldPauseClickForConfirmation()`.
- Change: We've reorganized the SDK so that all Chartboost properties and settings are accessed and changed through the new `CBPreferences` class.
- New Feature: Control over logging that can help us diagnose any issues that you are having, see `CBPreferences.setLoggingLevel()`.
- Renamed `didFailToLoadUrl` delegate method to `didFailToRecordClick` in order to better describe all possibilities.
- Fixed rare bug that caused incorrect ad sizes.
- `CBAnalytics` is no longer available.

Version 3.4.0 *(2013-11-20)*
----------------------------

- New feature: now handles high res interstitial assets!

Version 3.3.0 *(2013-09-12)*
----------------------------

- New Feature: `ChartboostActivity` and `ChartboostNativeActivity` are simple alternatives to implementing Chartboost in your app.  Simply extend your activities from either class (depending on whether you use native activities or not), provide the app ID and signature, and you're done!
- Changed documentation to suggest calling `Chartboost.startSession()` in your activity's `onStart()` method.

Version 3.2.3 *(2013-06-24)*
----------------------------

- New Feature: `ChartboostDefaultDelegate` is a new abstract class that serves as a `ChartboostDelegate`. Extending from this instead will allow you to skip overriding the methods you are not interested in, at the expense of not being able to inherit from your own base class. The default implementation returns true for any method that returns a boolean in the delegate.
- New delegate method: `didFailToLoadUrl()` is called when the result of a click in an impression fails to load.
- Added exceptions to warn you if you have forgotten to properly exclude Chartboost from your proguard using the line `-keep class com.chartboost.sdk.** { *; }`.
- Change: Simultaneous identical interestitial or more apps request attempts will fail immediately. However, simultaneous interstitial requests with different locations are fine.
- Fix allowing Chartboost servers to differentiate buggy Android 2.x devices that all share the same `ANDROID_ID`.
- Fixed an infrequent HTTP connection error during image downloads.
- Fixed bug where if the network is lost while viewing the more apps page, a click would cause a progress bar to hang forever.
- Fixed edge case crashes related to caching images.

Version 3.2.2 *(2013-06-03)*
----------------------------

- Change: Method `Chartboost.orientation()` is now called `getOrientation()`.
- Add ability to disable animations and fixed animation type none.
- Fixed memory leak that could sometimes occur with the activity impressions setting.

Version 3.2.1 *(2013-04-23)*
----------------------------

- Removed dependence of sensor listener unless orientation is overridden.
- Removed all dependencies on `AsyncTask`, ensuring full compatibility with multithreaded apps.
- Fixed bug where screen stayed dark after closing interstitials on certain problem devices (including 4.1.2 Nexus S and Nexus 10).
- Fixed interference with game-rate sensor listeners on certain problem devices (including 2.3.x Galaxy S1 and Galaxy S2).
- Fixed crash when `cacheInterstitial()` was called off the UI thread.

Version 3.2.0 *(2013-03-30)*
----------------------------

- New method: `Chartboost.showMoreAppsData()` allows you to get raw JSON information about your more apps page so that you can display it however you like.
- Change: Show impression calls will immediately fail (and call delegate method) if an impression is already visible.
- Stopped delegate method `shouldDisplayLoadingViewForMoreApps()` from being fired when showing interstitials.
- Fixed delegate method `shouldRequestMoreApps()` was not being called as specified.

Version 3.1.6 *(2013-03-21)*
----------------------------

- Fixed harmless Lint error about invalid package reference (also no longer necessary to include `-dontwarn java.lang.management.**` in your proguard configuration).
- Fixed memory leak involved in using Chartboost in multiple subsequent activities.
- Fail gracefully in low memory situations.
- Added ability to suppress off-thread method calling exceptions for certain unusual use cases.