# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [4.3.22] - 2026-06-08
- [IDEA-4628] Add parent-origin responder for direct iframe embeds ([259](https://github.com/Vidyard/vidyard-player-sdk/pull/259))
- Fix release build: use yarn for embed-code build ([261](https://github.com/Vidyard/vidyard-player-sdk/pull/261))
- Fix GitHub Packages publish for embed-code ([260](https://github.com/Vidyard/vidyard-player-sdk/pull/260))
- FIX: Gate Marketo lead lookup on play event instead of page load ([258](https://github.com/Vidyard/vidyard-player-sdk/pull/258))
- Uncomment GH packages publish step ([257](https://github.com/Vidyard/vidyard-player-sdk/pull/257))
- Use NPM to publish packages instead of Yarn ([256](https://github.com/Vidyard/vidyard-player-sdk/pull/256))
- Update CI and Release workflows ([255](https://github.com/Vidyard/vidyard-player-sdk/pull/255))

## [4.3.20] - 2026-04-30
- [Idea-4678] Pass-through thumbnail alt value set by the host ([251](https://github.com/Vidyard/vidyard-player-sdk/pull/251))
- chore: standardize CODEOWNERS to @vidyard/idea-labs ([250](https://github.com/Vidyard/vidyard-player-sdk/pull/250))
- [DEV-ONLY] Update README release steps ([249](https://github.com/Vidyard/vidyard-player-sdk/pull/249))
- [DEV-ONLY] Fix Start Release GHA ([248](https://github.com/Vidyard/vidyard-player-sdk/pull/248))
- [IDEA-3827] Automate version bump ([240](https://github.com/Vidyard/vidyard-player-sdk/pull/240))
- [DEV-ONLY] Add manual trigger to automatic release ([241](https://github.com/Vidyard/vidyard-player-sdk/pull/241))

## [4.3.19] - 2025-10-30
- [IDEA-3827] Automate tag creation during release ([#238](https://github.com/Vidyard/vidyard-player-sdk/pull/238))
- [IDEA-3827] Refactor CI ([#237](https://github.com/Vidyard/vidyard-player-sdk/pull/237))
- [IDEA-3820] Remove alt text from lightbox thumbnail ([#235](https://github.com/Vidyard/vidyard-player-sdk/pull/235))

## [4.3.18] - 2025-10-27
- [IDEA-3709] Send input type with play API message ([#232](https://github.com/Vidyard/vidyard-player-sdk/pull/232))

## [4.3.17] - 2025-10-27
- Send message with origin during player initialization [IDEA-3100] ([#230](https://github.com/Vidyard/vidyard-player-sdk/pull/230))

## [4.3.16] - 2024-11-27
- Add is_ai_video to player metadata types [NOVA-1205] ([#223](https://github.com/Vidyard/vidyard-player-sdk/pull/223))

## [4.3.15] - 2024-05-27
- [CRT-1534] Bug Fix - Events not emitting on 100% video completion ([#220](https://github.com/Vidyard/vidyard-player-sdk/pull/220))

## [4.3.14] - 2023-08-28
- Allow "clipboard-write" permission policy for iframes [FOX-463] ([#218](https://github.com/Vidyard/vidyard-player-sdk/pull/218))

## [4.3.13] - 2023-06-19
- Fix progress events for multiple players [FOX-599] ([#216](https://github.com/Vidyard/vidyard-player-sdk/pull/216))

## [4.3.12] - 2023-03-23
- [FOX-346] Progress events incorrect behaviour ([#213](https://github.com/Vidyard/vidyard-player-sdk/pull/213))

## [4.3.11] - 2022-08-02
- Fix duplicate players sharing events [FOX-362] ([#210](https://github.com/Vidyard/vidyard-player-sdk/pull/210))

## [4.3.10] - 2022-08-02
- Fix showLightbox error [PLT-549] ([#207](https://github.com/Vidyard/vidyard-player-sdk/pull/207))

## [4.3.9] - 2022-07-19
- [DEV-ONLY] Use Access Token from our designated CI/CD npm account to log in [GUILD-635] [(#205)](https://github.com/Vidyard/vidyard-player-sdk/pull/205)

## [4.3.8] - 2022-07-15
- [DEV-ONLY] Purge fastly cache in CI [GUILD-635] [(#202)](https://github.com/Vidyard/vidyard-player-sdk/pull/202)
- [DEV-ONLY] Move pulish step from Drone to GHA [GUILD-635] [(#201)](https://github.com/Vidyard/vidyard-player-sdk/pull/201)
- [DEV-ONLY] Modify Dockerfile and start-up script [GUILD-635] [(#200)](https://github.com/Vidyard/vidyard-player-sdk/pull/200)
- [DEV-ONLY] Move Image building, jest and lint check from drone to GHA [GUILD-635] [(#198)](https://github.com/Vidyard/vidyard-player-sdk/pull/198)

## [4.3.7] - 2022-06-16
- Add `undefined` check for `injectBacklink` [(#197)](https://github.com/Vidyard/vidyard-player-sdk/pull/197)

## [4.3.6] - 2022-05-18
- Allow progressEvents to be called before the player ready event

## [4.3.5] - 2022-05-10
- Handle multiple videos better in progressEvents

## [4.3.4] - 2022-05-04
- Update package.json repository and homepage links

## [4.3.3] - 2022-04-27
- Handle undefined metadata in progressEvents

## [4.3.2] - 2022-04-25
- Fixes progressEvents callback API for POMO

## [4.3.1] - 2022-03-31
- New release to fix 4.3.0 missing the build on npm

## [4.3.0] - 2022-04-06
- Added 2 new methods `playVideoAtIndex(index)` and `getCurrentVideoIndex()`.
- Modified `addEvent({ start = 0, duration = 1, chapterIndex = 0, eventId })`'s function signature to `addEvent({ start = 0, duration = 1, videoIndex, chapterIndex, eventId })`. To ensure backwards compatibility, the function's logic will default the index of the video to which the event is added, to 0.
- Added new player event `videoComplete`.
[(#181)](https://github.com/Vidyard/vidyard-player-sdk/pull/181)

## [4.2.40] - 2022-03-31
- Add `https:` as the protocol for placeholder images. Chrome Extension needs this specified.
[(#180)](https://github.com/Vidyard/vidyard-player-sdk/pull/180)

## [4.2.39] - 2022-03-23
- Add `pomo_reason=fetchMetaData` as a query parameter to the metadata request for unsupported
platforms. [(#177)](https://github.com/Vidyard/vidyard-player-sdk/pull/177)

## [4.2.38] - 2022-01-11
- Add video section API methods [(#172)](https://github.com/Vidyard/vidyard-player-sdk/pull/172)

## [4.2.37] - 2021-12-09
- Modify lightbox autoplay behavior to only autoplay if the player is set to Autoplay instead of doing it by default. [(#168)](https://github.com/Vidyard/vidyard-player-sdk/pull/168)

## [4.2.36] - 2021-09-20
- Added `metadata` event, triggered when player metadata is ready/updated
- Player iframe title title now uses video name for screen reader accessibility [(#158)](https://github.com/Vidyard/vidyard-player-sdk/pull/158)
## [4.2.35] - 2021-09-20
- Remove Backlink On Hubpsot Domains [(#165)](https://github.com/Vidyard/vidyard-player-sdk/pull/165)

## [4.2.34] - 2021-09-17
- Fix accessibility issue by changing the aria role to `region` [(#162)](https://github.com/Vidyard/vidyard-player-sdk/pull/162)
- Powered By Vidyard backlink tweaks [(#164)](https://github.com/Vidyard/vidyard-player-sdk/pull/164)

## [4.2.33] - 2021-09-13
- Add Powered by Vidyard backlink to free players [(#159)](https://github.com/Vidyard/vidyard-player-sdk/pull/159)

## [4.2.32] - 2021-09-07
- Add `lightboxClose` event
- Add public method `trigger(eventName: string)` to `Player` class, to call all registered callbacks for a particular event
- Call `player.trigger('lightboxClose')` in `LightboxAnimator.setupAnimations` (from the private function `removeLightbox` )
[#(157)](https://github.com/Vidyard/vidyard-player-sdk/pull/157)

## [4.2.31] - 2021-06-30
### Changed
- Fix Player Renders Within Shadow Boundaries [(#154)](https://github.com/Vidyard/vidyard-player-sdk/pull/154)

## [4.2.30] - 2021-03-08
### Changed
- Fix lightbox tabbing/accessibility on iOS [(#148)](https://github.com/Vidyard/vidyard-player-sdk/pull/148)

## [4.2.29] - 2021-02-18
### Changed
- Remove reference to v3 [(#146)](https://github.com/Vidyard/vidyard-player-sdk/pull/146)

## [4.2.28] - 2021-01-28
### Changed
- Replaced Aria Role application with none [(#144)](https://github.com/Vidyard/vidyard-player-sdk/pull/144)

## [4.2.27] - 2020-01-02
### Changed
- Title and aria-label text changes [(#142)](https://github.com/Vidyard/vidyard-player-sdk/pull/142)

## [4.2.26] - 2020-10-28
### Fixed
- IE11 lightbox not closing [(#139)](https://github.com/Vidyard/vidyard-player-sdk/pull/139)

## [4.2.25] - 2020-10-5
### Fixed
- Specify Referrer Policy [(#137)](https://github.com/Vidyard/vidyard-player-sdk/pull/137)

## [4.2.24] - 2020-8-31
### Changed
- Keep focus inside lightbox players [(#134)](https://github.com/Vidyard/vidyard-player-sdk/pull/134)
- Improve lightbox aria-label [(#135)](https://github.com/Vidyard/vidyard-player-sdk/pull/135)

## [4.2.23] - 2020-3-17
### Fixed
- Fix playbackurl override on JSONP requests [(#114)](https://github.com/Vidyard/vidyard-player-sdk/pull/114)
- Explicit `.prettierrc` file [(#112)](https://github.com/Vidyard/vidyard-player-sdk/pull/112)
- TypeScript type definitions for `playerLoadId` and `videoId` events on the player model [(#113)](https://github.com/Vidyard/vidyard-player-sdk/pull/113/)
- Prefer server image to on-page placeholder [(#117)](https://github.com/Vidyard/vidyard-player-sdk/pull/117)

### Added
- Local testing page for `max-width` and `max-height` development [(#116)](https://github.com/Vidyard/vidyard-player-sdk/pull/116)
- Local testing page for `renderPlayer` with options object [(#111)](https://github.com/Vidyard/vidyard-player-sdk/pull/111)

## [4.2.21] - 2020-1-15
### Fixed
- Update Readme [(#104)](https://github.com/Vidyard/vidyard-player-sdk/pull/104)
- Fix Readme example [(#107)](https://github.com/Vidyard/vidyard-player-sdk/pull/104)
- Remove progress events dependency [(#108)](https://github.com/Vidyard/vidyard-player-sdk/pull/108)

## [4.2.20] - 2019-12-17
### Added
- GDPR example [(#100)](https://github.com/Vidyard/vidyard-player-sdk/pull/100)
- License file [(#98)](https://github.com/Vidyard/vidyard-player-sdk/pull/98)
- toggleClass helper [(#103)](https://github.com/Vidyard/vidyard-player-sdk/pull/103)

### Fixed
- More graceful resizing for playlist_always_open [(#101)](https://github.com/Vidyard/vidyard-player-sdk/pull/101)

## [4.2.19] - 2019-12-03
### Added
- `getPlayerMetadata` API to get metadata about an unrendered player [(#99)](https://github.com/Vidyard/vidyard-player-sdk/pull/99)).

### Fixed
- Only load Eloqua tracking script when GDPR consent is given [(#97)](https://github.com/Vidyard/vidyard-player-sdk/pull/97)

## [4.2.18] - 2019-11-12
### Changed
- Update all ES3 code to TypeScript + Add Types [(#95)](https://github.com/Vidyard/vidyard-player-sdk/pull/95)

### Fixed
- Remove dashes from jsonp request ids [(#96)](https://github.com/Vidyard/vidyard-player-sdk/pull/96)

## [4.2.17] - 2019-11-05
### Changed
- Extract call of ready listeners from renderer to `add-ready-listener` [(#93)](https://github.com/Vidyard/vidyard-player-sdk/pull/93)
- Extract inline player rendering from renderer to `controllers/inline-player` [(#93)](https://github.com/Vidyard/vidyard-player-sdk/pull/93)
- Extract integration initialization from renderer to `controllers/integrations` [(#93)](https://github.com/Vidyard/vidyard-player-sdk/pull/93)
- Extract lightbox player rendering from renderer to `controllers/lightbox-player` [(#93)](https://github.com/Vidyard/vidyard-player-sdk/pull/93)
- Extract SEO setup from render to `controllers/seo` [(#93)](https://github.com/Vidyard/vidyard-player-sdk/pull/93<Paste>)
- Refactored DataParams to a TypeScript class [(#92)](https://github.com/Vidyard/vidyard-player-sdk/pull/92)

## Fixed
- IE11 Fullscreen Sizing bug [(#94)](https://github.com/Vidyard/vidyard-player-sdk/pull/94)

## [4.2.16] - 2019-10-15
### Fixed
- Improved cross-browser compatibility for `fullScreenChange` [(#91)](https://github.com/Vidyard/vidyard-player-sdk/pull/91)

## [4.2.15] - 2019-10-08
### Fixed
- `player.toggleFullscreen` no longer throws errors [(#86)](https://github.com/Vidyard/vidyard-player-sdk/pull/86)
- Better support for iOS Safari fullscreen methods [(#88)](https://github.com/Vidyard/vidyard-player-sdk/pull/88)
- Esc key to close the lightbox [(#87)](https://github.com/Vidyard/vidyard-player-sdk/pull/87)

### Changed
- Remove Act-On integration [(#85)](https://github.com/Vidyard/vidyard-player-sdk/pull/85)
- Return player ready for lightbox embeds right away instead of waiting for the lightbox to open [(#89)](https://github.com/Vidyard/vidyard-player-sdk/pull/89)
- Listen to `fullScreenChange` post message instead of `exitFullscreen` [(#90)](https://github.com/Vidyard/vidyard-player-sdk/pull/90)

## [4.2.14] - 2019-08-22
### Added
- `data-overlayzindex` parameter to specify the zindex value for the lightbox elements [(#79)](https://github.com/Vidyard/vidyard-player-sdk/pull/79)
- New permissions for the player iframe [(#83)](https://github.com/Vidyard/vidyard-player-sdk/pull/83)

### Fixed
- Focus on the lightbox close button when lightbox is opened [(#80)](https://github.com/Vidyard/vidyard-player-sdk/pull/80)
- Return focus when lightbox is closed [(#80)](https://github.com/Vidyard/vidyard-player-sdk/pull/80)
- Revise lightbox sizing based on document aspect ratio [(#81)](https://github.com/Vidyard/vidyard-player-sdk/pull/81)
- Guard console usage in debug mode [(#82)](https://github.com/Vidyard/vidyard-player-sdk/pull/82)

## [4.2.13] - 2019-06-27
### Added
- `player.scrubbing()` method that returns a boolean representing whether the player is currently seeking [(#78)](https://github.com/Vidyard/vidyard-player-sdk/pull/78)

## [4.2.12] - 2019-05-15
### Fixed
- CSS Lightbox button style ([#76](https://github.com/Vidyard/vidyard-player-sdk/pull/76))
- JS `getCurrentScript` error ([#77](https://github.com/Vidyard/vidyard-player-sdk/pull/77))

## [4.2.11] - 2019-03-26
### Added
- `_debug.setPlaybackURL` new public method to override the playback URL configuration ([#75](https://github.com/Vidyard/vidyard-player-sdk/pull/75))
- `_debug.setPlaybackURL` new public method to read the playback URL configuration ([#75](https://github.com/Vidyard/vidyard-player-sdk/pull/75))

### Changed
- Extract static configuration variables into `constants.ts` ([#75](https://github.com/Vidyard/vidyard-player-sdk/pull/75))
- Change `PLAYBACK_URL` into a dynamic call `getPlaybackURL` ([#75](https://github.com/Vidyard/vidyard-player-sdk/pull/75))
- Change `BASE_URL` into a dynamic call `getBaseURL` ([#75](https://github.com/Vidyard/vidyard-player-sdk/pull/75))
- Change `ERROR_URL` into a dynamic call `getErrorURL` ([#75](https://github.com/Vidyard/vidyard-player-sdk/pull/75))
- Remove `EmbedHelpers.forEach` in favour of native `Array.forEach` ([#72](https://github.com/Vidyard/vidyard-player-sdk/pull/72))

### Fixed
- Bring back the default export to `index.module` ([#75](https://github.com/Vidyard/vidyard-player-sdk/pull/75))
- Improved lightbox close button [PLAY-1382] ([#69](https://github.com/Vidyard/vidyard-player-sdk/pull/69))

## [4.2.10] - 2019-03-20
### Changed
- New deploy process, upload builds to S3 ([#70](https://github.com/Vidyard/vidyard-player-sdk/pull/70))
- Drone deploy task via `/drone_deploy` ([#74](https://github.com/Vidyard/vidyard-player-sdk/pull/74))

### Added
- Client side conditional logging using `vydebug=1` ([#71](https://github.com/Vidyard/vidyard-player-sdk/pull/71))

## [4.2.9] - 2019-01-31
### Fixes
- `api.consentToGDPR` bug, called incorrect methods on the player model that was changed in the refactoring [(#57)](https://github.com/Vidyard/vidyard-player-sdk/pull/57)

### Changed
- Loosened the types on the lightbox related dynamic objects [(#57)](https://github.com/Vidyard/vidyard-player-sdk/pull/57)

### Added
- `pomo=1` query param to the iframe when the embed if of type `chat` [(#58)](https://github.com/Vidyard/vidyard-player-sdk/pull/58)
- TypeScript type definitions to the globals that we export / use [(#57)](https://github.com/Vidyard/vidyard-player-sdk/pull/57)
- `vidyard-global.ts` file to encapsulate the logic and types of `window.Vidyard` global [(#57)](https://github.com/Vidyard/vidyard-player-sdk/pull/57)
- Missing types (`org`, `_tmpOrg`) to VidyardPlayer model [(#57)](https://github.com/Vidyard/vidyard-player-sdk/pull/57)

## [4.2.8] - 2019-01-29
### Fixed
- Remove the redundant check for embed type in `injectInlineElements` [(#56)](https://github.com/Vidyard/vidyard-player-sdk/pull/56)
- Error Cannot read property 'chapterIndex' of undefined [(#55)](https://github.com/Vidyard/vidyard-player-sdk/pull/55)

### Changed
- expands the Feature-Policy that we set on the iframe [(#56)](https://github.com/Vidyard/vidyard-player-sdk/pull/56)
  - `autoplay` - to allows autoplay
  - `fullscreen` - newer API that replaces `allowfullscreen`
  - `picture-in-picture` - allows the browser to take the video element into Pip mode
  - `camera` - allows access to the camera, only for the `chat` embed type
  - `microphone` - allows access to the microphone, only for the `chat` embed type

### Added
- `chat` embed type, an inline embed that has additional Feature-Policy allowances [(#56)](https://github.com/Vidyard/vidyard-player-sdk/pull/56)

## [4.2.7] - 2019-01-25
### Changed
- Check for both Player and iFrame loads to hide the placeholder [(#54)](https://github.com/Vidyard/vidyard-player-sdk/pull/54)
- Refactor the VidyardPlayer model to use a class syntax [(#50)](https://github.com/Vidyard/vidyard-player-sdk/pull/50)
- Update VidyardPlayer specs [(#50)](https://github.com/Vidyard/vidyard-player-sdk/pull/50)

### Added
- Type definitions to VidyardPlayer [(#50)](https://github.com/Vidyard/vidyard-player-sdk/pull/50)
- Missing VidyardPlayer specs [(#50)](https://github.com/Vidyard/vidyard-player-sdk/pull/50)

## [4.2.6] - 2019-01-16
### Fixed
- Hide the placeholder when the player is ready instead of relying on iframe load state [(#49)](https://github.com/Vidyard/vidyard-player-sdk/pull/49)
- Error logger bugfix Cannot read property 'match' of error.stack [(#52)](https://github.com/Vidyard/vidyard-player-sdk/pull/52)
- JSONP remove tag bug [(#51)](https://github.com/Vidyard/vidyard-player-sdk/pull/51)

### Added
- Promise shim, yields native promise if exists polyfill otherwise [(#53)](https://github.com/Vidyard/vidyard-player-sdk/pull/53)

### Changed
- Error reports in Rollbar to be grouped by error name [(#52)](https://github.com/Vidyard/vidyard-player-sdk/pull/52)

## [4.2.5] - 2018-12-19
### Fixed
- Better interoperability between Embed V3 and V4 [(#47)](https://github.com/Vidyard/vidyard-player-sdk/pull/47)

## [4.2.4] - 2018-11-16
### Fixed
- Better lightbox CSS for pages that don't have a valid Doctype [(#44)](https://github.com/Vidyard/vidyard-player-sdk/pull/44)
- Fix Marekto form prefills [(#48)](https://github.com/Vidyard/vidyard-player-sdk/pull/48)
- Fix Single Calls of Player Events [(#45)](https://github.com/Vidyard/vidyard-player-sdk/pull/45)

## [4.2.3] - 2018-11-09
### Fixed
- Fix vyemail bug that prevented data-vyemail to be added to the iframe [(#46)](https://github.com/Vidyard/vidyard-player-sdk/pull/46)

## [4.2.2] - 2018-10-18
### Added
- `api.destroyPlayer(player)` [(#26)](https://github.com/Vidyard/vidyard-player-sdk/pull/26)
- `api.progressEvents` is now being proxied to store the cleanup callbacks [(#26)](https://github.com/Vidyard/vidyard-player-sdk/pull/26)

## [4.2.1] - 2018-10-18
### Added
- Log Unhandled Rejections [(#40)](https://github.com/Vidyard/vidyard-player-sdk/pull/40)

### Fixed
- Remove console warning for `gesture="media"` [(#40)](https://github.com/Vidyard/vidyard-player-sdk/pull/40)
- Set iFrame container dimensions before onload [(#41)](https://github.com/Vidyard/vidyard-player-sdk/pull/41)
- Data parameters that were overwritten by query string parameters [(#43)](https://github.com/Vidyard/vidyard-player-sdk/pull/43)
- Lost JSONP response callbacks for duplicate players [(#42)](https://github.com/Vidyard/vidyard-player-sdk/pull/42)

## [4.2.0] - 2018-10-16
## Changed
- Redesign the lightbox background and close button [(#34)](https://github.com/Vidyard/vidyard-player-sdk/pull/34)

## [4.1.5] - 2018-10-16
## Added
- Add `player.setPlaybackSpeed` API [(#38)](https://github.com/Vidyard/vidyard-player-sdk/pull/38)

## Changed
- Remove jsonp `script` tags from DOM once parsed [(#37)](https://github.com/Vidyard/vidyard-player-sdk/pull/37)

## [4.1.4] - 2018-10-09
## Changed
- Export named members for the api, player and version from the UMD module
- Update the module example page to match actual usage

## [4.1.3] - 2018-09-21
## Added
- Logs runtime errors to `play.vidyard.com/v4/error`

## Changed
- api.addReadyListener will call the provided callback only once

## [4.1.2] - 2018-09-17
## Added
- Support for vy query params on the parent page URL: vysfid, vyetoken, vyemail

## [4.1.1] - 2018-09-10
## Changed
- Fix extra vertical space added for lightboxes by inline-block [(#28)](https://github.com/Vidyard/vidyard-player-sdk/pull/28).
- Report Script Version to Analytics [(#29)](https://github.com/Vidyard/vidyard-player-sdk/pull/29)
- Only minimize the script target, keep umd as bundled but unminimized.
- Change the emitted file names from `vidyard-embed-script.js` to `v4.js` and `vidyar-embed-module.js` to `v4.umd.js` to better match the public URLs.
- Adjust Webpack settings.
- Update Changelog.
- Bump package version.

## [4.1.0] - 2018-08-02
### Added
- ProgressEvents API method
- API play example page
- Progress Events example page
- Public API documentation in Readme

## [4.0.11] - 2018-07-19
### Fixed
- Request `getMarketoLead ` only if `integrations.getCookie('marketo')` is truthy [(#21)](https://github.com/Vidyard/vidyard-player-sdk/pull/21).

### Changed
- Refactor `jsonp.ts` to use and return promises [(#21)](https://github.com/Vidyard/vidyard-player-sdk/pull/21).
- Extract additional constants to `config.ts` [(#21)](https://github.com/Vidyard/vidyard-player-sdk/pull/21).
- Extract the creation of the container div into a new module `views/container.ts` [(#21)](https://github.com/Vidyard/vidyard-player-sdk/pull/21).
- Export named exports from `models/markup-injector.ts` update imports in tests and renderer [(#21)](https://github.com/Vidyard/vidyard-player-sdk/pull/21).
- Refactor `renderPlayer` in `models/renderer.ts` [(#21)](https://github.com/Vidyard/vidyard-player-sdk/pull/21).
- Use new `JSONP` methods with Promises [(#21)](https://github.com/Vidyard/vidyard-player-sdk/pull/21).

### Added
- Embed Code README [(#22)](https://github.com/Vidyard/vidyard-player-sdk/pull/22).
- Embed Code CHANGELOG [(#22)](https://github.com/Vidyard/vidyard-player-sdk/pull/22).
- Add `checkJSONParse` helper in `utils/embed-helpers.ts` to use a promise based `JSON.parse` [(#21)](https://github.com/Vidyard/vidyard-player-sdk/pull/21).

## [4.0.10] - 2018-07-09
### Fixed
- Call the `onVidyardAPI` callback after Document Sweep [(#20)](https://github.com/Vidyard/vidyard-player-sdk/pull/20).

### Changed
- `dispatchReady` to `renderer.ts` [(#20)](https://github.com/Vidyard/vidyard-player-sdk/pull/20).
- make sure `dispatchReady` is only executed `once` [(#20)](https://github.com/Vidyard/vidyard-player-sdk/pull/20).

### Added
- Example page to test for this [(#20)](https://github.com/Vidyard/vidyard-player-sdk/pull/20).

## [4.0.9] - 2018-07-06
### Added
- `window.VIDYARD_PLYABACK_URL` global check to override playback URL config [(#19)](https://github.com/Vidyard/vidyard-player-sdk/pull/19).

## [4.0.8] - 2018-07-06
### Fixed
- Placeholder image Flicker on `api.renderPlayer` [(#17)](https://github.com/Vidyard/vidyard-player-sdk/pull/17).

## [4.0.7] - 2018-07-04
### Fixed
- `getPlayersByUUID` method, the bug is due to players[player] returning undefined because player is not an index [(#16)](https://github.com/Vidyard/vidyard-player-sdk/pull/16).

### Added
- Specs for `getPlayersByUUID` [(#16)](https://github.com/Vidyard/vidyard-player-sdk/pull/16).

## [4.0.6] - 2018-07-04
### Added
- Bundle `promise-polyfill` to make this happen [(#14)](https://github.com/Vidyard/vidyard-player-sdk/pull/14).
- `placeholder.ts` the model that governs the creation and loading of placeholder images [(#14)](https://github.com/Vidyard/vidyard-player-sdk/pull/14).
- `VidyardV4.api.renderDOMPlayers(container = document)` which would sweep the document for all placeholder images and render all of them into players. This method accepts a `container` parameter that allows to scope the rendering of players , and if nothing is given it would default to `document` [(#15)](https://github.com/Vidyard/vidyard-player-sdk/pull/15).
- Export the API on the library module `vidyardEmbed` and `VidyardV4` [(#15)](https://github.com/Vidyard/vidyard-player-sdk/pull/15).

### Changed
- `api.renderPlayer` returns a promise when the player is ready, instead of the player object [(#14)](https://github.com/Vidyard/vidyard-player-sdk/pull/14).
- The `player` object is resolved only when the `iframe` has loaded and the player is ready [(#14)](https://github.com/Vidyard/vidyard-player-sdk/pull/14).
- `api.renderPlayer` can accept a not loaded image as the placeholder [(#14)](https://github.com/Vidyard/vidyard-player-sdk/pull/14).
- `api.renderPlayer` can accept a data object instead of placeholder image [(#14)](https://github.com/Vidyard/vidyard-player-sdk/pull/14).
- `index.ts` to `vidyard-embed-script.js` - auto executing embed script, intended to be used in a `<script>` tag and `vidyard-embed-module.js` - UMD module with no auto execution, intended to be imported in as an NPM module but also can work as a `<script>` tag [(#15)](https://github.com/Vidyard/vidyard-player-sdk/pull/15).
- Split the Webpack config to a multi configuration for each library target [(#15)](https://github.com/Vidyard/vidyard-player-sdk/pull/15).

## [0.0.5] - 2018-06-26
### Added
- `VidyardPlayer.addEvent` method [(#12)](https://github.com/Vidyard/vidyard-player-sdk/pull/12).
- Default parameter to `EmbedHelpers.addListener`, make `tsc` happy [(#12)](https://github.com/Vidyard/vidyard-player-sdk/pull/12).
- Option to override `PLAYBACK_URL` [(#13)](https://github.com/Vidyard/vidyard-player-sdk/pull/13).
- `getCurrentScript` helper, with an IE fallback [(#13)](https://github.com/Vidyard/vidyard-player-sdk/pull/13).
- `toArray` helper to transform `HTMLCollections` to proper Arrays [(#13)](https://github.com/Vidyard/vidyard-player-sdk/pull/13).
- Check for `data-playbackurl` on the embed script tag [(#13)](https://github.com/Vidyard/vidyard-player-sdk/pull/13).

### Changed
- `vidyard-player.ts` to modern JS, makes lint almost happy [(#12)](https://github.com/Vidyard/vidyard-player-sdk/pull/12).
- `FrameMessenger` to named exports and modern JS, update all imported references [(#12)](https://github.com/Vidyard/vidyard-player-sdk/pull/12).
- Prettier on Vidyard player tests [(#12)](https://github.com/Vidyard/vidyard-player-sdk/pull/12).

## [0.0.4] - 2018-06-20
### Added
- Production Settings [(#10)](https://github.com/Vidyard/vidyard-player-sdk/pull/10).
- New development dependencies `clean-webpack-plugin`, `style-loader`, `css-loader` and `webpack-merge`.
- Migrate the `lightbox.css` file, load it via webpack.
- Package repository info.
- Migrate Code + Add Publish Script [(#11)](https://github.com/Vidyard/vidyard-player-sdk/pull/11).
- Copy over the changes to `lightbox-page-thumbnail`, `renderer` and `embed-helpers` [(#11)](https://github.com/Vidyard/vidyard-player-sdk/pull/11).
- `jest-css-modules-transform` for jest to run tests with css modules [(#11)](https://github.com/Vidyard/vidyard-player-sdk/pull/11).
- `publish.sh` script [(#11)](https://github.com/Vidyard/vidyard-player-sdk/pull/11).

### Changed
- Bumps the compilation target to ES5 from ES3, we now support IE9+ only.
- Split the webpack config to 3 parts: `common`, `dev `and `prod`.
- Jest snapshots.

## [0.0.2] - 2018-06-18
### Added
- Typescript and Webpack Setup [(#2)](https://github.com/Vidyard/vidyard-player-sdk/pull/2).
- Typescript Linting [(#3)](https://github.com/Vidyard/vidyard-player-sdk/pull/3).
- Migrate Code [(#4)](https://github.com/Vidyard/vidyard-player-sdk/pull/4).
- Additional testing related packages, HTML serializer and JSDOM [(#5)](https://github.com/Vidyard/vidyard-player-sdk/pull/5).
- Migrate the mock image test helper [(#5)](https://github.com/Vidyard/vidyard-player-sdk/pull/5).
- Webpack Dev Server [(#7)](https://github.com/Vidyard/vidyard-player-sdk/pull/7).
- `webpack-serve` does the serving [(#7)](https://github.com/Vidyard/vidyard-player-sdk/pull/7).
- `public/index.html` the document to serve, has a placeholder player in it [(#7)](https://github.com/Vidyard/vidyard-player-sdk/pull/7).
- Webpack exposes `PLAYBACK_URL`, this would need to be tweaked for staging environments [(#7)](https://github.com/Vidyard/vidyard-player-sdk/pull/7).
- `test:watch` script to run jest in watch mode [(#8)](https://github.com/Vidyard/vidyard-player-sdk/pull/8).
- `API` folder and extract all of the `VidyardV4` object creation into it [(#8)](https://github.com/Vidyard/vidyard-player-sdk/pull/8).
- Add script version to Global and bugfix [(#9)](https://github.com/Vidyard/vidyard-player-sdk/pull/9).
- Webpack now reads the version and passes it to the `DefinePlugin` [(#9)](https://github.com/Vidyard/vidyard-player-sdk/pull/9).

### Changed
- Modules to ES Modules [(#5)](https://github.com/Vidyard/vidyard-player-sdk/pull/5).
- `root.js` to `index.ts` [(#5)](https://github.com/Vidyard/vidyard-player-sdk/pull/5).
- All `js` extensions to `ts` [(#5)](https://github.com/Vidyard/vidyard-player-sdk/pull/5).
- All `requires` to `imports` [(#5)](https://github.com/Vidyard/vidyard-player-sdk/pull/5).
- test files to match the path of the source code [(#5)](https://github.com/Vidyard/vidyard-player-sdk/pull/5).
- Update jest config and script [(#5)](https://github.com/Vidyard/vidyard-player-sdk/pull/5).
- Move Build Scripts to Root Package.json [(#6)](https://github.com/Vidyard/vidyard-player-sdk/pull/6).
- `devDependencies` to the root package file [(#6)](https://github.com/Vidyard/vidyard-player-sdk/pull/6).
- Scripts to reference the new paths of `packages/embed-code` [(#6)](https://github.com/Vidyard/vidyard-player-sdk/pull/6).
- `context` setting to the webpack config so it can find the entry file [(#6)](https://github.com/Vidyard/vidyard-player-sdk/pull/6).
- Refactoring from ES3 [(#8)](https://github.com/Vidyard/vidyard-player-sdk/pull/8).
- `EmbedHelpers` to named exported modules, better syntax [(#8)](https://github.com/Vidyard/vidyard-player-sdk/pull/8).
- Bug fix in Renderer [(#9)](https://github.com/Vidyard/vidyard-player-sdk/pull/9).

### Fixed
- Webpack / TSC bundling issues [(#7)](https://github.com/Vidyard/vidyard-player-sdk/pull/7).
- Fix `crossOrigin` bug in `preload` links.

## [0.0.1] - 2018-06-08
### Added
- Add Monorepo Structure [(#1)](https://github.com/Vidyard/vidyard-player-sdk/pull/1).
