Release notes for the deprecated v1 version of the Analytics Collector can be found [here](🔗).




## 3.1.1

Released 2023-08-30

**Fixed**

  • AVPlayer: Buffering Events and some seeking events are not tracked.




## 3.1.0

Released 2023-08-17

**Added**

  • AVPlayer: `droppedFrames` are now collected via `AVPlayerItemAccessLogEvent.numberOfDroppedFrames`

**Fixed**

  • AVPlayer: fixed negative `paused` values when api `pause() -> seek() -> play()` was called

  • old constructor interpreted `BitmovinAnalyticsConfig.ads` wrong

  • value of `experimentName` was written to `customData30`

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `3.1.1`




## 3.0.0

Released 2023-07-31

This major version contains breaking changes. Follow this [migration guide](🔗) if you want to upgrade from v2

**Added**

  • New Protocols and Factories for Collectors

    • `BitmvoinPlayerCollectorApi`

    • `AVPlayerCollectorApi`

    • `AmazonIVSPlayerCollectorApi`

**Changed**

  • The collectors (`CoreCollector`, `BitmovinCollector`, `AVFoundationCollector`, `AmazonIVSCollector`) are now now shipped as `XCFramework`

  • The source code is removed from the public repository

  • `BitmovinAnalyticsConfig` is split up to `AnalyticsConfig`, `DefaultMetadata` and `SourceMetadata`

  • BitmovinCollector:

    • Depending on `BitmovinPlayerCore` (3.41.1) instead of `BitmovinPlayer` now

    • It is no longer possible to attach multiple `BitmovinPlayerCollector`'s to one `BitmovinPlayer` instance. When this use-case is detected, an assertion will be raised.

  • AmazonIVSCollector:

    • depending on AmazonIVSPlayer `1.20.0`

    • `AmazonIVSCollector` was renamed to `AmazonIVSPlayerCollector` to be consistent with the other collectors

**Fixed**

  • set current position for videoTimeStart and videoTimeEnd when customData event is sent

**Deprecated**

  • Directly creating collectors by using the constructors e.g.`let collector = AVPlayerCollector(config: config)`

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `3.1.1`




## 2.12.2

Released 2023-08-31

**Fixed**

  • AVPlayer: Buffering Events and some seeking events are not tracked.




## 2.12.1

Released 2023-07-27

**Fixed**

  • AVPlayer: does not track that source is live stream automatically

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `2.12.2`




## 2.12.0

Released 2023-05-16

**Added**

  • `BitmovinAnalyticsConfig.longTermRetryEnabled` with default value of `false`. When set to `true`, analytics events that have failed to be sent are cached in a persistent way and re-sent as soon as there is network again

**Fixed**

  • AmazonIVSCollector: `isLive` tracking didn't work

  • AVPlayerCollector: Heartbeat wasn’t correctly triggered every 59 seconds.

**Removed**

  • remove support for building for `BITCODE`

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `2.12.2`




## 2.11.1

Released 2023-07-03

**Fixed**

  • BitmovinPlayerCollector: fixed crashes because of unsafe access on unattached player source

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `2.12.2`




## 2.11.0

Released 2023-04-21

**Removed**

  • removed support for iOS/tvOS 12.0, 13.0

**Changed**

  • update dependency to AmazonIVSPlayer to 1.18.0

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `2.12.2`




## 2.11.0-beta.1

Released 2023-03-30

**Added**

  • New Amazon IVS adapter

  • example view with Amazon IVS player

  • heartbeat now checks if player is still playing before continuing with heartbeat

**Removed**

  • MIT License




## 2.10.2

Released 2023-08-30

**Fixed**

  • AVPlayer: Buffering Events and some seeking events are not tracked.




## 2.10.1

Released 2023-07-27

**Fixed**

  • AVPlayer: does not track that source is live stream automatically

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `2.10.2`




## 2.10.0

Released 2023-01-09

**Added**

  • added tracking of ad samples

**Changed**

  • improved error handling for license call handler and event data decoration

**Fixed**

  • BitmovinPlayer: casting information was set in sample before casting

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `2.10.2`




## 2.9.4

Released 2022-12-12

**Fixed**

  • AVPlayer: fake seeks with less than 300ms caused by timeJumpedNotifications

**Known Issue**

  • AVPlayer: Buffering Events and some seeking events are not tracked. Issue is fixed with `2.10.2`




## 2.9.3

Released 2022-12-05

**Fixed**

  • issues with SPM because of `@testable import` in non-test file




## 2.9.2

Released 2022-06-08

**Removed**

  • Heartbeat interval duration configuration on BitmovinAnalyticsConfig

**Fixed**

  • BitmovinPlayer: tracking of `seeking` events




## 2.9.1

Released 2022-05-23

**Added**

  • `@objc` annotations to allow embedding the Collector in Objective-C Applications




## 2.9.0

Released 2022-05-18

**Added**

  • new method `getUserId` on all collectors to get used `userId`

  • AVPlayer: Download Speed is now tracked

  • AVPlayer: Number of downloaded segments is now tracked

**Changed**

  • AVPlayer: reworked tracking of video bitrate

**Fixed**

  • AVPlayer: wrongly track multiple seek events instead of one event for progressive sources




## 2.8.0-beta1

Released 2022-04-05

**Added**

  • new AVPlayer adapter with deployment_target `iOS:12` and `tvOS:12`

  • Swift Package Manager support

**Changed**

  • strict protocol `Collector` as public API for player collectors

  • during `paused` state we do not track `qualityChange`, `seeking` and `buffering`

  • reworked tracking of `seeking`




## 2.8.0

Released 2022-04-21

**Fixed**

  • AVPlayer: collector caused the app to freeze when drm playback is used

  • AVPlayer: no startup was tracked if collector was attached after play




## 2.7.0

Released 2022-03-23

**Added**

  • improved Device information tracking

**Fixed**

  • tracking of analytics_version don't use `CFBundleShortVersionString`

  • fixed typo in compiler config `ENABLE_BITCODE`




## 2.6.0

Released 2022-01-19

**Added**

  • additional customData fields 26 to 30




## 2.5.0

Released 2022-01-14

**Changed**

  • startup time tracking when autoplay is enabled starts from SourceLoad event

  • transition to playing state if collector is attached after player started playing




## 2.4.0

Released 2021-11-05

**Added**

  • version property on Collector classes

**Changed**

  • version is now hard-coded into source and not taken from CFBundleShortVersionString




## 2.3.0

Released 2021-10-27

**Added**

  • Additional customData fields 8 to 25

**Changed**

  • Collector will send one final sample on destroy if player is playing




## 2.2.0

Released 2021-08-02

**Added**

  • castTech payload field to differentiate between Airplay and GoogleCast




## 2.1.0

Released 2021-06-21

**Added**

  • setCustomData and setCustomDataOnce methods

  • randomizedUserId configuration property




## 2.0.0

Released 2021-05-26

**Added**

  • Support for BitmovinPlayer v3