# EdgeHTML

EdgeHTML is een layout-engine ontwikkeld door Microsoft en inbegrepen in Windows 10, Windows 10 Mobile en Xbox One. EdgeHTML is een fork en de opvolger van Trident, de layout-engine ontwikkeld voor Internet Explorer dat eveneens in Windows inbegrepen was. EdgeHTML vervangt Trident als de standaard layout-engine in (classic) Microsoft Edge en in Universal Windows Platform-apps. EdgeHTML volgt de webstandaarden beter dan zijn voorganger, Trident.
De huidige versie van Microsoft Edge is gebaseerd op Chromium en gebruikt EdgeHTML niet meer.

## Geschiedenis
### Versieoverzicht

| Versie | Eerste preview | Release | Edge | Windows | Pc | Mobile | Xbox | Server | Reality | Team |
| 12.10240 | 12 november 2014 | 29 juli 2015 | Edge 20 | 10.0.10240 | Ja | Preview | Nee | Preview | Nee | Nee |
| 13.10586 | 18 augustus 2015 | 12 november 2015 | Edge 25 | 10.0.10586 | Ja | Ja | Ja | Preview | Nee | Ja |
| 14.14393 | 13 januari 2016 | 2 augustus 2016 | Edge 38 | 10.0.14393 | Ja | Ja | Ja | Ja | Ja | Ja |
| 15.15063 | 11 augustus 2016 | 5 april 2017 | Edge 40 | 10.0.15063 | Ja | Ja | Ja | Nee | Nee | Ja |
| 16.16299 | 4 mei 2017 | 17 oktober 2017 | Edge 41 | 10.0.16299 | Ja | Nee | Ja | Ja | Nee | Nee |
| 17.17134 | 13 september 2017 | 30 april 2018 | Edge 42 | 10.0.17134 | Ja | Nee | Ja | Ja | Ja | Nee |
| 18.17763 | 4 april 2018 | 2 oktober 2018 | Edge 44 | 10.0.17763 | Ja | Nee | Ja | Ja | Ja | Nee |
| 18.18362 | 25 juli 2018 | 21 mei 2019 | Edge 44 | 10.0.18362 | Ja | Nee | Ja | Ja | Ja | Nee |
| 18.18363 | 26 augustus 2019 | oktober 2019 | Edge 44 | 10.0.18363 | Preview | Nee | Preview | Nee | Nee | Nee |

### EdgeHTML 12

EdgeHTML werd geïntroduceerd in de derde Windows Technical Preview van Windows 10 als een optionele functie in Internet Explorer 11. Sommige Windows Insiders kregen Edge als standaard layout-engine. Degenen die de oude Trident-engine kregen, konden Internet Explorer forceren EdgeHTML te gebruiken. EdgeHTML bevat geen code meer die zorgt voor compatibiliteit met oude webapps en websites ontworpen voor oude versies van Internet Explorer, waardoor de engine minder complex, veiliger en sneller is dan Trident.
In vroege versies van Windows 10 was het de bedoeling dat EdgeHTML zowel door Microsoft Edge als door Internet Explorer zou worden gebruikt, maar daarvan stapte Microsoft later af. Internet Explorer kreeg uitsluitend Trident als rendering engine terwijl Edge voorzien werd van EdgeHTML. Het idee hier achter is om minder verwarring te veroorzaken en dat wanneer een website problemen zou hebben met Edge, Internet Explorer met de Trident-engine kan worden gebruikt. Ook leverde het minder verwarring op tussen Internet Explorer en Edge, aangezien Internet Explorer 12, die wel EdgeHTML gebruikte, geannuleerd werd.
EdgeHTML werd in volgende previews verder uitgebreid met ondersteuning voor nieuwe standaarden en uitgebreidere ondersteuning voor HTML5, CSS3 en JavaScript. Uiteindelijk werd EdgeHTML 12 uitgegeven als onderdeel van Microsoft Edge 20 op 15 juli 2015 als onderdeel van Windows 10 voor Windows Insiders, en werd de engine vervolgens op 29 juli 2015 uitgebracht als onderdeel van de upgrade naar Windows 10 voor gebruikers van Windows 7 en Windows 8.1.

