<commit_before>{{>header}}

{{>nav}}

	<div class="o-techdocs-main o-techdocs-content">

		<h1>Features and browsers supported</h1>

		<p>We test browser support with a test suite for each feature.  A browser is considered compliant only if it passes all the tests, so this is a reasonably comprehensive test rather than a naive feature-detect.  To view the test suite for a feature in the browser you're using right now, click the Tests link in the feature list.  The results below are generated using browsers hosted by <a href='https://www.saucelabs.com'>Sauce Labs</a>, and show only the lowest version tested with a given result (for full test results see <a href='https://github.com/Financial-Times/polyfill-service/blob/master/docs/assets/compat.json'>compat.json</a>.</p>

		<h2 id='feature-list'>Feature list</h2>


		<table class='compatibility'>
			<caption>
				<p style='text-align:right'>Key: <span class='status-missing'>Feature missing</span>, <span class='status-polyfilled'>Feature supported with Polyfill service</span>, <span class='status-native'>Feature supported natively</span></p>
			</caption>
			<thead>
				<tr>
					<th></th>
					<th>IE</th>
					<th>Firefox</th>
					<th>Chrome</th>
					<th>Safari</th>
					<th>iOS Safari</th>
				</tr>
			</thead>
			<tbody>
			{{#compat}}
				<tr>
					<td>
						<h3>{{feature}}</h3>
						<ul class='feature-meta'>
							<li title="Maximum size, minifed, before gzip">{{dispBytes size}}</li>
							{{#if isDefault}}<li><i title='Part of the default set' class="fa fa-star"></i></li>{{/if}}
							{{#if hasTests}}<li><a href='/test/tests?feature={{feature}}'>Tests</a></li>{{/if}}
							<li><a href='https://github.com/Financial-Times/polyfill-service/tree/master/polyfills/{{feature}}'>Source</a></li>
						</ul>
					</td>
					<td>{{#ie}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/ie}}</td>
					<td>{{#firefox}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/firefox}}</td>
					<td>{{#chrome}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/chrome}}</td>
					<td>{{#safari}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/safari}}</td>
					<td>{{#ios_saf}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/ios_saf}}</td>
				</tr>
				{{/compat}}
			</tbody>
		</table>

		<h2 id='understanding-polyfill-sizes'>Bundle sizes</h2>

		<p>The table above lists a data size for each polyfill, which is the size of the polyfill including a feature detect, after minification, and before gzip.  Two very important things to remember about these sizes are:</p>

		<ul>
			<li>Gzip gets more effective the larger the data is, so the more polyfills you include in the bundle you request, the smaller each individual polyfill is likely to be, once the bundle is gzipped.</li>
			<li>Some polyfills have multiple variants.  In these cases, the size of the largest variant is shown.</li>
		</ul>

		<p>The following table shows the total size of the polyfill bundle for the <strong>default</strong> set, in all our test browsers:</p>

		<table>
			<thead>
				<tr><th>Browser</th><th>Version</th><th>Size (raw)</th><th>Size (min)</th><th>Size (gzip)</th></tr>
			</thead>
			<tbody>
				{{#sizes}}
				<tr><td>{{family}}</td><td>{{ver}}</td><td>{{dispBytes rawbytes}}</td><td>{{dispBytes minbytes}}</td><td>{{dispBytes gzipbytes}}</td></tr>
				{{/sizes}}
			</tbody>
		</table>
<commit_msg>Remove iOS from feature matrix since we cannot reliably test it via automation<commit_after>{{>header}}

{{>nav}}

	<div class="o-techdocs-main o-techdocs-content">

		<h1>Features and browsers supported</h1>

		<p>We test browser support with a test suite for each feature.  A browser is considered compliant only if it passes all the tests, so this is a reasonably comprehensive test rather than a naive feature-detect.  To view the test suite for a feature in the browser you're using right now, click the Tests link in the feature list.  The results below are generated using browsers hosted by <a href='https://www.saucelabs.com'>Sauce Labs</a>, and show only the lowest version tested with a given result (for full test results see <a href='https://github.com/Financial-Times/polyfill-service/blob/master/docs/assets/compat.json'>compat.json</a>.</p>

		<h2 id='feature-list'>Feature list</h2>


		<table class='compatibility'>
			<caption>
				<p style='text-align:right'>Key: <span class='status-missing'>Feature missing</span>, <span class='status-polyfilled'>Feature supported with Polyfill service</span>, <span class='status-native'>Feature supported natively</span></p>
			</caption>
			<thead>
				<tr>
					<th></th>
					<th>IE</th>
					<th>Firefox</th>
					<th>Chrome</th>
					<th>Safari</th>
				</tr>
			</thead>
			<tbody>
			{{#compat}}
				<tr>
					<td>
						<h3>{{feature}}</h3>
						<ul class='feature-meta'>
							<li title="Maximum size, minifed, before gzip">{{dispBytes size}}</li>
							{{#if isDefault}}<li><i title='Part of the default set' class="fa fa-star"></i></li>{{/if}}
							{{#if hasTests}}<li><a href='/test/tests?feature={{feature}}'>Tests</a></li>{{/if}}
							<li><a href='https://github.com/Financial-Times/polyfill-service/tree/master/polyfills/{{feature}}'>Source</a></li>
						</ul>
					</td>
					<td>{{#ie}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/ie}}</td>
					<td>{{#firefox}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/firefox}}</td>
					<td>{{#chrome}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/chrome}}</td>
					<td>{{#safari}}<span class='status-{{status}}' title='{{statusMsg}}'>{{version}}</span>{{/safari}}</td>
				</tr>
				{{/compat}}
			</tbody>
		</table>

		<h2 id='understanding-polyfill-sizes'>Bundle sizes</h2>

		<p>The table above lists a data size for each polyfill, which is the size of the polyfill including a feature detect, after minification, and before gzip.  Two very important things to remember about these sizes are:</p>

		<ul>
			<li>Gzip gets more effective the larger the data is, so the more polyfills you include in the bundle you request, the smaller each individual polyfill is likely to be, once the bundle is gzipped.</li>
			<li>Some polyfills have multiple variants.  In these cases, the size of the largest variant is shown.</li>
		</ul>

		<p>The following table shows the total size of the polyfill bundle for the <strong>default</strong> set, in all our test browsers:</p>

		<table>
			<thead>
				<tr><th>Browser</th><th>Version</th><th>Size (raw)</th><th>Size (min)</th><th>Size (gzip)</th></tr>
			</thead>
			<tbody>
				{{#sizes}}
				<tr><td>{{family}}</td><td>{{ver}}</td><td>{{dispBytes rawbytes}}</td><td>{{dispBytes minbytes}}</td><td>{{dispBytes gzipbytes}}</td></tr>
				{{/sizes}}
			</tbody>
		</table>

{'fraction_non_alphanumeric': 0.19113613396852894, 'fraction_numerical': 0.0023098022231846397, 'mean_word_length': 4.212942061700526, 'pattern_counts': {'":': 0, '<': 251, '<?xml version=': 0, '>': 255, 'https://': 6, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1825135', 'n_tokens_mistral': 2628, 'n_tokens_neox': 2182, 'n_words': 620}