diff --git a/.github/issue_template.md b/.github/issue_template.md
index 54f4550b..44e1fcbf 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -1,3 +1,3 @@
PLEASE USE OUR SPECIFIC ISSUE TEMPLATES for bug reports, features and improvement suggestions.
-Our issue tracker is not for support questions. If you need help, follow our support instructions: https://github.com/sampotts/plyr/blob/master/contributing.md#support
+Our issue tracker is not for support questions. If you need help, follow our support instructions: https://github.com/sampotts/plyr/blob/master/CONTRIBUTING.md#support
diff --git a/.npmignore b/.npmignore
index 34fa1755..1caa61f0 100644
--- a/.npmignore
+++ b/.npmignore
@@ -9,4 +9,4 @@ yarn.lock
package-lock.json
*.mp4
*.webm
-!dist/blank.mp4
\ No newline at end of file
+!dist/blank.mp4
diff --git a/.nvmrc b/.nvmrc
index 12591bdf..4e8c43e7 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-v13.8.0
\ No newline at end of file
+v13.8.0
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..d73b6dcf
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,1157 @@
+## v3.6.0
+
+- You can now easily change colors using CSS Custom Properties.
+
+### v3.5.10
+
+- iOS volume display fix
+
+### v3.5.9
+
+- Fix for regression with volume control width
+- Ensure poster image is not downloaded again for HTML5 videos
+
+### v3.5.8
+
+- Added `flex-direction` property to fix some issues introduced in v3.5.7 when using custom CSS
+- Cleaned up the organisation of some of the SCSS files (should not effect CSS output)
+- Added `referrerPolicy` option for Vimeo to prevent an issue present in the demo site
+- Remove all Vimeo controls for Pro & Premium accounts
+- Improve thumbnail size calculations when size is set per css (thanks @ydylla)
+- Add previewThumbnails source setter (thanks @ydylla)
+- More speed setting logic improvements
+
+### v3.5.7
+
+- Typescript typings (thanks @ondratra)
+- `togglePlay` now also returns a `Promise` (thanks @azizhk)
+- Documentation improvements and typo fixes (thanks @ffpetrovic, @skerbis, @ayunami2000, @pjbaert, @MaxGiting, @0xflotus and @thatrobotdev)
+- Accessibility tweak for the play button (thanks @lunika)
+- Fix for ads configuration (thanks @SoftCreatR)
+- Fix handling listener return value (thanks @taion)
+- Added localisation key for PIP (picture-in-picture) (thanks @lmislm)
+- Preserve viewBox attribute in SVG sprite symbols (thanks @bseib)
+- Fix being unable to unmute autoplayed video on iOS (thanks @sumanbh)
+- Fixed Plyr container not resizing responsively (thanks @shravan2x)
+- Change vimeo demo video (thanks @thatrobotdev)
+- Fix for `Uncaught RangeError: Maximum call stack size exceeded` (thanks @laukstein)
+- Improve fullscreen experience on some devices (thanks @savroff)
+- Improvements to buffering state for embedded players (thanks @doostinharrell)
+- Prevents IE11 with resetOnEnd option set to true to play video again (thanks @Felipe K. De Boni)
+- Fix for multiple poster image downloads (use the native poster only for HTML5 videos)
+- Various presentational fixes
+- Removed logic to hide/show volume controls based on audio track detection due to it's problematic nature. If you want to hide volume control, use the `controls` option to do so.
+- Fix preview thumbnail scrubbing not working on mobile touch devices (thanks @ydylla)
+- Add download attribute to download button (thanks @Code1110)
+- Trap keyboard focus only when fullscreen (thanks @k-jensen)
+- Improvements to speed options - you can now specify all options in the UI (YouTube and Vimeo only accept 0.5-2) (thanks @ydylla)
+- Improve/fix quality change state restoring (thanks @ydylla)
+
+_Note:_ This update contains CSS changes.
+
+### v3.5.6
+
+- Another Edge fix (thanks Nick Hawk via Slack)
+
+### v3.5.5
+
+- YouTube fix for when there are other embeds on the page (thanks @aFarkas)
+- Separated demo dependencies into their own package.json
+- Fix for Edge controls flexbox issue when resizing the player (thanks Nick Hawk via Slack)
+- More aspect ratio fixes
+
+### v3.5.4
+
+- Added: Set download URL via new setter
+- Improvement: The order of the `controls` option now effects the order in the DOM - i.e. you can re-order the controls - Note: this may break any custom CSS you have setup. Please see the changes in the PR to the default SASS
+- Fixed issue with empty controls and preview thumbs
+- Fixed issue with setGutter call (from Sentry)
+- Fixed issue with initial selected speed not working
+- Added notes on `autoplay` config option and browser compatibility
+- Fixed issue with ads volume not matching current content volume
+- Fixed race condition where ads were loading during source change
+- Improvement: Automatic aspect ratio for YouTube is now supported, meaning all aspect ratios are set based on media content - Note: we're now using a different API to get YouTube video metadata so you may need to adjust any CSPs you have setup
+- Fix for menu in the Shadow DOM (thanks @emielbeinema)
+
+### v3.5.3
+
+- Improved the usage of the `ratio` config option; it now works as expected and for all video types. The default has not changed, it is to dynamically, where possible (except YouTube where 16:9 is used) determine the ratio from the media source so this is not a breaking change.
+- Added new `ratio` getter and setter
+- Fix: Properly clear all timeouts on destroy
+- Fix: Allow absolute paths in preview thumbnails
+- Improvement: Allow optional hours and ms in VTT parser in preview thumbnails
+
+### v3.5.2
+
+- Fixed issue where the preview thumbnail was present while scrubbing
+
+### v3.5.1
+
+- Fixed build issues with babel and browserslist
+
+## v3.5.0
+
+- Preview seek/scrubbing thumbnails (thanks @jamesoflol)
+- Fixes for proxy listeners (thanks @gurupras)
+- Fix for buffer progress transition on WebKit (thanks @samuelgozi)
+- Fix for error when mime type not specified (fixes #1274)
+- Support YouTube noCookie (thanks Omar Khatib)
+- Add Angular plugin reference (thanks @smnbbrv)
+- Use `Math.trunc` instead of `parseInt` (thanks @taion)
+- Many fixes for fullscreen in embedded players with non 16:9 screens or videos
+- Added 'force' fallback option for fullscreen
+- [RangeTouch](https://rangetouch.com) is now bundled with Plyr as a dependency to fix the scrubber on touch devices
+
+### v3.4.8
+
+- Calling customized controls function with proper arguments (thanks @a60814billy)
+
+### v3.4.7
+
+- Fix for Vimeo fullscreen with non native aspect ratios (fixes #854)
+
+### v3.4.6
+
+- Added picture-in-picture support for Chrome 70+
+- Fixed issue with versioning the SVG sprite in the gulp build script
+
+### v3.4.5
+
+- Added download button option to download either current source or a custom URL you specify in options
+- Prevent immediate hiding of controls on mobile (thanks @jamesoflol)
+- Don't hide controls on focusout event (fixes #1122) (thanks @jamesoflol)
+- Fix HTML5 quality settings being incorrectly set in local storage (thanks @TechGuard)
+
+### v3.4.4
+
+- Fixed issue with double binding for `click` and `touchstart` for `clickToPlay` option
+- Improved "faux" fullscreen on iPhone X/XS phones with notch
+- Babel 7 upgrade (which reduced the polyfilled build by ~10kb!)
+
+### v3.4.3
+
+- Fixed issue with nodeList for custom playback controls
+
+### v3.4.2
+
+- Fix play/pause button state
+
+### v3.4.1
+
+- Bug fix for custom controls (fixes #1161)
+
+## v3.4.0
+
+- Accessibility improvements (see #905)
+- Improvements to the way the controls work on iOS
+- Demo code clean up
+- YouTube quality selection removed due to their poor support for it. As a result, the `qualityrequested` event has been removed
+- Controls spacing improvements
+- Fix for pressed property missing with custom controls (Fixes #1062)
+- Fix #1153: Captions language fallback (thanks @friday)
+- Fix for setting pressed property of undefined (Fixes #1102)
+
+### v3.3.23
+
+- Add support for YouTube's hl param (thanks @renaudleo)
+- Fix for captions positioning when no controls (thanks @friday and @mjfwebb)
+- Fix #1108: Make sure youtube.onReady doesn't run twice (thanks @friday)
+- Fix for WebKit repaint loop on the `` elements
+
+### v3.3.22
+
+- Travis & CI improvements (thanks @friday)
+- Add navigator.languages fallback for iOS 9 (thanks @friday)
+
+### v3.3.21
+
+- Hide currentTime and progress for streams (thanks @mimse)
+- Fixed condition check (thanks @mimse)
+- Handle undefined this.player.elements.buttons.play (thanks @klassicd)
+- Fix captions.toggle() if there is no toggle button (thanks @friday)
+
+### v3.3.20
+
+- Fix for bug where controls wouldn't show on hover over YouTube video
+
+### v3.3.19
+
+- Remove `pointer-events: none` on embed `