### EdgeHTML 13

Kort na de vrijgave van de update startte Microsoft het werk aan EdgeHTML 13 als onderdeel van de eerste grote update voor Windows 10, de november-update. Deze update bevat onder andere verbeterde ondersteuning voor HTML5 en CSS3. Ook werd de JavaScript-engine Chakra voorzien van ondersteuning voor meer elementen uit de specificatie van ECMAScript 6 en 7. Verder werd ondersteuning voor Object RTC toegevoegd. EdgeHTML 13 werd uitgerold samen met Microsoft Edge 25 in de Windows 10 November Update op 12 november 2015.

### EdgeHTML 14

Op 16 december 2015 gaf Microsoft een eerste versie van de volgende versie van EdgeHTML vrij als versie 13.11082. Op 16 januari 2016 volgde versie 13.11099. Beide versies legde de beginselen voor de implementatie van EdgeHTML 14. Versie 13.11099 bevatte onder andere al verbeterde ondersteuning voor CSS3. Versie 13.14251 en 13.14257 bevatte opnieuw fundamenteel werk voor het implementeren van EdgeHTML 14. Op 18 februari 2016 gaf Microsoft versie 14.14267 vrij met verbeterde ondersteuning voor HTML5, CSS3 en ECMAScript 6 en 7. Latere updates voegden vrijwel niks toe. Op 6 april 2016 gaf Microsoft de eerste grote update vrij als versie 14.14316. Onder andere ondersteuning voor Web Notifications, het Opus-audioformaat en kleurinput werden toegevoegd.
Op 11 april volgde versie 14.14322 voor mobiele gebruikers, dat dezelfde functionaliteit bracht naar Windows 10 Mobile. Op 10 mei gaf Microsoft versie 14.14342 vrij, dat stabiele ondersteuning bevatte voor de Web Notifications-, Beacon- en Fetch-API's. Uiteindelijk werd EdgeHTML 14.14393 vanaf 2 augustus 2016 naar gebruikers uitgerold als onderdeel van de Windows 10 Jubileum-update.

### EdgeHTML 15

Op 11 augustus 2016 gaf Microsoft de eerste testversie van EdgeHTML 15 uit als versie 14.14901. Er werd onder andere ondersteuning voor WebRTC 1.0, WebVR en Content Security Policy 2 toegevoegd, terwijl Adobe Flash standaard uitgeschakeld stond. Uiteindelijk werd EdgeHTML 15.15063 vanaf 5 april 2017 naar gebruikers uitgerold als onderdeel van de Windows 10 Makersupdate.

### EdgeHTML 16

EdgeHTML 16 bevatte vele verbeteringen voor CSS-ondersteuning. Ook werd er ondersteuning toegevoegd voor High Resolution Time Level 3. Uiteindelijk werd EdgeHTML 16.16299 vanaf 17 oktober 2017 naar gebruikers uitgerold als onderdeel van de Windows 10 Herfst Makersupdate.

### EdgeHTML 17

Met EdgeHMTL 17 werd volledige ondersteuning voor Service Workers toegevoegd, net zoals CSS-backdrop-filter en subresource integrity. Door middel van de Service Workers zijn pushnotificaties en offlinewebsites mogelijk. Uiteindelijk werd EdgeHTML 17.17134 vanaf 30 april 2018 naar gebruikers uitgerold als onderdeel van de Windows 10 April 2018-update.

### EdgeHTML 18

EdgeHTML 18 bevatte slechts kleine verbeteringen omdat ermee werd gefocust op Microsoft Edge zelf. Uiteindelijk werd EdgeHTML 18.17763 vanaf 2 oktober 2018 naar gebruikers uitgerold als onderdeel van de Windows 10 Oktober 2018-update. Dit leidde niet tot grote verbeteringen aan marktaandeel van Edge. In december 2018 werd door Microsoft aangekondigd dat ze zouden stoppen met de EdgeHTML-render-engine en ter vervanging Chromium zouden gaan gebruiken als render-engine in Edge. Daarmee werd tevens besloten geen EdgeHTML 19 meer te maken en EdgeHTML 18 te blijven ondersteunen in Microsoft Edge totdat de nieuwe Chromiumversie van de browser klaar was voor een algemene uitrol. Een voorbeeld hiervan was een kleine revisie die als versie 18.18362 werd naar gebruikers uitgerold als onderdeel van de Windows 10 Mei 2019-update.

## Useragent-string

De Useragent-string van Microsoft Edge is zeer verschillend dan die van Internet Explorer 11. Er zijn verschillende tokens toegevoegd aan de string, waaronder AppleWebKit/537.36 om zich voor te doen als Apple Safari, (KHTML, like Gecko) om zich voor te doen als een browser die KHTML gebruikt gebaseerd op Gecko, Chrome/42.0.2311.135 om zich voor te doen als Chromium en ten slotte Safari/537.36 om zich voor te doen als Safari. Het Trident/7.0-token uit Internet Explorer 11 werd vervangen door de naam van de nieuwe engine Edge/12.10240. Ook het rv:11.0-token, dat de revisie van de browser toonde, werd verwijderd.
Voor Windows 10 Mobile zijn alle bovenstaande wijzigingen doorgevoerd, maar de useragent-string heeft ook nog een Android 4.2.1-token om zich voor te doen als Android. Het Microsoft-token in het onderstaande voorbeeld geeft de naam van de fabrikant aan, hier Microsoft, en het Lumia 950 XL-token duidt op het toestel, in dit voorbeeld is dat de Microsoft Lumia 950 XL. De useragent-string op Windows 10 Mobile laat ook uitschijnen Windows Phone 10.0 te zijn, dit is de oude naam van het besturingssysteem.
| Besturingssysteem | Platform | Architectuur | Useragent-string |
| Windows 10 Versie 1507 Threshold 1 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240 |
| Windows 10 Versie 1507 Threshold 1 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240 |
| Windows 10 Versie 1511 Threshold 2 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586 |
| Windows 10 Versie 1511 Threshold 2 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586 |
| Windows 10 Versie 1511 Threshold 2 | Mobile | ARM | Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586 |
| Windows 10 Versie 1511 Threshold 2 | Xbox One | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586 |
| Windows 10 Versie 1607 Redstone 1 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 |
| Windows 10 Versie 1607 Redstone 1 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 |
| Windows 10 Versie 1607 Redstone 1 | Mobile | ARM | Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; Lumia 950 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Mobile Safari/537.36 Edge/14.14393 |
| Windows 10 Versie 1607 Redstone 1 | Xbox One | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 |
| Windows 10 Versie 1703 Redstone 2 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063 |
| Windows 10 Versie 1703 Redstone 2 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063 |
| Windows 10 Versie 1703 Redstone 2 | Mobile | ARM | Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; Lumia 950 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.15063 |
| Windows 10 Versie 1703 Redstone 2 | Xbox One | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063 |
| Windows 10 Versie 1709 feature2 | Mobile | ARM | Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; Lumia 950 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.15254 |
| Windows 10 Versie 1709 Redstone 3 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 |
| Windows 10 Versie 1709 Redstone 3 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 |
| Windows 10 Versie 1709 Redstone 3 | Xbox One | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299 |
| Windows 10 Versie 1803 Redstone 4 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 |
| Windows 10 Versie 1803 Redstone 4 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 |
| Windows 10 Versie 1803 Redstone 4 | Xbox One | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134 |
| Windows 10 Versie 1809 Redstone 5 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763 |
| Windows 10 Versie 1809 Redstone 5 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763 |
| Windows 10 Versie 1809 Redstone 5 | Xbox One | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763 |
| Windows 10 Versie 1903 19H1 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362 |
| Windows 10 Versie 1903 19H1 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362 |
| Windows 10 Versie 1903 19H1 | Xbox One | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362 |
| Windows 10 Versie 1909 19H2 | Desktop | x86 | Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363 |
| Windows 10 Versie 1909 19H2 | Desktop | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363 |
| Windows 10 Versie 1909 19H2 | Xbox One | x86-64 | Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363 |