<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tech.wickedgov.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Awilh+37</id>
	<title>WickedTech - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://tech.wickedgov.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Awilh+37"/>
	<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/wiki/Special:Contributions/Awilh_37"/>
	<updated>2026-04-28T16:01:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.0</generator>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Android_OS&amp;diff=1751</id>
		<title>Android OS</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Android_OS&amp;diff=1751"/>
		<updated>2025-03-31T14:20:39Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: Awilh 37 moved page Android OS/awilh 37-holding to Android OS: replacing main page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Wikipedia:Android (operating system)|Android]] is a widely used operating system used by nearly all non-[[Wikipedia:IOS|Apple]] smartphones, including [[Wikipedia:Google Pixel|Google Pixel]], [[Wikipedia:Samsung Galaxy|Samsung Galaxy]], and many more. (Side note, Samsung Galaxy does run on [[Wikipedia:One UI|One UI]] but is still powered by Android)&lt;br /&gt;
&lt;br /&gt;
==UPDATE HISTORY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Internal codename&amp;lt;ref name=&amp;quot;Codenames&amp;quot;&amp;gt;{{Cite web |title=Codenames, Tags, and Build Numbers |url=https://source.android.com/setup/start/build-numbers |access-date=June 1, 2022 |website=Android Open Source Project |publisher=Google |archive-date=November 24, 2020 |archive-url=https://web.archive.org/web/20201124122032/https://source.android.com/setup/start/build-numbers |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
! Version number(s)&lt;br /&gt;
! [[API]] level&lt;br /&gt;
! Release date&lt;br /&gt;
! Latest security patch date&amp;lt;ref&amp;gt;{{Cite web |title=Android Security Bulletins |url=https://source.android.com/security/bulletin |access-date=February 8, 2022 |website=Android Open Source Project |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134818/https://source.android.com/docs/security/bulletin |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
! Latest [[Google Play Services]] version&amp;lt;ref&amp;gt;{{cite web |title=Google System Release Notes |url=https://support.google.com/product-documentation/answer/14343500 |access-date=17 May 2024 |archive-date=May 13, 2024 |archive-url=https://web.archive.org/web/20240513094036/https://support.google.com/product-documentation/answer/14343500 |url-status=live }}&amp;lt;/ref&amp;gt; (release date)&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 1.0]]&lt;br /&gt;
| {{N/A}}&lt;br /&gt;
| {{Version|o|1.0}}&lt;br /&gt;
| 1&lt;br /&gt;
| September 23, 2008&lt;br /&gt;
| rowspan=&amp;quot;18&amp;quot; {{N/A}}&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; {{N/A}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 1.1]]&lt;br /&gt;
| Petit Four&lt;br /&gt;
| {{Version|o|1.1}}&lt;br /&gt;
| 2&lt;br /&gt;
| February 9, 2009&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Cupcake]]&lt;br /&gt;
| Cupcake&lt;br /&gt;
| {{Version|o|1.5}}&lt;br /&gt;
| 3&lt;br /&gt;
| April 27, 2009&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Donut]]&lt;br /&gt;
| Donut&lt;br /&gt;
| {{Version|o|1.6}}&lt;br /&gt;
| 4&lt;br /&gt;
| September 15, 2009&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[Android Eclair]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Eclair&lt;br /&gt;
| {{Version|o|2.0}}&lt;br /&gt;
| 5&lt;br /&gt;
| October 27, 2009&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|2.0.1}}&lt;br /&gt;
| 6&lt;br /&gt;
| December 3, 2009&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|2.1}}&lt;br /&gt;
| 7&lt;br /&gt;
| January 11, 2010&amp;lt;ref name=&amp;quot;ReferenceA&amp;quot;&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2010/01/android-21-sdk.html |title=Android 2.1 SDK |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134715/https://android-developers.googleblog.com/2010/01/android-21-sdk.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Froyo]]&lt;br /&gt;
| Froyo&lt;br /&gt;
| {{Version|o|2.2 – 2.2.3}}&lt;br /&gt;
| 8&lt;br /&gt;
| May 20, 2010&lt;br /&gt;
| 3.2.25 (October 2014)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Gingerbread]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Gingerbread&lt;br /&gt;
| {{Version|o|2.3 – 2.3.2}}&lt;br /&gt;
| 9&lt;br /&gt;
| December 6, 2010&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 10.0.84 (November 2016)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|2.3.3 – 2.3.7}}&lt;br /&gt;
| 10&lt;br /&gt;
| February 9, 2011&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[Android Honeycomb]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Honeycomb&lt;br /&gt;
| {{Version|o|3.0}}&lt;br /&gt;
| 11&lt;br /&gt;
| February 22, 2011&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|3.1}}&lt;br /&gt;
| 12&lt;br /&gt;
| May 10, 2011&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|3.2 – 3.2.6}}&lt;br /&gt;
| 13&lt;br /&gt;
| July 15, 2011&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Ice Cream Sandwich]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Ice Cream Sandwich&lt;br /&gt;
| {{Version|o|4.0 – 4.0.2}}&lt;br /&gt;
| 14&lt;br /&gt;
| October 18, 2011&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 14.8.49 (February 2019)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|4.0.3 – 4.0.4}}&lt;br /&gt;
| 15&lt;br /&gt;
| December 16, 2011&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[Android Jelly Bean]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Jelly Bean&lt;br /&gt;
| {{Version|o|4.1 – 4.1.2}}&lt;br /&gt;
| 16&lt;br /&gt;
| July 9, 2012&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 21.33.56 (September 2021)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|4.2 – 4.2.2}}&lt;br /&gt;
| 17&lt;br /&gt;
| November 13, 2012&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|4.3 – 4.3.1}}&lt;br /&gt;
| 18&lt;br /&gt;
| July 24, 2013&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android KitKat]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Key Lime Pie&lt;br /&gt;
| {{Version|o|4.4 – 4.4.4}}&lt;br /&gt;
| 19&lt;br /&gt;
| October 31, 2013&lt;br /&gt;
| October 2017&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 23.30.13 (August 2023)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|4.4W – 4.4W.2}}&lt;br /&gt;
| 20&lt;br /&gt;
| June 25, 2014&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Lollipop]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Lemon Meringue Pie&lt;br /&gt;
| {{Version|o|5.0 – 5.0.2}}&lt;br /&gt;
| 21&lt;br /&gt;
| November 4, 2014&amp;lt;ref name=&amp;quot;android.googlesource.com&amp;quot;&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.0.0_r1 |title=refs/tags/android-5.0.0_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134715/https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.0.0_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| November 2017&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |24.28.35 (August 2024)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|5.1 – 5.1.1}}&lt;br /&gt;
| 22&lt;br /&gt;
| March 2, 2015&amp;lt;ref name=&amp;quot;ReferenceB&amp;quot;&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.1.0_r1 |title=refs/tags/android-5.1.0_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134720/https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.1.0_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| March 2018&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Marshmallow]]&lt;br /&gt;
| Macadamia Nut Cookie&lt;br /&gt;
| {{Version|o|6.0 – 6.0.1}}&lt;br /&gt;
| 23&lt;br /&gt;
| September 29, 2015&amp;lt;ref name=&amp;quot;ReferenceC&amp;quot;&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-6.0.0_r1 |title=refs/tags/android-6.0.0_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134721/https://android.googlesource.com/platform/system/core/+/refs/tags/android-6.0.0_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| August 2018&lt;br /&gt;
| rowspan=&amp;quot;13&amp;quot; |25.09.33 (March 2025)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Nougat]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | New York Cheesecake&lt;br /&gt;
| {{Version|o|7.0}}&lt;br /&gt;
| 24&lt;br /&gt;
| August 22, 2016&lt;br /&gt;
| August 2019&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|7.1 – 7.1.2}}&lt;br /&gt;
| 25&lt;br /&gt;
| October 4, 2016&lt;br /&gt;
| October 2019&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Oreo]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Oatmeal Cookie&lt;br /&gt;
| {{Version|o|8.0}}&lt;br /&gt;
| 26&lt;br /&gt;
| August 21, 2017&lt;br /&gt;
| January 2021&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|8.1}}&lt;br /&gt;
| 27&lt;br /&gt;
| December 5, 2017&lt;br /&gt;
| October 2021&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Pie]]&lt;br /&gt;
| Pistachio Ice Cream&amp;lt;ref&amp;gt;{{cite web |last1=Parker |first1=Steven |title=Android P being referred to as &#039;Pistachio Ice Cream&#039; internally at Google |url=https://www.neowin.net/news/android-p-being-referred-to-as-pistachio-ice-cream-internally-at-google/ |website=Neowin |publisher=Neowin LLC |access-date=December 15, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134820/https://www.neowin.net/news/android-p-being-referred-to-as-pistachio-ice-cream-internally-at-google/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|o|9}}&lt;br /&gt;
| 28&lt;br /&gt;
| August 6, 2018&lt;br /&gt;
| January 2022&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 10]]&lt;br /&gt;
| Quince Tart&amp;lt;ref name=&amp;quot;VergeQR&amp;quot;&amp;gt;{{cite web |last1=Gartenberg |first1=Chaim |title=Even Android 11 is cake |url=https://www.theverge.com/tldr/2020/7/23/21336209/android-11-r-red-velvet-cake-internal-code-name-dessert-google |website=The Verge |date=July 23, 2020 |publisher=Vox Media, LLC |access-date=July 27, 2021 |quote=Burke revealed last year that Android Q had been internally known as &amp;quot;Quince Tart&amp;quot; |archive-date=December 17, 2022 |archive-url=https://web.archive.org/web/20221217230719/https://www.theverge.com/tldr/2020/7/23/21336209/android-11-r-red-velvet-cake-internal-code-name-dessert-google |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|o|10}}&lt;br /&gt;
| 29&lt;br /&gt;
| September 3, 2019&lt;br /&gt;
| February 2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 11]]&lt;br /&gt;
| Red Velvet Cake&amp;lt;ref name=&amp;quot;VergeQR&amp;quot;/&amp;gt;&lt;br /&gt;
| {{Version|o|11}}&lt;br /&gt;
| 30&lt;br /&gt;
| September 8, 2020&lt;br /&gt;
| February 2024&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 12]]&lt;br /&gt;
| Snow Cone&lt;br /&gt;
| {{Version|co|12}}&lt;br /&gt;
| 31&lt;br /&gt;
| October 4, 2021&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | March 2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 12L]]&lt;br /&gt;
| Snow Cone v2&lt;br /&gt;
| {{version|co|12.1}}{{efn|name=A12.1|12L launched as part of the March 2022 security update to supported Pixel devices. The factory images for March 2022 and subsequent updates display the version as 12.1.&amp;lt;ref name=&amp;quot;FactoryImages&amp;quot;&amp;gt;{{cite web |access-date=March 31, 2022 |title=Factory Images for Nexus and Pixel Devices |url=https://developers.google.com/android/images |website=Google Developers |archive-date=April 4, 2017 |archive-url=https://web.archive.org/web/20170404151606/https://developers.google.com/android/images |url-status=live }}&amp;lt;/ref&amp;gt; The device&#039;s about page will still show the Android version as 12.&amp;lt;ref&amp;gt;{{cite web |first1=Ron |last1=Amadeo |access-date=2023-03-08 |title=Android 12L is official as &amp;quot;Android 12.1,&amp;quot; rolling out now to Pixel phones |url=https://arstechnica.com/gadgets/2022/03/tablet-focused-android-12l-update-rolls-out-just-not-to-any-tablets/ |date=March 7, 2022 |website=Ars Technica |archive-date=March 7, 2022 |archive-url=https://web.archive.org/web/20220307232151/https://arstechnica.com/gadgets/2022/03/tablet-focused-android-12l-update-rolls-out-just-not-to-any-tablets/ |url-status=live }}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
| 32&lt;br /&gt;
| March 7, 2022&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 13]]&lt;br /&gt;
| Tiramisu&lt;br /&gt;
| {{Version|co|13}}&lt;br /&gt;
| 33&lt;br /&gt;
| August 15, 2022&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 14]]&lt;br /&gt;
| Upside Down Cake&amp;lt;ref&amp;gt;{{cite news |last1=Bradshaw |first1=Kyle |title=Android 14 gets official internal codename… Upside Down Cake |url=https://9to5google.com/2022/04/22/android-14-gets-official-internal-codename-upside-down-cake/ |access-date=October 5, 2022 |publisher=[[9to5Google]] |date=April 22, 2022 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134822/https://9to5google.com/2022/04/22/android-14-gets-official-internal-codename-upside-down-cake/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|co|14}}&lt;br /&gt;
| 34&lt;br /&gt;
| October 4, 2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 15]]&lt;br /&gt;
| Vanilla Ice Cream&amp;lt;ref&amp;gt;{{cite news |last1=Cantisano |first1=Timi |title=Android 15 dessert-themed codename revealed as &#039;Vanilla Ice Cream&#039; |url=https://www.xda-developers.com/android-15-vanilla-ice-cream/ |access-date=27 April 2023 |work=[[XDA Developers]] |date=3 March 2023 |language=en |archive-date=April 27, 2023 |archive-url=https://web.archive.org/web/20230427135948/https://www.xda-developers.com/android-15-vanilla-ice-cream/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|c|15}}&lt;br /&gt;
| 35&lt;br /&gt;
| September 3, 2024&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 16]]&lt;br /&gt;
| Baklava&amp;lt;ref&amp;gt;{{cite web |last1=McCullough |first1=Matthew |title=The First Developer Preview of Android 16 |url=https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html |website=Android Developers Blog |access-date=25 November 2024 |date=18 November 2024 |archive-date=November 21, 2024 |archive-url=https://web.archive.org/web/20241121185224/https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|cp|16}} Beta 3&amp;lt;ref name=&amp;quot;A16RN&amp;quot;&amp;gt;{{cite web |title=Release notes |url=https://developer.android.com/about/versions/16/release-notes |website=Android Developers |access-date=25 November 2024 |date=19 November 2024 |archive-date=November 25, 2024 |archive-url=https://web.archive.org/web/20241125091646/https://developer.android.com/about/versions/16/release-notes |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| 36&lt;br /&gt;
| March 13, 2025&amp;lt;ref name=&amp;quot;A16RN&amp;quot; /&amp;gt;&lt;br /&gt;
| March 2025&amp;lt;ref name=&amp;quot;A16RN&amp;quot; /&amp;gt;&lt;br /&gt;
| 25.07.33 (February 2025)&amp;lt;ref name=&amp;quot;A16RN&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; | {{Version|l|show=111110}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==More Info==&lt;br /&gt;
=== Android 1.0 ===&lt;br /&gt;
{{anchor|Android 1.0|Android 1|1.0}}&lt;br /&gt;
&lt;br /&gt;
Android 1.0, the first commercial version of the software, was released on September 23, 2008.&amp;lt;ref&amp;gt;{{cite web |last=Morrill |first=Dan |title=Announcing the Android 1.0 SDK, release 1 |publisher=Android Developers Blog |date=September 23, 2008 |url=http://android-developers.blogspot.com/2008/09/announcing-android-10-sdk-release-1.html |access-date=January 12, 2011 |archive-date=May 12, 2012 |archive-url=https://web.archive.org/web/20120512135036/http://android-developers.blogspot.com/2008/09/announcing-android-10-sdk-release-1.html |url-status=live }}&amp;lt;/ref&amp;gt; The first commercially available Android device was the [[HTC Dream]].&amp;lt;ref name=HTC&amp;gt;{{cite news |publisher=T-Mobile |url=http://www.t-mobile.com/company/PressReleases_Article.aspx?assetName=Prs_Prs_20080923&amp;amp;title=T-Mobile%20Unveils%20the%20T-Mobile%20G1%20%E2%80%93%20the%20First%20Phone%20Powered%20by%20Android |access-date=October 15, 2013 |title=T-Mobile Unveils the T-Mobile G1 – the First Phone Powered by Android |archive-url=https://web.archive.org/web/20131016001926/http://www.t-mobile.com/company/PressReleases_Article.aspx?assetName=Prs_Prs_20080923&amp;amp;title=T-Mobile%20Unveils%20the%20T-Mobile%20G1%20%E2%80%93%20the%20First%20Phone%20Powered%20by%20Android |archive-date=October 16, 2013 |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 1.0 (API 1)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| September 23, 2008&lt;br /&gt;
|&lt;br /&gt;
* [[Android Market]], allowing application downloads and updates through the Market application.&lt;br /&gt;
* [[Web browser]] to show, zoom and pan full [[HTML]] and [[XHTML]] web pages – multiple pages show as windows (&amp;quot;cards&amp;quot;).&amp;lt;ref name=&amp;quot;Engadget&amp;quot;&amp;gt;{{cite news |url=https://www.engadget.com/2008/10/16/t-mobile-g1-review-part-2-software-and-wrap-up/ |title=T-Mobile G1 review, part 2: software and wrap-up |first=Joshua |last=Topolsky |publisher=Engadget |date=October 16, 2008 |access-date=June 28, 2013 |archive-date=July 31, 2017 |archive-url=https://web.archive.org/web/20170731231733/https://www.engadget.com/2008/10/16/t-mobile-g1-review-part-2-software-and-wrap-up/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;&amp;gt;{{cite web |url=https://sites.google.com/a/android.com/opensource/release-features---android-1-0 |title=Release features – Android 1.0 |year=2008 |access-date=February 7, 2013 |archive-date=September 19, 2019 |archive-url=https://web.archive.org/web/20190919041651/https://www.google.com/a/android.com/ServiceLogin?service=jotspot&amp;amp;passive=1209600&amp;amp;continue=https%3A%2F%2Fsites.google.com%2Fa%2Fandroid.com%2Fopensource%2Frelease-features---android-1-0&amp;amp;followup=https%3A%2F%2Fsites.google.com%2Fa%2Fandroid.com%2Fopensource%2Frelease-features---android-1-0&amp;amp;ul=1 |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Camera support – however, this version lacked the option to change the camera&#039;s resolution, white balance, quality, etc.&amp;lt;ref name=&amp;quot;T-Mobile G1 Google Android Phone&amp;quot;&amp;gt;{{cite news |publisher=PC Magazine |url=https://www.pcmag.com/article2/0,2817,2331003,00.asp |title=T-Mobile G1 (Google Android Phone) |first=Sascha |last=Segan |date=October 16, 2008 |access-date=February 6, 2013 |archive-date=May 30, 2013 |archive-url=https://web.archive.org/web/20130530160849/http://www.pcmag.com/article2/0,2817,2331003,00.asp |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Folders allowing the grouping of a number of application icons into a single folder icon on the Home screen.&amp;lt;ref&amp;gt;{{cite news |url=http://www.androidauthority.com/folders-on-the-android-desktop-and-how-to-rename-them-466/ |title=Folders on the Android desktop, and how to rename them |publisher=Android Authority |first=Darcy |last=LaCouvee |date=October 17, 2008 |access-date=June 28, 2013 |archive-date=May 18, 2013 |archive-url=https://web.archive.org/web/20130518172012/http://www.androidauthority.com/folders-on-the-android-desktop-and-how-to-rename-them-466/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Access to web email servers, supporting [[POP3]], [[IMAP4]], and [[SMTP]].&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;/&amp;gt;&lt;br /&gt;
* [[Gmail]] synchronization with the Gmail application.&lt;br /&gt;
* [[Google Contacts]] synchronization with the People application.&lt;br /&gt;
* [[Google Calendar]] synchronization with the Calendar application.&lt;br /&gt;
* [[Google Maps]] with [[Google Street View|Street View]] to view maps and satellite imagery, as well as find local businesses and obtain driving directions using [[GPS]].&amp;lt;ref name=&amp;quot;T-Mobile G1 Google Android Phone&amp;quot;/&amp;gt;&lt;br /&gt;
* [[Google Sync]], allowing management of [[Over the Air|over-the-air]] synchronization of Gmail, People, and Calendar.&lt;br /&gt;
* [[Google Search]], allowing users to search the Internet and phone applications, contacts, calendar, etc.&lt;br /&gt;
* [[Google Talk]] instant messaging.&lt;br /&gt;
* [[Instant messaging]], [[text messaging]], and MMS.&lt;br /&gt;
* [[Media player (application software)|Media Player]], enabling management, importing, and playback of media files – however, this version lacked video and stereo [[Bluetooth]] support.&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;T-Mobile G1 Google Android Phone&amp;quot;/&amp;gt;&lt;br /&gt;
* Notifications appear in the Status bar, with options to set ringtone, LED or vibration alerts.&amp;lt;ref name=&amp;quot;Engadget&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/guide/topics/ui/notifiers/notifications.html |title=Status Bar Notifications |publisher=Android Developers |date=May 24, 2012 |access-date=June 1, 2012 |archive-date=June 13, 2012 |archive-url=https://web.archive.org/web/20120613233007/http://developer.android.com/guide/topics/ui/notifiers/notifications.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Voice Dialer allows dialing and placing of phone calls without typing a name or number.&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;/&amp;gt;&lt;br /&gt;
* Wallpaper allows the user to set the background image or photo behind the Home screen icons and widgets.&lt;br /&gt;
* [[YouTube]] video player.&amp;lt;ref name=&amp;quot;Android for Dummies&amp;quot;&amp;gt;{{cite web |url=http://www.techpluto.com/what-is-android/ |title=What is Android? |date=September 18, 2008 |publisher=TechPluto.com |access-date=June 28, 2013 |archive-date=October 23, 2021 |archive-url=https://web.archive.org/web/20211023184321/https://www.techpluto.com/what-is-android/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Other applications include: Alarm Clock, Calculator, Dialer (Phone), Home screen (Launcher), Pictures (Gallery), and Settings.&lt;br /&gt;
* [[Wi-Fi]] and Bluetooth support.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 1.1 ===&lt;br /&gt;
{{anchor|Android 1.1}}&lt;br /&gt;
&lt;br /&gt;
On February 9, 2009, the Android 1.1 update was released, initially for the HTC Dream only. Android 1.1 was known as &amp;quot;[[Petit four|Petit Four]]&amp;quot; internally, though this name was not used officially.&amp;lt;ref&amp;gt;{{cite web |title=Android Platform Overview |url=http://source.android.com/source/overview.html |publisher=Android Source |access-date=September 15, 2012|archive-url=https://web.archive.org/web/20120922202532/https://source.android.com/source/overview.html|archive-date=September 22, 2012|url-status=dead}}&amp;lt;/ref&amp;gt; The update resolved bugs, changed the Android [[Application programming interface|API]] and added a number of features:&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-1.1.html |title=Android 1.1 Version Notes |date=February 2009 |publisher=Android Developers |access-date=April 10, 2020 |archive-url=https://web.archive.org/web/20110221194031/https://developer.android.com/sdk/android-1.1.html |archive-date=February 21, 2011}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 1.1 (API 2)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| February 9, 2009&lt;br /&gt;
|&lt;br /&gt;
* Details and reviews available when a user searches for businesses on Maps.&lt;br /&gt;
* Longer in-call screen timeout by default when using the speakerphone, plus the ability to show/hide the dialpad.&lt;br /&gt;
* Ability to save attachments in messages.&lt;br /&gt;
* Support added for marquee in system layouts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 1.5 Cupcake ===&lt;br /&gt;
{{Main|Android Cupcake}}&lt;br /&gt;
{{anchor|Android 1.5|Android Cupcake|Cupcake|1.5}}&lt;br /&gt;
&lt;br /&gt;
On April 27, 2009, the Android 1.5 update was released, based on [[Linux kernel]] 2.6.27.&amp;lt;ref name=&amp;quot;cupcake-is-here&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2009/04/android-15-is-here.html |title=Android 1.5 is here! |date=April 27, 2009 |publisher=Android Developers Blog |first=Xavier |last=Ducrohet |access-date=September 3, 2009| archive-url=https://web.archive.org/web/20090925095047/http://android-developers.blogspot.com/2009/04/android-15-is-here.html |archive-date=September 25, 2009 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |last=Rob |first=Jackson |title=CONFIRMED: Official Cupcake Update Underway for T-Mobile G1 USA &amp;amp; UK! |date=April 30, 2009 |url=http://phandroid.com/2009/04/30/official-cupcake-update-underway-for-t-mobile-g1-usa/ |publisher=Phandroid |access-date=September 3, 2009 |archive-date=May 4, 2009 |archive-url=https://web.archive.org/web/20090504130749/http://phandroid.com/2009/04/30/official-cupcake-update-underway-for-t-mobile-g1-usa/ |url-status=live }}&amp;lt;/ref&amp;gt; This was the first release to officially use a codename based on a dessert item (&amp;quot;Cupcake&amp;quot;), a theme used for all releases until [[Android 9 Pie|Android Pie]], with [[Android 10]] and later using a number-only system. The update included several new features and UI amendments:&amp;lt;ref name=&amp;quot;cupcake-highlights&amp;quot;&amp;gt;{{cite web |date=April 2009 |url=http://developer.android.com/sdk/android-1.5-highlights.html |title=Android 1.5 Platform Highlights |publisher=Android Developers |access-date=September 3, 2009 |archive-date=September 1, 2009 |archive-url=https://web.archive.org/web/20090901200518/http://developer.android.com/sdk/android-1.5-highlights.html |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 1.5 Cupcake (API 3)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 1.5&lt;br /&gt;
| April 27, 2009&amp;lt;ref name=&amp;quot;cupcake-is-here&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Support for third-party virtual keyboards with text prediction and a user dictionary for custom words.&lt;br /&gt;
* Support for [[Widget engine|Widgets]] – miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates.&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/guide/topics/appwidgets/index.html |title=App Widgets |publisher=Android Developers |year=2012 |access-date=October 23, 2012 |archive-date=October 24, 2012 |archive-url=https://web.archive.org/web/20121024060808/https://developer.android.com/guide/topics/appwidgets/index.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Video recording and playback in [[MPEG-4]] and 3GP formats.&lt;br /&gt;
* Auto-pairing and stereo support for Bluetooth (A2DP and AVRCP profiles).&lt;br /&gt;
* Copy and paste features in web browser.&lt;br /&gt;
* User pictures shown for Favorites in Contacts.&lt;br /&gt;
* Specific date/time stamp shown for events in call log, and one-touch access to a contact card from a call log event.&lt;br /&gt;
* Animated screen transitions.&lt;br /&gt;
* Auto-rotation option.&lt;br /&gt;
* New stock boot animation.&lt;br /&gt;
* Ability to upload videos to YouTube.&lt;br /&gt;
* Ability to upload photos to [[Picasa]].&lt;br /&gt;
* Ability to check phone usage history.&amp;lt;ref&amp;gt;{{cite web |url=https://101android.com/view-phone-usage-history/ |title=Phone Usage History |publisher=101 Android |year=2017|access-date=December 24, 2017|archive-date=February 23, 2018|archive-url=https://web.archive.org/web/20180223191108/https://101android.com/view-phone-usage-history/|url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 1.6 Donut ===&lt;br /&gt;
{{Main|Android Donut}}&lt;br /&gt;
{{anchor|Android 1.6|Android Donut|Donut|1.6}}&lt;br /&gt;
&lt;br /&gt;
On September 15, 2009, Android 1.6 – dubbed Donut – was released, based on Linux kernel 2.6.29.&amp;lt;ref name=&amp;quot;Word-highlights&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;Word-is-here&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2009/09/android-16-sdk-is-here.html |title=Android 1.6 SDK is here |date=September 15, 2009 |publisher=Android Developers Blog |first=Xavier |last=Ducrohet |access-date=October 1, 2009 |archive-url=https://web.archive.org/web/20090925095011/http://android-developers.blogspot.com/2009/09/android-16-sdk-is-here.html |archive-date=September 25, 2009 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |last=Ryan |first=Paul |title=Google releases Android 1.6; Palm unleashes WebOS 1.2 |date=October 1, 2009 |url=https://arstechnica.com/gadgets/news/2009/10/google-releases-android-16-palm-releases-webos-12.ars |work=Ars Technica |access-date=October 1, 2009 |archive-url=https://web.archive.org/web/20091002105348/http://arstechnica.com/gadgets/news/2009/10/google-releases-android-16-palm-releases-webos-12.ars |archive-date=October 2, 2009 |url-status=live}}&amp;lt;/ref&amp;gt; Included in the update were numerous new features:&amp;lt;ref name=&amp;quot;Word-highlights&amp;quot;&amp;gt;{{cite web |title=Android 1.6 Platform Highlights |publisher=Android Developers |date=September 2009 |url=http://developer.android.com/sdk/android-1.6-highlights.html |access-date=October 1, 2009 |archive-url=https://web.archive.org/web/20100430191552/http://developer.android.com/sdk/android-1.6-highlights.html |archive-date=April 30, 2010 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 1.6 Donut (API 4)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 1.6&lt;br /&gt;
| September 15, 2009&amp;lt;ref name=&amp;quot;Word-is-here&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Voice and text entry search enhanced to include bookmark history, contacts, and the web.&lt;br /&gt;
* Ability for developers to include their content in search results.&lt;br /&gt;
* Multi-lingual [[speech synthesis]] engine to allow any Android application to &amp;quot;speak&amp;quot; a string of text.&lt;br /&gt;
* Easier searching and the ability to view app screenshots in Android Market.&lt;br /&gt;
* Gallery, Camera and camcorder more fully integrated, with faster camera access.&lt;br /&gt;
* Ability for users to select multiple photos for deletion.&lt;br /&gt;
* Updated technology support for [[IS-95|CDMA]]/[[Evolution-Data Optimized|EVDO]], [[IEEE 802.1X|802.1x]], [[virtual private network|VPNs]], and a text-to-speech engine.&lt;br /&gt;
* Support for [[Wide VGA|WVGA]] screen resolutions.&lt;br /&gt;
* Speed improvements in searching and camera applications.&lt;br /&gt;
* Expanded Gesture framework and a new GestureBuilder development tool.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 2.0 Eclair ===&lt;br /&gt;
{{Main|Android Eclair}}&lt;br /&gt;
{{Anchor|Android 2.0|Android Eclair|Eclair|Android 2|2.0}}&lt;br /&gt;
&lt;br /&gt;
On October 27, 2009, the Android 2.0 SDK was released, based on Linux kernel 2.6.29 and codenamed [[Éclair|Eclair]].&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.0.html |title=Android 2.0, Release 1 |publisher=Android Developers |access-date=October 27, 2009 |archive-url=https://web.archive.org/web/20091030044736/http://developer.android.com/sdk/android-2.0.html |archive-date=October 30, 2009 |url-status=live}}&amp;lt;/ref&amp;gt; Changes include the ones listed below.&amp;lt;ref name=&amp;quot;eclair-highlights&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.0-highlights.html |title=Android 2.0 Platform Highlights |publisher=Android Developers |access-date=October 27, 2009 |archive-url=https://web.archive.org/web/20091030044731/http://developer.android.com/sdk/android-2.0-highlights.html |archive-date=October 30, 2009 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.0 Eclair (API 5)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| October 27, 2009&amp;lt;ref name=&amp;quot;android-developers.googleblog.com&amp;quot;&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2009/10/announcing-android-20-support-in-sdk.html |title=Announcing Android 2.0 support in the SDK! |access-date=May 19, 2021 |archive-date=October 31, 2021 |archive-url=https://web.archive.org/web/20211031125134/https://android-developers.googleblog.com/2009/10/announcing-android-20-support-in-sdk.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Expanded Account sync, allowing users to add multiple accounts to a device for synchronization of an email and contacts.&lt;br /&gt;
* [[Microsoft Exchange Server|Microsoft Exchange]] email support, with a combined inbox to browse an email from multiple accounts in one page.&lt;br /&gt;
* Bluetooth 2.1 support.&lt;br /&gt;
* Ability to tap a Contacts photo and select to call, SMS, or email the person.&lt;br /&gt;
* Ability to search all saved SMS and MMS messages, with the added ability to delete the oldest messages in a conversation automatically deleted when a defined limit is reached.&lt;br /&gt;
* Numerous new camera features, including flash support, digital zoom, scene mode, white balance, color effect and macro focus.&lt;br /&gt;
* Improved typing speed on a virtual keyboard, with a smarter dictionary that learns from word usage and includes contact names as suggestions.&lt;br /&gt;
* Refreshed browser UI with bookmark thumbnails, double-tap zoom and support for [[HTML5]].&lt;br /&gt;
* Calendar agenda view enhanced, showing attending status for each invitee, and the ability to invite new guests to events.&lt;br /&gt;
* Optimized hardware speed and revamped UI.&lt;br /&gt;
* Support for more screen sizes and resolutions, with better contrast ratio.&lt;br /&gt;
* Improved [[Google Maps]] 3.1.2.&lt;br /&gt;
* MotionEvent class enhanced to track multi-touch events.&amp;lt;ref&amp;gt;{{cite web |title=Android 2.0 API Changes Summary |url=http://developer.android.com/sdk/android-2.0.html#api-changes |access-date=March 6, 2010 |archive-url=https://web.archive.org/web/20091030044736/http://developer.android.com/sdk/android-2.0.html |archive-date=October 30, 2009 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Force Touch|Pressure-sensitive touch]] support in [[application programming interface|API]], even though no according hardware existed at that time.&amp;lt;ref&amp;gt;{{cite web |title=Force Touch? Android has had that for years |url=https://pocketnow.com/force-touch-android-has-had-that-for-years |website=Pocketnow |access-date=June 13, 2021 |date=September 7, 2015 |archive-date=June 13, 2021 |archive-url=https://web.archive.org/web/20210613183953/https://pocketnow.com/force-touch-android-has-had-that-for-years |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=MotionEvent § getPressure() |url=https://developer.android.com/reference/android/view/MotionEvent.html#getPressure() |website=Android Developers |language=en |access-date=June 13, 2021 |archive-date=June 13, 2021 |archive-url=https://web.archive.org/web/20210613183953/https://developer.android.com/reference/android/view/MotionEvent.html#getPressure() |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Addition of live wallpapers, allowing the animation of home-screen background images to show movement.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 2.0.1 Eclair ====&lt;br /&gt;
{{anchor|Android 2.0.1|2.0.1}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.0.1 Eclair (API 6)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| December 3, 2009&amp;lt;ref name = &amp;quot;2.0.1 SDK&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.0.1.html |title=Android 2.0.1, Release 1 SDK |publisher=Android Developers |access-date=January 17, 2010 |archive-url=https://web.archive.org/web/20100115003947/http://developer.android.com/sdk/android-2.0.1.html |archive-date=January 15, 2010 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Minor API changes, bug fixes and framework behavioral changes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 2.1 Eclair ====&lt;br /&gt;
{{anchor|Android 2.1}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.1 Eclair (API 7)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| January 11, 2010&amp;lt;ref name=&amp;quot;2.1 SDK&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.1.html |title=Android 2.1, Release 1 |publisher=Android Developers |access-date=January 17, 2010 |archive-url=https://web.archive.org/web/20100114194657/http://developer.android.com/sdk/android-2.1.html |archive-date=January 14, 2010 |url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;ReferenceA&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Minor amendments to the API and bug fixes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 2.2 Froyo ===&lt;br /&gt;
{{Main|Android Froyo}}&lt;br /&gt;
{{anchor|Android 2.2|Android Froyo|Froyo|2.2}}&lt;br /&gt;
&lt;br /&gt;
On May 20, 2010, the SDK for Android 2.2 (Froyo, short for [[frozen yogurt]]) was released, based on Linux kernel 2.6.32.&amp;lt;ref name=&amp;quot;froyo-dev-blog&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2010/05/android-22-and-developers-goodies.html |work=Android Developers Blog |title=Android 2.2 and developers goodies |access-date=May 20, 2010 |first=Xavier |last=Ducrohet |date=May 20, 2010 |archive-date=May 12, 2012 |archive-url=https://web.archive.org/web/20120512013526/http://android-developers.blogspot.com/2010/05/android-22-and-developers-goodies.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.2 Froyo (API 8)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| May 20, 2010&lt;br /&gt;
|&lt;br /&gt;
* Speed, memory, and performance optimizations.&amp;lt;ref name=&amp;quot;unofficial-froyo-features&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2010/05/20/exclusive-unofficially-confirmed-froyo-features-post-day-1-of-google-io-google-io-blitz-coverage-day-1/ |title=Unofficially Confirmed Froyo Features, Post-Day-1 Of Google I/O |date=May 20, 2010 |publisher=Android Police |access-date=May 20, 2010 |archive-date=May 1, 2012 |archive-url=https://web.archive.org/web/20120501015836/http://www.androidpolice.com/2010/05/20/exclusive-unofficially-confirmed-froyo-features-post-day-1-of-google-io-google-io-blitz-coverage-day-1/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Additional application speed improvements, implemented through [[Just-in-time compilation|JIT compilation]].&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2010/05/11/exclusive-androidpolice-coms-nexus-one-is-running-android-2-2-froyo-how-fast-is-it-compared-to-2-1-oh-only-about-450-faster/ |title=Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster |publisher=Android Police |access-date=May 13, 2010 |archive-date=August 1, 2012 |archive-url=https://web.archive.org/web/20120801040059/http://www.androidpolice.com/2010/05/11/exclusive-androidpolice-coms-nexus-one-is-running-android-2-2-froyo-how-fast-is-it-compared-to-2-1-oh-only-about-450-faster/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Integration of [[Google Chrome|Chrome]]&#039;s [[V8 (JavaScript engine)|V8 JavaScript engine]] into the Browser application.&lt;br /&gt;
* Support for the [[Android Cloud to Device Messaging]] (C2DM) service, enabling [[Push technology|push notifications]].&lt;br /&gt;
* Improved [[Microsoft Exchange Server|Microsoft Exchange]] support, including security policies, auto-discovery, GAL look-up, calendar synchronization and remote wipe.&amp;lt;ref&amp;gt;{{cite web |last1=Harbor |title=Android now fully supports Exchange |url=https://www.harborcomputerservices.net/android-now-fully-supports-exchange/ |website=harborcomputerservices.net |access-date=September 11, 2010 |date=June 29, 2010 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135753/https://www.harborcomputerservices.net/android-now-fully-supports-exchange/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved application launcher with shortcuts to Phone and Browser applications.&lt;br /&gt;
* USB tethering and [[Wi-Fi hotspot]] functionality&amp;lt;ref name=&amp;quot;wired sorrel 2010&amp;quot;&amp;gt;{{cite magazine |url=https://www.wired.com/gadgetlab/2010/05/android-22-froyo-features-usb-wi-fi-tethering/ |title=Android 2.2 &#039;Froyo&#039; Features USB, Wi-Fi Tethering |magazine=[[Wired (magazine)|Wired]] |date=May 13, 2010 |access-date=February 14, 2013 |author=Sorrel, Charlie |archive-date=November 6, 2012 |archive-url=https://web.archive.org/web/20121106224423/http://www.wired.com/gadgetlab/2010/05/android-22-froyo-features-usb-wi-fi-tethering/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Option to disable data access over a mobile network.&lt;br /&gt;
* Updated Market application with batch and automatic update features.&amp;lt;ref name=&amp;quot;unofficial-froyo-features&amp;quot;/&amp;gt;&lt;br /&gt;
* Quick switching between multiple keyboard languages and their dictionaries.&lt;br /&gt;
* Support for [[Bluetooth]]-enabled car and desk docks.&lt;br /&gt;
* Support for numeric and alphanumeric passwords.&lt;br /&gt;
* Support for file upload fields in the Browser application.&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=2519#c112 |title=Browser support for file upload field is coming in Froyo |access-date=May 13, 2010 |archive-date=March 20, 2017 |archive-url=https://web.archive.org/web/20170320120623/https://code.google.com/p/android/issues/detail?id=2519#c112 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The browser now shows all frames of animated GIFs instead of just the first frame only.&lt;br /&gt;
* Support for installing applications to expandable memory.&lt;br /&gt;
* [[Adobe Flash]] support.&amp;lt;ref&amp;gt;{{cite news |url=http://bits.blogs.nytimes.com/2010/04/27/googles-andy-rubin-on-everything-android/ |title=Google&#039;s Andy Rubin on Everything Android |work=[[The New York Times]] |access-date=May 20, 2010 |first=Brad |last=Stone |date=April 27, 2010 |archive-url=https://web.archive.org/web/20100430192951/http://bits.blogs.nytimes.com/2010/04/27/googles-andy-rubin-on-everything-android/ |archive-date=April 30, 2010 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Support for high-[[Pixel density|PPI]] displays (up to 320&amp;amp;nbsp;ppi), such as four-inch [[720p]] screens.&amp;lt;ref name=&amp;quot;multiple-screens&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/guide/practices/screens_support.html#range |title=Supporting Multiple Screens: Range of screens supported |publisher=Android Developers |access-date=February 8, 2013 |archive-date=January 28, 2013 |archive-url=https://web.archive.org/web/20130128224652/http://developer.android.com/guide/practices/screens_support.html#range |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Gallery allows users to view picture stacks using a zoom gesture.&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| September 27, 2010&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.2.1_r1 |title=refs/tags/android-2.2.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135742/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.2.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Bug fixes, security updates and performance improvements.&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.2&lt;br /&gt;
| January 21, 2011&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.2.2_r1 |title=refs/tags/android-2.2.2_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135743/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.2.2_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Minor bug fixes, including SMS routing issues that affected the [[Nexus One]].&amp;lt;ref&amp;gt;{{cite news |last=Hollister |first=Sean |title=Nexus One gets tiny update to Android 2.2.2, fixes SMS routing issues |url=https://www.engadget.com/2011/01/22/nexus-one-gets-tiny-update-to-android-2-2-2-probably-fixes-sms/ |access-date=November 17, 2011 |publisher=Engadget |date=January 22, 2011 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135748/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2011-01-22-nexus-one-gets-tiny-update-to-android-2-2-2-probably-fixes-sms.html%26tbla_id%3Db8801a67-ee65-488a-8ce7-a9677f4e6876-tuctc9d6ddb%26gam_id%3Dy-vEZQfbNE2uLaKjAB0lE7iYBpOYMIKf.u%7EA%26axids%3Dgam%3Dy-vEZQfbNE2uLaKjAB0lE7iYBpOYMIKf.u%7EA%26dv360%3DeS1DUm1OUC5sRTJ1RTdhelFfNDJjT1g3R3BabVlwZGJIQX5B%26ydsp%3Dy-9B3bUgFE2uLe_tF8l4JDw9mOQ_CWu5.o%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.3&lt;br /&gt;
| November 21, 2011&amp;lt;ref&amp;gt;{{cite web |url=https://android.googlesource.com/platform/build/+/refs/tags/android-2.2.3_r1 |access-date=September 2, 2013 |title=Android 2.2.3 source tag |archive-date=September 29, 2023 |archive-url=https://web.archive.org/web/20230929173218/https://android.googlesource.com/platform/build/+/refs/tags/android-2.2.3_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Two security updates.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 2.3 Gingerbread ===&lt;br /&gt;
{{Main|Android Gingerbread}}&lt;br /&gt;
{{anchor|Android 2.3|Gingerbread|Android Gingerbread|2.3}}&lt;br /&gt;
&lt;br /&gt;
On December 6, 2010, the Android 2.3 (Gingerbread) SDK was released, based on Linux kernel 2.6.35.&amp;lt;ref name=&amp;quot;gingerbread-highlights&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;gingerbread-dev-blog&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2010/12/android-23-platform-and-updated-sdk.html |publisher=Android Developers Blog |title=Android 2.3 Platform and Updated SDK Tools |access-date=December 7, 2010 |first=Xavier |last=Ducrohet |date=December 6, 2010 |archive-url= https://web.archive.org/web/20101227190245/http://android-developers.blogspot.com/2010/12/android-23-platform-and-updated-sdk.html |archive-date=December 27, 2010 |url-status=live}}&amp;lt;/ref&amp;gt; Changes included:&amp;lt;ref name=&amp;quot;gingerbread-highlights&amp;quot;&amp;gt;{{cite web |date=December 6, 2010 |url=http://developer.android.com/sdk/android-2.3-highlights.html |title=Android 2.3 Platform Highlights |publisher=Android Developers Blog |access-date=December 7, 2010 |archive-url= https://web.archive.org/web/20101210235053/http://developer.android.com/sdk/android-2.3-highlights.html |archive-date=December 10, 2010 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.3 Gingerbread (API 9)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.3&lt;br /&gt;
| December 6, 2010&amp;lt;ref name=&amp;quot;gingerbread-dev-blog&amp;quot; /&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Updated user interface design with increased simplicity and speed.&lt;br /&gt;
* Support for extra-large screen sizes and resolutions ([[WXGA (graphics)|WXGA]] and higher).&amp;lt;ref name=&amp;quot;multiple-screens&amp;quot;/&amp;gt;&lt;br /&gt;
* Native support for [[Session Initiation Protocol|SIP]] [[Voice over IP|VoIP]] internet telephones.&lt;br /&gt;
* Faster, more intuitive text input on a virtual keyboard, with improved accuracy, better suggested text and voice input mode.&lt;br /&gt;
* Enhanced [[cut, copy, and paste|copy/paste]] functionality, allowing users to select a word by press-holding, copying, and pasting.&lt;br /&gt;
* Support for [[Near Field Communication]] (NFC), allowing the user to read an NFC tag embedded in a poster, sticker, or advertisement.&lt;br /&gt;
* New audio effects such as reverb, equalization, headphone virtualization, and bass boost.&lt;br /&gt;
* New [[Download Manager]], giving users easy access to any file downloaded from the browser, email, or another application.&lt;br /&gt;
* Support for multiple cameras on the device, including a front-facing camera, if available.&lt;br /&gt;
* Support for [[WebM]]/VP8 video playback, and [[Advanced Audio Coding|AAC]] audio encoding.&lt;br /&gt;
* Improved [[power management]] with a more active role in managing applications that are keeping the device awake for too long.&lt;br /&gt;
* Enhanced support for native code development.&lt;br /&gt;
* Switched from [[YAFFS]] to [[ext4]] on newer devices.&amp;lt;ref&amp;gt;{{Cite news |url=http://www.linuxfoundation.org/news-media/blogs/browse/2010/12/android-will-be-using-ext4-starting-gingerbread |title=Android will be using ext4 starting with Gingerbread |publisher=Linux Foundation |first=Theodore |last=Ts&#039;o |date=December 12, 2010 |access-date=June 11, 2011 |archive-url=https://web.archive.org/web/20110528064125/http://www.linuxfoundation.org/news-media/blogs/browse/2010/12/android-will-be-using-ext4-starting-gingerbread |archive-date=May 28, 2011 |url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2010/12/saving-data-safely.html |title=Saving Data Safely |author=Tim Bray |publisher=Android Developers Blog |date=December 19, 2010 |access-date=June 11, 2011 |archive-date=July 27, 2011 |archive-url=https://web.archive.org/web/20110727234704/http://android-developers.blogspot.com/2010/12/saving-data-safely.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Audio, graphical, and input enhancements for game developers.&lt;br /&gt;
* Concurrent [[Garbage collection (computer science)|garbage collection]] for increased performance.&lt;br /&gt;
* Native support for more sensors (such as [[gyroscope]]s and [[barometer]]s).&lt;br /&gt;
* First Android version to feature an Easter egg. It was an image of the Bugdroid standing next to a zombie gingerbread man, with many more zombies in the background.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.1&lt;br /&gt;
| December 22, 2010&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.1_r1 |title=refs/tags/android-2.3.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135846/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improvements and bug fixes for the Nexus&amp;amp;nbsp;S.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.2&lt;br /&gt;
| January 21, 2011&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.2_r1 |title=refs/tags/android-2.3.2_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135758/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.2_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improvements and bug fixes for the Nexus&amp;amp;nbsp;S.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 2.3.3 Gingerbread ====&lt;br /&gt;
{{Anchor|Android 2.3.3|2.3.3}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.3.3 Gingerbread (API 10)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.3&lt;br /&gt;
| February 9, 2011&amp;lt;ref&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2011/02/android-233-platform-new-nfc.html |title=Android 2.3.3 Platform, New NFC Capabilities |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135849/https://android-developers.googleblog.com/2011/02/android-233-platform-new-nfc.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Several improvements and API fixes.&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.3.3.html |title=Android 2.3.3 Platform |publisher=Android Developers |year=2011|access-date=November 19, 2012|archive-date=June 13, 2012|archive-url=https://web.archive.org/web/20120613232731/http://developer.android.com/sdk/android-2.3.3.html|url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.4&lt;br /&gt;
| April 28, 2011&amp;lt;ref&amp;gt;{{cite web |url=https://android.googlesource.com/platform/system/core/+/android-2.3.4_r1 |access-date=September 2, 2013 |title=Android 2.3.4 source tag |archive-date=September 29, 2023 |archive-url=https://web.archive.org/web/20230929174948/https://android.googlesource.com/platform/system/core/+/android-2.3.4_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Support for voice or video chat using [[Google Talk]].&amp;lt;ref&amp;gt;{{cite web |url=http://googlemobile.blogspot.com/2011/04/video-chat-on-your-android-phone.html |title=Video Chat on Your Android Phone |date=April 28, 2011 |publisher=Google Mobile Blog |access-date=April 18, 2013 |archive-date=November 28, 2020 |archive-url=https://web.archive.org/web/20201128144225/http://googlemobile.blogspot.com/2011/04/video-chat-on-your-android-phone.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Open Accessory Library support. Open Accessory was introduced in 3.1 (Honeycomb) but the Open Accessory Library grants 2.3.4 added support when connecting to a USB peripheral with compatible software and a compatible application on the device.&amp;lt;ref&amp;gt;{{cite web |title=Open Accessory Library 2.3.4 |url=http://developer.android.com/about/versions/android-2.3.4.html |publisher=Android Developers |access-date=August 3, 2012 |archive-date=August 5, 2012 |archive-url=https://web.archive.org/web/20120805081044/http://developer.android.com/about/versions/android-2.3.4.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Switched the default encryption for SSL from AES256-SHA to RC4-MD5.&amp;lt;ref&amp;gt;{{cite web |last=Sarkar |first=Abhijoy |url=http://www.muktware.com/2013/10/java-weakened-androids-ssl-security-nsa-may-picture/15033 |title=Is it Java that weakened Android&#039;s SSL security? |publisher=Muktware |date=October 14, 2013 |access-date=November 2, 2013 |archive-date=October 26, 2013 |archive-url=https://web.archive.org/web/20131026181842/http://www.muktware.com/2013/10/java-weakened-androids-ssl-security-nsa-may-picture/15033 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://op-co.de/blog/posts/android_ssl_downgrade/ |title=Why Android SSL was downgraded from AES256-SHA to RC4-MD5 in late 2010 |date=October 15, 2013 |access-date=November 2, 2013 |publisher=op-co.de |archive-date=November 5, 2013 |archive-url=https://web.archive.org/web/20131105221353/http://op-co.de/blog/posts/android_ssl_downgrade/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Fixed a spontaneous reboot on [[Samsung Galaxy S Plus]].&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.5&lt;br /&gt;
| July 25, 2011&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.5_r1 |title=refs/tags/android-2.3.5_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135849/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.5_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improved network performance for the [[Nexus S]] 4G, among other fixes and improvements.&lt;br /&gt;
* Fixed a Bluetooth bug on [[Samsung Galaxy S (2010 smartphone)|Samsung Galaxy S]].&lt;br /&gt;
* Fixed a Wi-Fi crash on [[Samsung Galaxy S Plus]].&lt;br /&gt;
* Improved the Gmail application.&lt;br /&gt;
* Shadow animations for list scrolling.&lt;br /&gt;
* Camera software enhancements.&amp;lt;ref&amp;gt;{{cite news |last=Arghire |first=Ionut |title=Android 2.3.5 Arrives on Galaxy S in the UK |url=http://news.softpedia.com/news/Android-2-3-5-Arrives-on-Galaxy-S-in-the-UK-235644.shtml |publisher=Softpedia.com |access-date=December 1, 2011 |archive-date=December 4, 2011 |archive-url=https://web.archive.org/web/20111204034344/http://news.softpedia.com/news/Android-2-3-5-Arrives-on-Galaxy-S-in-the-UK-235644.shtml |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved battery efficiency.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.6&lt;br /&gt;
| September 2, 2011&amp;lt;ref&amp;gt;{{cite web |url=http://pocketnow.com/android/nexus-s-ushers-in-android-236-but-does-it-fix-or-cause-bugs |title=Nexus S Ushers-In Android 2.3.6, But Does It Fix Or Cause Bugs? |publisher=pocketnow |date=September 2, 2011 |access-date=August 4, 2014 |author=Stephen Schenck |archive-date=October 17, 2014 |archive-url=https://web.archive.org/web/20141017014023/http://pocketnow.com/android/nexus-s-ushers-in-android-236-but-does-it-fix-or-cause-bugs |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixed a voice search bug.{{Efn|The 2.3.6 update had the side-effect of impairing the Wi-Fi hotspot functionality of many Canadian Nexus S phones. Google acknowledged this problem and fixed it in late September.&amp;lt;ref&amp;gt;{{cite web |url=http://www.addictivetips.com/mobile/android-2-3-6-gingerbread-update-for-nexus-s-available-wi-fi-and-tethering-fix/ |title=Android 2.3.6 Gingerbread Update For Nexus S Available (Wi-Fi And Tethering Fix) |publisher=Addictive Tips |date=September 28, 2011 |access-date=December 20, 2011 |author=Ali Waqas |archive-date=December 12, 2011 |archive-url=https://web.archive.org/web/20111212004046/http://www.addictivetips.com/mobile/android-2-3-6-gingerbread-update-for-nexus-s-available-wi-fi-and-tethering-fix/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://pocketnow.com/android/google-samsung-nexus-s-gets-android-236-update |title=Google Samsung Nexus S Gets Android 2.3.6 Update |publisher=PocketNow |date=September 27, 2011 |access-date=December 20, 2011 |author=Anton D. Nagy |archive-url=https://web.archive.org/web/20111230132748/http://pocketnow.com/android/google-samsung-nexus-s-gets-android-236-update |archive-date=December 30, 2011 |url-status=dead}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.7&lt;br /&gt;
| September 21, 2011&lt;br /&gt;
|&lt;br /&gt;
* [[Google Wallet]] support for the Nexus S 4G.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 3.0 Honeycomb ===&lt;br /&gt;
{{Main|Android Honeycomb}}&lt;br /&gt;
{{Anchor|Android 3.0|Android Honeycomb|Honeycomb|Android 3|3.0}}&lt;br /&gt;
&lt;br /&gt;
On February 22, 2011, the Android 3.0 (Honeycomb) SDK – the first [[tablet computer|tablet]]-only Android update – was released, based on Linux kernel 2.6.36.&amp;lt;ref name=&amp;quot;honeycomb-highlights&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;honeycomb-sneak-peek&amp;quot;&amp;gt;{{cite web |url=http://googlemobile.blogspot.com/2011/01/sneak-peak-of-android-30-honeycomb.html |title=A Sneak Peek of Android 3.0, Honeycomb |first=Andy |last=Rubin |publisher=Google Mobile Blog |date=January 5, 2011 |access-date=January 5, 2011 |archive-url= https://web.archive.org/web/20110108061358/http://googlemobile.blogspot.com/2011/01/sneak-peak-of-android-30-honeycomb.html |archive-date=January 8, 2011 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;3.0-release&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2011/02/final-android-30-platform-and-updated.html |title=Final Android 3.0 Platform and Updated SDK Tools |author=Xavier Ducrohet |publisher=Android Developers Blog |date=February 22, 2011 |access-date=February 23, 2011 |archive-url= https://web.archive.org/web/20110305143408/http://android-developers.blogspot.com/2011/02/final-android-30-platform-and-updated.html |archive-date=March 5, 2011 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://www.anandtech.com/show/4150/googles-android-event-analysis/2 |title=Google&#039;s Android Event Analysis |author=Mithun Chandrasekhar |publisher=AnandTech |date=February 2, 2011 |access-date=February 5, 2011 |quote=I confirmed this with Google; Honeycomb, at least in the current form, will not be coming to non-tablet devices. |archive-date=February 5, 2011 |archive-url=https://web.archive.org/web/20110205210127/http://www.anandtech.com/show/4150/googles-android-event-analysis/2 |url-status=live }}&amp;lt;/ref&amp;gt; The first device featuring this version, the [[Motorola Xoom]] tablet, was released on February 24, 2011.&amp;lt;ref&amp;gt;{{cite web |url=https://www.engadget.com/2011/01/26/motorola-atrix-4g-and-xoom-tablet-launching-at-the-end-of-februa/ |title=Motorola Atrix 4G and Xoom tablet launching at the end of February, Droid Bionic and LTE Xoom in Q2 |author=Nilay Patel |publisher=Engadget |date=January 26, 2011 |access-date=February 5, 2011 |archive-date=February 4, 2011 |archive-url=https://web.archive.org/web/20110204085801/http://www.engadget.com/2011/01/26/motorola-atrix-4g-and-xoom-tablet-launching-at-the-end-of-februa? |url-status=live }}&amp;lt;/ref&amp;gt; The update&#039;s features included:&amp;lt;ref name=&amp;quot;honeycomb-highlights&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-3.0-highlights.html |title=Android 3.0 Platform Highlights |publisher=Android Developers |access-date=February 23, 2011 |archive-url=https://web.archive.org/web/20110216200154/http://developer.android.com/sdk/android-3.0-highlights.html |archive-date=February 16, 2011 |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 3.0 Honeycomb (API 11)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| February 22, 2011&amp;lt;ref name=&amp;quot;3.0-release&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Optimized tablet support with a new &amp;quot;holographic&amp;quot; user interface (removed again the following year with version 4.2).&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* New Easter egg, an image of a [[Tron]]-themed bumblebee.&lt;br /&gt;
* Added System Bar, featuring quick access to notifications, status, and soft navigation buttons, available at the bottom of the screen.&lt;br /&gt;
* Added the Action Bar, giving access to contextual options, navigation, widgets, or other types of content at the top of the screen.&lt;br /&gt;
* Simplified multitasking – tapping Recent Applications in the System Bar allows users to see snapshots of the tasks underway and quickly jump from one application to another.&lt;br /&gt;
* Redesigned the keyboard, making typing fast, efficient and accurate on larger screen sizes&lt;br /&gt;
* Simplified, more intuitive copy/paste interface.&lt;br /&gt;
* Multiple browser tabs replacing browser windows, plus form auto-fill and a new &amp;quot;incognito&amp;quot; mode allowing somewhat anonymous browsing.&lt;br /&gt;
* Quick access to camera exposure, focus, flash, zoom, front-facing camera, time-lapse, and other camera features.&lt;br /&gt;
* Ability to view albums and other collections in full-screen mode in Gallery, with easy access to thumbnails for other photos.&lt;br /&gt;
* New two-pane Contacts UI and Fast Scroll to let users easily organize and locate contacts.&lt;br /&gt;
* New two-pane Email UI to make viewing and organizing messages more efficient, allowing users to select one or more messages.&lt;br /&gt;
* Hardware acceleration.&lt;br /&gt;
* Support for [[multi-core processor]]s.&lt;br /&gt;
* Ability to encrypt all user data.&lt;br /&gt;
* HTTPS stack improved with [[Server Name Indication]] (SNI).&lt;br /&gt;
* [[Filesystem in Userspace]] (FUSE; kernel module).&lt;br /&gt;
* Disallows applications from having to write access to secondary storage (memory cards on devices with internal primary storage) outside of designated, application-specific directories. Full access to primary internal storage is still allowed through a separate application-level permission.&amp;lt;ref name=&amp;quot;anandtech-sdkitkat&amp;quot;&amp;gt;{{cite web |last=Ho |first=Joshua |title=Examining MicroSD changes in Android 4.4 |url=http://www.anandtech.com/show/7859/examining-microsd-changes-in-android-44 |work=Anandtech |access-date=March 28, 2014 |archive-date=March 28, 2014 |archive-url=https://web.archive.org/web/20140328131328/http://anandtech.com/show/7859/examining-microsd-changes-in-android-44 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;androidpolice-sdcards&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/02/17/external-blues-google-has-brought-big-changes-to-sd-cards-in-kitkat-and-even-samsung-may-be-implementing-them/ |title=External Blues: Google Has Brought Big Changes To SD Cards In KitKat, And Even Samsung Is Implementing Them |date=February 17, 2014 |author=Cody Toombs |access-date=February 20, 2014 |publisher=Android Police |archive-date=February 21, 2014 |archive-url=https://web.archive.org/web/20140221100831/http://www.androidpolice.com/2014/02/17/external-blues-google-has-brought-big-changes-to-sd-cards-in-kitkat-and-even-samsung-may-be-implementing-them/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 3.1 Honeycomb ====&lt;br /&gt;
{{anchor|Android 3.1|3.1}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 3.1 Honeycomb (API 12)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| May 10, 2011&amp;lt;ref&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2011/05/android-31-platform-new-sdk-tools.html |title=Android 3.1 Platform, New SDK tools |date=May 10, 2011 |first=Xavier |last=Ducrohet |publisher=Android Developers Blog |access-date=May 10, 2011 |archive-url= https://web.archive.org/web/20110511072447/http://android-developers.blogspot.com/2011/05/android-31-platform-new-sdk-tools.html |archive-date=May 11, 2011 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* UI refinements.&lt;br /&gt;
* Connectivity for USB accessories ([[USB On-The-Go]]).&lt;br /&gt;
* Expanded Recent Applications list.&lt;br /&gt;
* Resizable Home screen widgets.&lt;br /&gt;
* Support for external keyboards and pointing devices.&lt;br /&gt;
* Support for joysticks and gamepads.&lt;br /&gt;
* Support for [[FLAC]] audio playback.&amp;lt;ref name=&amp;quot;Android-Media-Formats&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/guide/appendix/media-formats.html |title=Android Supported Media Formats |publisher=Android Developers |access-date=March 30, 2012 |archive-date=March 11, 2012 |archive-url=https://web.archive.org/web/20120311121312/http://developer.android.com/guide/appendix/media-formats.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=1461 |title=Issue 1461 – Android – FLAC file support enhancement request. |access-date=August 5, 2011 |archive-date=April 10, 2017 |archive-url=https://web.archive.org/web/20170410001003/https://code.google.com/p/android/issues/detail?id=1461 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* High-performance Wi-Fi lock, maintaining high-performance Wi-Fi connections when the device screen is off.&lt;br /&gt;
* Support for HTTP proxy for each connected Wi-Fi access point.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 3.2 Honeycomb ====&lt;br /&gt;
{{anchor|Android 3.2|3.2}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 3.2 Honeycomb (API 13)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 3.2&lt;br /&gt;
| July 15, 2011&amp;lt;ref name=&amp;quot;Ducrohet&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2011/07/android-32-platform-and-updated-sdk.html |title=Android 3.2 Platform and Updated SDK tools |date=July 15, 2011 |first=Xavier |last=Ducrohet |publisher=Android Developers Blog |access-date=July 16, 2011 |archive-date=July 18, 2011 |archive-url=https://web.archive.org/web/20110718090730/http://android-developers.blogspot.com/2011/07/android-32-platform-and-updated-sdk.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improved hardware support, including optimizations for a wider range of tablets.&lt;br /&gt;
* Increased ability of applications to access files on the SD card, e.g. for synchronization.&lt;br /&gt;
* Compatibility display mode for applications that have not been optimized for tablet screen resolutions.&lt;br /&gt;
* New display support functions, giving developers more control over display appearance on different Android devices.&amp;lt;ref name=&amp;quot;Android Developers&amp;quot;&amp;gt;{{cite web |title=Supporting Multiple Screens: Declaring Tablet Layouts for Android 3.2 |publisher=Android Developers |year=2012 |url=http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts |access-date=February 18, 2013 |archive-date=January 28, 2013 |archive-url=https://web.archive.org/web/20130128224652/http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.1&lt;br /&gt;
| September 20, 2011&lt;br /&gt;
|&lt;br /&gt;
* Bug fixes and minor security, stability and Wi-Fi improvements.&lt;br /&gt;
* Update to [[Android Market]] with automatic updates and easier-to-read Terms and Conditions text.&lt;br /&gt;
* Update to [[Google Books]].&lt;br /&gt;
* Improved [[Adobe Flash]] support in browser.&lt;br /&gt;
* Improved [[Chinese language|Chinese]] handwriting prediction.&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.2&lt;br /&gt;
| September 30, 2011&lt;br /&gt;
|&lt;br /&gt;
* Bug fixes and other minor improvements for the Motorola Xoom 4G.&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.4&lt;br /&gt;
| December 15, 2011&lt;br /&gt;
|&lt;br /&gt;
* Pay As You Go for 3G and 4G tablets.&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.6&lt;br /&gt;
| February 15, 2012&lt;br /&gt;
|&lt;br /&gt;
* Fixed data connectivity issues when coming out of Airplane mode on the US 4G Motorola Xoom.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 4.0 Ice Cream Sandwich ===&lt;br /&gt;
{{Main|Android Ice Cream Sandwich}}&lt;br /&gt;
{{anchor|Android 4.0|Ice Cream Sandwich|Android Ice Cream Sandwich|Android 4|4.0}}&lt;br /&gt;
&lt;br /&gt;
The SDK for Android 4.0.1 (Ice Cream Sandwich), based on Linux kernel 3.0.1,&amp;lt;ref&amp;gt;{{cite web |last=Maroger |title=Ice Cream Sandwich Runs on Linux Kernel 3.0.1 |url=http://fineoils.blogspot.com/2011/10/ice-cream-sandwich-runs-on-linux-kernel.html#!/2011/10/ice-cream-sandwich-runs-on-linux-kernel.html |publisher=[[Blogspot]] |work=Fine Oils |date=October 19, 2011 |access-date=July 24, 2013 |archive-date=September 26, 2013 |archive-url=https://web.archive.org/web/20130926170532/http://fineoils.blogspot.com/2011/10/ice-cream-sandwich-runs-on-linux-kernel.html#!/2011/10/ice-cream-sandwich-runs-on-linux-kernel.html |url-status=live }}&amp;lt;/ref&amp;gt; was publicly released on October 19, 2011.&amp;lt;ref&amp;gt;{{cite web |url=http://socialbarrel.com/android-4-0-ice-cream-sandwich-sdk-now-available/24093/ |title=Android 4.0 Ice Cream Sandwich SDK Now Available |publisher=Social Barrel |first=Francis |last=Rey |date=October 19, 2011 |access-date=July 24, 2013 |archive-date=September 8, 2013 |archive-url=https://web.archive.org/web/20130908152338/http://socialbarrel.com/android-4-0-ice-cream-sandwich-sdk-now-available/24093/ |url-status=live }}&amp;lt;/ref&amp;gt; Google&#039;s Gabe Cohen stated that Android 4.0 was &amp;quot;theoretically compatible&amp;quot; with any Android 2.3.x device in production at that time.&amp;lt;ref&amp;gt;{{cite news |url=https://www.engadget.com/2011/10/19/google-confirms-nexus-s-will-get-ice-cream-sandwich-for-real/ |title=Google confirms Nexus S will get Ice Cream Sandwich – for real this time (Gingerbread devices, too) |publisher=Engadget |first=Tim |last=Stevens |date=October 19, 2011 |access-date=July 24, 2013 |archive-date=August 25, 2013 |archive-url=https://web.archive.org/web/20130825184314/http://www.engadget.com/2011/10/19/google-confirms-nexus-s-will-get-ice-cream-sandwich-for-real/ |url-status=live }}&amp;lt;/ref&amp;gt; The [[source code]] for Android 4.0 became available on November 14, 2011.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidguys.com/2011/11/15/ice-cream-sandwich-source-code-released-custom-roms-inevitable/ |title=Ice Cream Sandwich source code released, custom ROMs inevitable |publisher=AndroidGuys |first=Vincent |last=Messina |date=November 15, 2011 |access-date=July 24, 2013 |archive-date=September 22, 2013 |archive-url=https://web.archive.org/web/20130922033259/http://www.androidguys.com/2011/11/15/ice-cream-sandwich-source-code-released-custom-roms-inevitable/ |url-status=dead }}&amp;lt;/ref&amp;gt; Ice Cream Sandwich was the last version to officially support [[Adobe Systems]]&#039; [[Flash player#Mobile platforms|Flash player]].&amp;lt;ref&amp;gt;{{cite web |url=http://www.webpronews.com/today-is-the-last-day-to-get-flash-for-android-2012-08 |title=Today Is The Last Day To Get Flash For Android |publisher=WebProNews |date=August 14, 2012 |access-date=February 7, 2013 |archive-date=January 30, 2013 |archive-url=https://web.archive.org/web/20130130212639/http://www.webpronews.com/today-is-the-last-day-to-get-flash-for-android-2012-08 |url-status=live }}&amp;lt;/ref&amp;gt; The update introduced numerous new features:&amp;lt;ref name=&amp;quot;ics-release&amp;quot;&amp;gt;{{cite web |url=https://www.engadget.com/2011/10/18/android-4-0-ice-cream-sandwich-now-official/ |title=Android 4.0 Ice Cream Sandwich now official, includes revamped design, enhancements galore |publisher=Engadget |first=Brad |last=Molen |date=October 19, 2011 |access-date=October 19, 2011 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141807/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2011-10-18-android-4-0-ice-cream-sandwich-now-official.html%26tbla_id%3D291617d0-ae7b-4f64-a3ab-2d9c87337e65-tuctc9d729d%26gam_id%3Dy-Dg48dZ5E2uL0jTg1pU87JdyUKqk5Bqxu%7EA%26axids%3Dgam%3Dy-Dg48dZ5E2uL0jTg1pU87JdyUKqk5Bqxu%7EA%26dv360%3DeS1xMElGWXRORTJ1RWJBTHF3SFM2Tl9kRWV1bVE4cnB0b35B%26ydsp%3Dy-sZGCizFE2uJUefsPeUXcKYwdxKNrsV3C%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |url=http://reviews.cnet.com/8301-19736_7-20122331-251/ice-cream-sandwich-adds-tons-of-new-features/?tag=mncol;txt |title=Ice Cream Sandwich adds tons of new features |publisher=CNET |first=Kent |last=German |date=October 18, 2011 |access-date=July 24, 2013}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://techcrunch.com/2011/10/18/a-quick-ice-cream-sandwich-feature-rundown/ |title=A Quick Android 4.0 Ice Cream Sandwich Feature Rundown |publisher=Tech Crunch |first=Chris |last=Velazco |date=October 18, 2011 |access-date=July 24, 2013 |archive-date=July 28, 2013 |archive-url=https://web.archive.org/web/20130728060204/http://techcrunch.com/2011/10/18/a-quick-ice-cream-sandwich-feature-rundown/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.0 Ice Cream Sandwich (API 14)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| October 18, 2011&amp;lt;ref name=&amp;quot;ics-release&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Major refinements to the &amp;quot;Holo&amp;quot; interface with the new [[Roboto]] font family.&lt;br /&gt;
* Soft buttons from Android 3.x are now available for use on phones.&lt;br /&gt;
* Separation of widgets in a new tab, listed in a similar manner to applications.&lt;br /&gt;
* Easier-to-create folders, with a drag-and-drop style.&lt;br /&gt;
* Improved visual voicemail with the ability to speed up or slow down voicemail messages.&lt;br /&gt;
* Pinch-to-zoom functionality in the Calendar.&lt;br /&gt;
* Integrated screenshot capture (accomplished by holding down the Power and Volume-Down buttons).&lt;br /&gt;
* Improved error correction on the keyboard.&lt;br /&gt;
* Ability to access applications directly from the [[lock screen]].&lt;br /&gt;
* Improved copy-and-paste functionality.&lt;br /&gt;
* Better voice integration and continuous, real-time speech-to-text dictation.&lt;br /&gt;
* Face Unlock, a feature that allows users to unlock handsets using [[facial recognition software]].&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* Automatic syncing of browser with users&#039; Chrome bookmarks.&lt;br /&gt;
* Data Usage section in settings that lets users set warnings when they approach a certain usage limit, and disable data use when the limit is exceeded.&lt;br /&gt;
* Ability to shut down applications from the recent apps list with a swipe.&amp;lt;ref&amp;gt;{{cite web |url=http://www.howtogeek.com/169549/what-exactly-happens-when-you-swipe-an-android-app-from-the-recent-apps-list/ |title=What Exactly Happens When You Swipe An Android App From the Recent Apps List? |last=Fitzpatrick |first=Jason |date=August 20, 2013 |publisher=How-To Geek |access-date=September 19, 2014 |archive-date=October 15, 2014 |archive-url=https://web.archive.org/web/20141015200044/http://www.howtogeek.com/169549/what-exactly-happens-when-you-swipe-an-android-app-from-the-recent-apps-list/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved camera application with zero shutter lag, time lapse settings, panorama mode, and the ability to zoom while recording.&lt;br /&gt;
* Built-in photo editor.&lt;br /&gt;
* New gallery layout, organized by location and person.&lt;br /&gt;
* Refreshed the &amp;quot;People&amp;quot; application with social network integration, status updates and hi-res images.&lt;br /&gt;
* [[Android Beam]], a [[near-field communication]] feature allowing the rapid short-range exchange of web bookmarks, contact info, directions, YouTube videos and other data.&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* Support for the [[WebP]] image format.&amp;lt;ref name=&amp;quot;Android-Media-Formats&amp;quot; /&amp;gt;&lt;br /&gt;
* Hardware acceleration of the UI.&amp;lt;ref&amp;gt;{{cite web |url=http://phandroid.com/2011/10/19/android-4-0-ice-cream-sandwich-has-hardware-acceleration/ |title=Android 4.0 Ice Cream Sandwich has Hardware Acceleration |publisher=Phandroid |first=Quentyn |last=Kennemer |date=October 19, 2011 |access-date=October 19, 2011 |archive-date=October 21, 2011 |archive-url=https://web.archive.org/web/20111021022202/http://phandroid.com/2011/10/19/android-4-0-ice-cream-sandwich-has-hardware-acceleration/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Wi-Fi Direct]].&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/guide/topics/connectivity/wifip2p.html |title=Wi-Fi Direct |publisher=Android Developers |access-date=July 27, 2013 |archive-date=August 17, 2013 |archive-url=https://web.archive.org/web/20130817042707/http://developer.android.com/guide/topics/connectivity/wifip2p.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[1080p]] video recording for stock Android devices.&lt;br /&gt;
* Android VPN Framework (AVF), and TUN (but not TAP) kernel module. Prior to 4.0, VPN software required a rooted Android device.&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.1&lt;br /&gt;
| October 19, 2011&lt;br /&gt;
|&lt;br /&gt;
* Fixed minor bugs for the Samsung Galaxy Nexus.&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.2&lt;br /&gt;
| November 28, 2011&lt;br /&gt;
|&lt;br /&gt;
* Fixed minor bugs on the Verizon Galaxy Nexus, the US launch of which was later delayed until December 2011.{{Efn|For Canadian consumers, 4.0.2 reportedly created a bug on the Galaxy Nexus that crashed the application market when users attempted to view details of any Android application. It also inadvertently reduced the [[Near-field communication|NFC]] capabilities of the Nexus phone.&amp;lt;ref&amp;gt;{{cite web |url=http://www.droid-life.com/2011/11/28/verizons-4g-lte-galaxy-nexus-still-in-testing-receives-android-4-0-2-update/ |title=Verizon&#039;s 4G LTE Galaxy Nexus Gets Pictured, Receives Android 4.0.2 Update |publisher=DroidLife |date=November 28, 2011 |access-date=December 8, 2011 |archive-date=December 7, 2011 |archive-url=https://web.archive.org/web/20111207015154/http://www.droid-life.com/2011/11/28/verizons-4g-lte-galaxy-nexus-still-in-testing-receives-android-4-0-2-update/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://www.droid-life.com/2011/12/15/within-2-hours-of-activation-your-galaxy-nexus-will-receive-an-update-here-are-the-details/ |title=Within 2 Hours of Activation, Your Galaxy Nexus Will Receive an Update |publisher=DroidLife |date=December 15, 2011 |access-date=December 15, 2011 |archive-date=December 15, 2011 |archive-url=https://web.archive.org/web/20111215185645/http://www.droid-life.com/2011/12/15/within-2-hours-of-activation-your-galaxy-nexus-will-receive-an-update-here-are-the-details/ |url-status=live }}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 4.0.3 Ice Cream Sandwich ====&lt;br /&gt;
{{anchor|Android 4.0.3|4.0.3}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.0.3 Ice Cream Sandwich (API 15)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.3&lt;br /&gt;
| December 16, 2011&amp;lt;ref name=ICS16Dec2011&amp;gt;[http://android-developers.blogspot.com/2011/12/android-403-platform-and-updated-sdk.html &amp;quot;Android 4.0.3 Platform and Updated SDK tools&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20140719073950/http://android-developers.blogspot.com/2011/12/android-403-platform-and-updated-sdk.html |date=July 19, 2014 }}. Android Developers Blog. December 16, 2011. Retrieved January 4, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Numerous bug fixes and optimizations.&lt;br /&gt;
* Improvements to graphics, databases, spell-checking and Bluetooth functionality.&lt;br /&gt;
* New APIs for developers, including a social stream API in the Contacts provider.&lt;br /&gt;
* Calendar provider enhancements.&lt;br /&gt;
* New camera applications enhancing video stabilization and [[Quarter Video Graphics Array|QVGA]] resolution.&lt;br /&gt;
* Accessibility refinements such as improved content access for screen readers.&amp;lt;ref&amp;gt;{{cite web |url=https://www.engadget.com/2011/12/16/android-4-0-3-announced-brings-variety-of-optimizations-and-bu/ |title=Android 4.0.3 announced, bringing &#039;variety of optimizations and bug fixes&#039; to phones and tablets |publisher=Engadget |date=December 16, 2011 |access-date=December 17, 2011 |archive-date=January 2, 2013 |archive-url=https://web.archive.org/web/20130102083750/http://www.engadget.com/2011/12/16/android-4-0-3-announced-brings-variety-of-optimizations-and-bu/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.4&lt;br /&gt;
| March 28, 2012&lt;br /&gt;
|&lt;br /&gt;
* Stability improvements.&lt;br /&gt;
* Better camera performance.&lt;br /&gt;
* Smoother screen rotation.&lt;br /&gt;
* Improved phone number recognition.&amp;lt;ref name=ICS29mar2012&amp;gt;[https://plus.google.com/u/0/104629412415657030658/posts/NgGwavbmkQ7 Google announces 4.0.4 on Google+] {{Webarchive|url=https://web.archive.org/web/20120329020144/https://plus.google.com/u/0/104629412415657030658/posts/NgGwavbmkQ7 |date=March 29, 2012 }}. March 28, 2012. Retrieved March 31, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 4.1 Jelly Bean ===&lt;br /&gt;
{{Main|Android Jelly Bean}}&lt;br /&gt;
{{anchor|Jelly Bean|Project Butter|Android 4.1|Android Jelly Bean|4.1}}&lt;br /&gt;
&lt;br /&gt;
Google announced Android 4.1 (Jelly Bean) at the [[Google I/O]] conference on June 27, 2012. Based on Linux kernel 3.0.31, Jelly Bean was an incremental update with the primary aim of improving the functionality and performance of the user interface. The performance improvement involved &amp;quot;Project Butter&amp;quot;, which uses touch anticipation, [[Multiple buffering|triple buffering]], extended [[vsync (computing)|vsync]] timing and a fixed frame rate of 60&amp;amp;nbsp;[[framerate|fps]] to create a fluid and &amp;quot;buttery-smooth&amp;quot; UI.&amp;lt;ref name=&amp;quot;Android-4.1-devs&amp;quot; /&amp;gt; Android 4.1 Jelly Bean was released to the [[Android Open Source Project]] on July 9, 2012,&amp;lt;ref&amp;gt;{{cite web |last=Queru |first=Jean-Baptiste |title=Android 4.1 in AOSP |url=https://groups.google.com/forum/#!topic/android-building/XBYeD-bhk1o |access-date=July 12, 2012 |archive-date=January 22, 2011 |archive-url=http://arquivo.pt/wayback/20110122130054/https://groups.google.com/forum/#!topic/android-building/XBYeD-bhk1o |url-status=live }}&amp;lt;/ref&amp;gt; and the [[Nexus 7 (2012 version)|Nexus 7]] tablet, the first device to run Jelly Bean, was released on July 13, 2012.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.1 Jelly Bean (API 16)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| July 9, 2012&lt;br /&gt;
|&lt;br /&gt;
* Smoother user interface:&lt;br /&gt;
** Vsync timing across all drawing and animation done by the Android framework, including application rendering, touch events, screen composition and display refresh.&lt;br /&gt;
** Triple buffering in the graphics pipeline.&lt;br /&gt;
** CPU input boost.&lt;br /&gt;
** Synchronizing touch to vsync timing.&lt;br /&gt;
* Enhanced [[accessibility]].&lt;br /&gt;
* Bi-directional text and other language support.&lt;br /&gt;
* User-installable keyboard maps.&lt;br /&gt;
* Expandable notifications.&lt;br /&gt;
* TLS v1.1 and v1.2 support added.&lt;br /&gt;
* Ability to turn off notifications on an application-specific basis.&lt;br /&gt;
* Shortcuts and widgets can automatically be re-arranged or re-sized to allow new items to fit on home screens.&lt;br /&gt;
* Bluetooth data transfer for Android Beam.&lt;br /&gt;
* Tablets with smaller screens now use an expanded version of the interface layout and home screen used by phones.&amp;lt;ref name=&amp;quot;android41-differentlayouts&amp;quot;&amp;gt;{{cite news |title=Confirmed: Android 4.1 uses different layouts for different tablet sizes |url=http://blogs.computerworld.com/mobile-and-wireless/20653/android-41-tablet-layout |publisher=ComputerWorld |access-date=July 8, 2012 |archive-url=https://web.archive.org/web/20130119012034/http://blogs.computerworld.com/mobile-and-wireless/20653/android-41-tablet-layout |archive-date=January 19, 2013 |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved camera application.&lt;br /&gt;
* Multichannel audio.&amp;lt;ref name=&amp;quot;Android-4.1-devs&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/about/versions/jelly-bean.html#media |title=Android 4.1 for Developers |publisher=Android Developers |access-date=February 9, 2013 |archive-date=January 28, 2013 |archive-url=https://web.archive.org/web/20130128204124/http://developer.android.com/about/versions/jelly-bean.html#media |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[Fraunhofer FDK AAC]] codec becomes standard in Android, adding AAC 5.1 channel encoding/decoding.&lt;br /&gt;
* USB audio (for external sound [[Digital-to-analog converter|DACs]]).&amp;lt;ref name=&amp;quot;Android-4.1-devs&amp;quot; /&amp;gt;&lt;br /&gt;
* Audio chaining (also known as [[gapless playback]]).&amp;lt;ref name=&amp;quot;Android-4.1-devs&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=3461 |title=Issue 3461: Implement Gapless Playback of consecutive audio files |access-date=November 12, 2012 |archive-date=May 25, 2013 |archive-url=https://web.archive.org/web/20130525015225/http://code.google.com/p/android/issues/detail?id=3461 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://www.pocketables.com/2012/06/android-4-1-finally-adds-gapless-music-playback-to-stock-music-apps.html |title=Android 4.1 finally adds gapless music playback to stock music apps |publisher=Pocketables.com |date=June 29, 2012 |access-date=June 30, 2012 |archive-date=November 10, 2012 |archive-url=https://web.archive.org/web/20121110090332/http://www.pocketables.com/2012/06/android-4-1-finally-adds-gapless-music-playback-to-stock-music-apps.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Ability for other launchers to add widgets from the application drawer without requiring root access.&lt;br /&gt;
|-&lt;br /&gt;
| 4.1.1&lt;br /&gt;
| July 9, 2012&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.1.1_r1 |title=refs/tags/android-4.1.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141825/https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.1.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixed a bug on the Nexus 7 regarding the inability to change screen orientation in applications.&lt;br /&gt;
|-&lt;br /&gt;
| 4.1.2&lt;br /&gt;
| October 9, 2012&amp;lt;ref name=&amp;quot;Jelly Bean 4.1.2&amp;quot;&amp;gt;[https://www.theverge.com/2012/10/9/3479662/android-4-1-2-coming-to-nexus-7 &amp;quot;Android 4.1.2 rolling out for Nexus 7&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130521093052/http://www.theverge.com/2012/10/9/3479662/android-4-1-2-coming-to-nexus-7 |date=May 21, 2013 }}. &#039;&#039;[[The Verge (website)|The Verge]]&#039;&#039;. October 9, 2012. Retrieved October 9, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Lock/home screen rotation support.&amp;lt;ref&amp;gt;{{cite web |url=http://gigaom.com/mobile/android-4-1-2-brings-home-screen-rotation-to-devices/ |title=Android 4.1.2 brings homescreen rotation to devices |publisher=GigaOM |date=October 9, 2012 |access-date=October 9, 2012 |archive-date=October 11, 2012 |archive-url=https://web.archive.org/web/20121011120521/http://gigaom.com/mobile/android-4-1-2-brings-home-screen-rotation-to-devices/ |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* One-finger gestures to expand/collapse notifications.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2012/10/09/new-in-android-4-1-2-expandingcollapsing-notifications-with-one-finger-video/ |title=New Feature In Android 4.1.2: Expanding/Collapsing Notifications With One Finger (Video) |publisher=Android Police |date=October 9, 2012 |access-date=October 9, 2012 |archive-date=October 11, 2012 |archive-url=https://web.archive.org/web/20121011072628/http://www.androidpolice.com/2012/10/09/new-in-android-4-1-2-expandingcollapsing-notifications-with-one-finger-video/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Bug fixes and performance enhancements.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 4.2 Jelly Bean ====&lt;br /&gt;
{{anchor|Android 4.2|4.2}}&lt;br /&gt;
&lt;br /&gt;
Google was expected to announce Jelly Bean 4.2 at an event in [[New York City]] on October 29, 2012, but the event was cancelled due to [[Hurricane Sandy]].&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidcentral.com/monday-s-google-event-nyc-cancelled-due-hurricane-sandy |title=Monday&#039;s Google event in NYC canceled due to Hurricane Sandy |publisher=Android Central |date=October 27, 2012 |access-date=February 19, 2014 |archive-date=September 26, 2013 |archive-url=https://web.archive.org/web/20130926100214/http://www.androidcentral.com/monday-s-google-event-nyc-cancelled-due-hurricane-sandy |url-status=live }}&amp;lt;/ref&amp;gt; Instead of rescheduling the live event, Google announced the new version with a press release, under the slogan &amp;quot;A new flavor of Jelly Bean&amp;quot;. Jelly Bean 4.2 was based on Linux kernel 3.4.0, and debuted on Google&#039;s [[Nexus 4]] and [[Nexus 10]], which were released on November 13, 2012.&amp;lt;ref name=&amp;quot;New4.2And&amp;quot;&amp;gt;{{cite web |url=http://www.knowyourmobile.com/blog/1678521/android_42_jelly_bean_lands_on_nexus_7.html |title=Android 4.2 Jelly Bean lands on Nexus 7 |publisher=Know Your Mobile |date=November 14, 2012 |access-date=November 14, 2012 |archive-url=https://web.archive.org/web/20121117002507/http://www.knowyourmobile.com/blog/1678521/android_42_jelly_bean_lands_on_nexus_7.html |archive-date=November 17, 2012 |url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |url=https://uk.ign.com/articles/2012/11/14/google-releases-nexus-4-nexus-10-and-android-42 |title=Google Releases Nexus 4, Nexus 10 and Android 4.2 |publisher=IGN |date=November 13, 2012 |access-date=November 16, 2012 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141827/https://www.ign.com/articles/2012/11/14/google-releases-nexus-4-nexus-10-and-android-42 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.2 Jelly Bean (API 17)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| November 13, 2012&amp;lt;ref name=&amp;quot;Jelly Bean 4.2&amp;quot;&amp;gt;[https://www.theverge.com/2012/10/29/3569244/android-4-2-new-features-miracast-gesture-keyboard-multiple-users-photo-sphere &amp;quot;Android 4.2 adds gestue typing, wireless TV display, multiple user support on tablets, and more&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20240114141804/https://www.theverge.com/2012/10/29/3569244/android-4-2-new-features-miracast-gesture-keyboard-multiple-users-photo-sphere |date=January 14, 2024 }}. &#039;&#039;[[The Verge (website)|The Verge]]&#039;&#039;. October 29, 2012. Retrieved October 29, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[Lock screen]] improvements, including widget support (removed again in 2014)&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt; and the ability to swipe directly to the camera.&amp;lt;ref&amp;gt;[http://www.techradar.com/news/phone-and-communications/mobile-phones/android-4-2-jelly-bean-brings-all-new-photography-powers-1108294 &amp;quot;Android 4.2 Jelly Bean brings all-new photography powers&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20121030113843/http://www.techradar.com/news/phone-and-communications/mobile-phones/android-4-2-jelly-bean-brings-all-new-photography-powers-1108294 |date=October 30, 2012 }}. TechRadar.com. October 29, 2012. Retrieved November 12, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Notification power controls (&amp;quot;Quick Settings&amp;quot;).&lt;br /&gt;
* &amp;quot;Daydream&amp;quot; [[screensaver]]s, showing information when idle or docked (later renamed to &amp;quot;screen saver&amp;quot; following the launch of the unrelated [[Google Daydream]] VR platform in 2016).&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* Multiple user accounts (tablets only).&lt;br /&gt;
* Rewritten [[Bluetooth stack]], switching from [[Bluez]] to [[Broadcom]] open source [[BlueDroid]],&amp;lt;ref name=&amp;quot;anand1&amp;quot;&amp;gt;{{cite web |url=http://www.anandtech.com/show/6965/the-next-version-of-android-some-of-whats-coming |title=The Next Version of Android – Some of What&#039;s Coming |website=anandtech.com |first=Brian |last=Klug |date=May 19, 2013 |access-date=October 28, 2014 |archive-date=October 6, 2014 |archive-url=https://web.archive.org/web/20141006122815/http://www.anandtech.com/show/6965/the-next-version-of-android-some-of-whats-coming |url-status=live }}&amp;lt;/ref&amp;gt; allowing improved support for multiple displays and wireless display ([[Miracast]]).&lt;br /&gt;
* Native [[right-to-left]], always-on [[Virtual Private Network|VPN]] and application verification.&amp;lt;ref name=&amp;quot;aosp-jb1&amp;quot;&amp;gt;{{cite web |title=Jelly Bean |url=http://developer.android.com/about/versions/jelly-bean.html |website=Android developer portal |access-date=July 2, 2014 |archive-date=January 28, 2013 |archive-url=https://web.archive.org/web/20130128204124/http://developer.android.com/about/versions/jelly-bean.html |url-status=live }}&amp;lt;/ref&amp;gt; A new [[Near field communication|NFC]] stack was added at the same time.&amp;lt;ref name=&amp;quot;anand1&amp;quot; /&amp;gt;&lt;br /&gt;
* Accessibility improvements: triple-tap to magnify the entire screen, pan and zoom with two fingers. Speech output and Gesture Mode navigation for blind users.&lt;br /&gt;
* New clock application with a built-in world clock, stop watch and timer.&lt;br /&gt;
* All devices now use the same interface layout, previously adapted from phones on 4.1 for smaller tablets (with centered software buttons, the system bar at the top of the screen, and a home screen with a dock and centered application menu), regardless of screen size.&lt;br /&gt;
* Increased number of extended notifications and Actionable Notifications for more applications, allowing users to respond to certain notifications within the notification bar and without launching the application directly.&lt;br /&gt;
* [[SELinux]] support.&lt;br /&gt;
* Premium [[SMS]] confirmation.&amp;lt;ref name=&amp;quot;Android Police 4.2 Alpha Teardown&amp;quot;&amp;gt;[http://www.androidpolice.com/2012/10/17/exclusive-android-4-2-alpha-teardown-part-2-selinux-vpn-lockdown-and-premium-sms-confirmation/ &amp;quot;Exclusive Android 4.2 Alpha Teardown, Part 2: SELinux, VPN Lockdown, And Premium SMS Confirmation&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20121021032403/http://www.androidpolice.com/2012/10/17/exclusive-android-4-2-alpha-teardown-part-2-selinux-vpn-lockdown-and-premium-sms-confirmation/ |date=October 21, 2012 }}. Android Police. October 17, 2012. Retrieved November 12, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Group Messaging support.&lt;br /&gt;
* Developer options hidden in settings and can be displayed after tapping the Build number 7 times on About phone.&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| November 27, 2012&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.2.1_r1 |title=refs/tags/android-4.2.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141830/https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.2.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Jelly Bean 4.2.1&amp;quot;&amp;gt;[http://www.androidpolice.com/2012/11/27/changelog-whats-new-in-android-4-2-1-jop40d/ &amp;quot;(Changelog) What&#039;s New In Android 4.2.1 (JOP40D)&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20121130085348/http://www.androidpolice.com/2012/11/27/changelog-whats-new-in-android-4-2-1-jop40d/ |date=November 30, 2012 }}. Android Police. November 27, 2012. Retrieved November 27, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixed a bug in the People application where December was not displayed on the date selector when adding an event to a contact.&amp;lt;ref name=&amp;quot;December bug&amp;quot;&amp;gt;[http://www.androidpolice.com/2012/11/17/sorry-santa-google-cancels-december-in-android-4-2/ &amp;quot;Sorry, Santa – Google Cancels December In Android 4.2&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20121121185515/http://www.androidpolice.com/2012/11/17/sorry-santa-google-cancels-december-in-android-4-2/ |date=November 21, 2012 }}. Android Police. November 17, 2012. Retrieved November 27, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added Bluetooth gamepads and joysticks as supported [[Human interface device|HIDs]] (Human interface devices).&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.2&lt;br /&gt;
| February 11, 2013&amp;lt;ref name=&amp;quot;Jelly Bean 4.2.2&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/02/11/breaking-android-4-2-2-build-jdq39-update-rolling-out-to-gsm-galaxy-nexus-nexus-7-nexus-10/ &amp;quot;Breaking: Android 4.2.2 (Build JDQ39) Update Rolling Out To GSM Galaxy Nexus, Nexus 7, Nexus 10&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130215033526/http://www.androidpolice.com/2013/02/11/breaking-android-4-2-2-build-jdq39-update-rolling-out-to-gsm-galaxy-nexus-nexus-7-nexus-10/ |date=February 15, 2013 }}. Android Police. February 11, 2013. Retrieved February 12, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixed Bluetooth audio streaming bugs.&amp;lt;ref&amp;gt;{{cite news |url=https://arstechnica.com/gadgets/2013/02/android-4-2-2-brings-bluetooth-audio-fixes-to-nexus-phones-and-tablets/ |title=Android 4.2.2 brings Bluetooth audio fixes to Nexus phones and tablets |publisher=Ars Technica |date=February 12, 2013 |access-date=February 12, 2013 |archive-date=February 12, 2013 |archive-url=https://web.archive.org/web/20130212200213/http://arstechnica.com/gadgets/2013/02/android-4-2-2-brings-bluetooth-audio-fixes-to-nexus-phones-and-tablets/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Long-pressing the Wi-Fi and Bluetooth icons in Quick Settings now toggles the on/off state.&lt;br /&gt;
* New download notifications, which now show the percentage and estimated time remaining for active application downloads.&lt;br /&gt;
* New sounds for wireless charging and low battery.&lt;br /&gt;
* New Gallery application animation allows faster loading.&lt;br /&gt;
* USB debug whitelist.&lt;br /&gt;
* Bug fixes and performance enhancements.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 4.3 Jelly Bean ====&lt;br /&gt;
{{anchor|Android 4.3|4.3}}&lt;br /&gt;
&lt;br /&gt;
Google released Jelly Bean 4.3 under the slogan &amp;quot;An even sweeter Jelly Bean&amp;quot; on July 24, 2013, during an event in [[San Francisco]] called &amp;quot;Breakfast with [[Sundar Pichai]]&amp;quot;. Most Nexus devices received the update within a week, although the [[Nexus 7 (2nd generation)|second-generation Nexus 7]] tablet was the first device to officially ship with it.&amp;lt;ref name=TomsJuly2013&amp;gt;{{cite web |url=http://www.tomshardware.com/news/Android-4.3-Update-Roll-out-Release-Nexus,23671.html |title=Google Announces Android 4.3, Update Rolling Out Today |publisher=Tom&#039;s Hardware |date=July 24, 2013 |access-date=July 25, 2013 |archive-date=October 3, 2023 |archive-url=https://web.archive.org/web/20231003112436/https://www.tomshardware.com/news/Android-4.3-Update-Roll-out-Release-Nexus,23671.html |url-status=live }}&amp;lt;/ref&amp;gt; A minor bug fix update was released on August 22, 2013.&amp;lt;ref&amp;gt;{{cite news |url=https://www.engadget.com/2013/08/22/aosp-latest-4-3-fixes/ |title=Android Open Source Project now has latest 4.3 fixes for most Nexus hardware |publisher=[[Engadget]] |date=August 22, 2013 |access-date=August 22, 2013 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141808/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2013-08-22-aosp-latest-4-3-fixes.html%26tbla_id%3D447fb467-8d25-454f-82ad-98780acfec34-tuctc9d729f%26gam_id%3Dy-eqLeIpRE2uJ.vUrah5ms6o3fu9Z8svld%7EA%26axids%3Dgam%3Dy-eqLeIpRE2uJ.vUrah5ms6o3fu9Z8svld%7EA%26dv360%3DeS1iUmlHeE1kRTJ1R2NTSG5tYkhzRnVrU0g3emw0eTEwbX5B%26ydsp%3Dy-SJLpaihE2uLvwgj5B5tUS9dk0wj2wjfR%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.3 Jelly Bean (API 18)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| July 24, 2013&amp;lt;ref name=&amp;quot;Jelly Bean 4.3&amp;quot;&amp;gt;[https://www.theverge.com/2013/7/24/4550234/android-4-3-announcement &amp;quot;Android 4.3 announced, rolling out to Nexus devices today&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20230929173309/https://www.theverge.com/2013/7/24/4550234/android-4-3-announcement |date=September 29, 2023 }}. &#039;&#039;[[The Verge (website)|The Verge]]&#039;&#039;. July 24, 2013. Retrieved July 24, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[Bluetooth Low Energy]] support.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot;&amp;gt;[http://officialandroid.blogspot.com/2013/07/introducing-android-43-sweeter-jelly.html &amp;quot;Introducing Android 4.3, a sweeter Jelly Bean&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130730233815/http://officialandroid.blogspot.com/2013/07/introducing-android-43-sweeter-jelly.html |date=July 30, 2013 }}. Official Android Blog. July 24, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[AVRCP|Bluetooth Audio/Video Remote Control Profile (AVRCP) 1.3]] support.&lt;br /&gt;
* [[OpenGL ES#OpenGL ES 3.0|OpenGL ES 3.0]] support, allowing improved game graphics.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot; /&amp;gt;&lt;br /&gt;
* Restricted access mode for new user profiles.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot; /&amp;gt;&lt;br /&gt;
* Filesystem performance improvement by running the [[Trim (computing)|fstrim]] command while a device is idle.&amp;lt;ref name=&amp;quot;EngdtTRIM&amp;quot;&amp;gt;[https://www.engadget.com/2013/07/30/android-4-3-supports-trim-improves-performance-on-nexus-devices/ &amp;quot;Android 4.3 supports TRIM, improves performance on Nexus devices&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20240114141809/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2013-07-30-android-4-3-supports-trim-improves-performance-on-nexus-devices.html%26tbla_id%3Dd275f044-f810-4e4e-b4b0-2dc43cb31d45-tuctc9d72a0%26gam_id%3Dy-xD8ykKpE2uLB04V0irxMKnP08zDBz2ql%7EA%26axids%3Dgam%3Dy-xD8ykKpE2uLB04V0irxMKnP08zDBz2ql%7EA%26dv360%3DeS1tVkZ1LjBWRTJ1RUVpdnJON3h0aEQwTVFoNXdxbUVSc35B%26ydsp%3Dy-nSbl59VE2uIt3s8z8x8Yh7ewOVW.GSw_%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |date=January 14, 2024 }}. Engadget. July 30, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Dial pad auto-complete in the Phone application.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot; /&amp;gt;&lt;br /&gt;
* Volume for incoming calls (ringtone) and notification alerts is no longer adjustable separately.&lt;br /&gt;
* Improvements to Photo Sphere.&amp;lt;ref name=&amp;quot;APPhotosphere&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/07/25/another-android-4-3-change-photo-spheres-look-a-lot-better-now/ &amp;quot;Another Android 4.3 Change: Photo Spheres Look A Lot Better Now&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130728065835/http://www.androidpolice.com/2013/07/25/another-android-4-3-change-photo-spheres-look-a-lot-better-now/ |date=July 28, 2013 }}. Android Police. July 25, 2013. Retrieved July 28, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Reworked camera UI, previously introduced on Google Play edition phones.&amp;lt;ref name=&amp;quot;4.3Camera&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/05/24/android-4-3-and-updated-camera-ui-spotted-on-a-nexus-4-at-thailand-mobile-expo/ &amp;quot;Android 4.3 And Updated Camera UI Spotted On A Nexus 4 At Thailand Mobile Expo&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130728012100/http://www.androidpolice.com/2013/05/24/android-4-3-and-updated-camera-ui-spotted-on-a-nexus-4-at-thailand-mobile-expo/ |date=July 28, 2013 }}. Android Police. May 24, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Addition of &amp;quot;[[App Ops]]&amp;quot;, a fine-grained application permissions control system (hidden by default).&amp;lt;ref name=&amp;quot;AppOps&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/07/25/app-ops-android-4-3s-hidden-app-permission-manager-control-permissions-for-individual-apps/ &amp;quot;App Ops: Android 4.3&#039;s Hidden App Permission Manager, Control Permissions For Individual Apps!&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130728063247/http://www.androidpolice.com/2013/07/25/app-ops-android-4-3s-hidden-app-permission-manager-control-permissions-for-individual-apps/ |date=July 28, 2013 }}. Android Police. July 25, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[SELinux]] enabled by default.&lt;br /&gt;
* [[4K resolution]] support.&amp;lt;ref name=&amp;quot;Engdt4K&amp;quot;&amp;gt;[https://www.engadget.com/2013/07/26/android-4-3-source-reveals-support-for-4k-resolution/ &amp;quot;Android 4.3 source code reveals support for 4K resolution&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20240114141812/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2013-07-26-android-4-3-source-reveals-support-for-4k-resolution.html%26tbla_id%3Dc2fda73b-cf47-40e0-9d41-1f4193094d43-tuctc9d72a0%26gam_id%3Dy-8cQTXVlE2uI7XqkakHI8b97yxunxa7_H%7EA%26axids%3Dgam%3Dy-8cQTXVlE2uI7XqkakHI8b97yxunxa7_H%7EA%26dv360%3DeS0yT0hfV1ExRTJ1R19JT2Q2bVpBT2NTX2lEM3JMb2htM35B%26ydsp%3Dy-PNeWeWBE2uIf8ODb9T71tFdeHqMq1QZY%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |date=January 14, 2024 }}. Engadget. July 26, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Numerous security updates, performance enhancements, and bug fixes.&amp;lt;ref name=&amp;quot;AP4.3&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/07/24/a-n-in-depth-look-at-the-big-and-small-additions-to-android-jelly-bean-4-3/ &amp;quot;An In-Depth Look At The Big (And Small) Additions To Android Jelly Bean 4.3&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130726112508/http://www.androidpolice.com/2013/07/24/a-n-in-depth-look-at-the-big-and-small-additions-to-android-jelly-bean-4-3/ |date=July 26, 2013 }}. Android Police. July 24, 2013. Retrieved July 25, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* System-level support for [[geo-fence|geofencing]] and Wi-Fi scanning APIs.&lt;br /&gt;
* Background Wi-Fi location still runs even when Wi-Fi is turned off.&lt;br /&gt;
* Developer logging and analyzing enhancements.&lt;br /&gt;
* Added support for five more languages.&lt;br /&gt;
* Changed [[digital rights management]] (DRM) APIs.&lt;br /&gt;
* [[Right-to-left]] (RTL) languages now supported.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot; /&amp;gt;&lt;br /&gt;
* Clock in the status bar disappears if it is selected as a lockscreen widget.&lt;br /&gt;
* Native [[emoji]] support.&amp;lt;ref name=&amp;quot;CNet_4.3&amp;quot;&amp;gt;{{cite web |url=https://www.cnet.com/products/google-android-4-3-jelly-bean/ |title=Google Android 4.3 Jelly Bean Release Date, Price and Specs – CNET |author=Jaymar Cabebe |date=July 25, 2013 |publisher=CBS Interactive |work=CNET |access-date=February 21, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142319/https://www.cnet.com/reviews/google-android-4-3-jelly-bean-preview/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4.3.1&lt;br /&gt;
| October 3, 2013&amp;lt;ref name=&amp;quot;Jelly Bean 4.3.1&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/10/03/suddenly-a-wild-android-4-3-1-appears-lte-nexus-7-receiving-android-4-3-1-ota-jls36i/ &amp;quot;Suddenly, A Wild Android 4.3.1 Appears – LTE Nexus 7 Receiving Android 4.3.1 OTA (JLS36I)&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20131004055112/http://www.androidpolice.com/2013/10/03/suddenly-a-wild-android-4-3-1-appears-lte-nexus-7-receiving-android-4-3-1-ota-jls36i/ |date=October 4, 2013 }}. Android Police. October 3, 2013. Retrieved October 4, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Bug fixes and small tweaks for the Nexus 7 LTE.&amp;lt;ref name=&amp;quot;4.3.1changelog&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/10/08/factory-image-and-binaries-are-now-available-for-the-nexus-7-lte-android-4-3-1-update-jls36i/ &amp;quot;Factory Image And Binaries Are Now Available For The Nexus 7 LTE Android 4.3.1 Update (JLS36I)&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20131009005051/http://www.androidpolice.com/2013/10/08/factory-image-and-binaries-are-now-available-for-the-nexus-7-lte-android-4-3-1-update-jls36i/ |date=October 9, 2013 }}. Android Police. October 8, 2013. Retrieved October 9, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 4.4 KitKat ===&lt;br /&gt;
{{Main|Android KitKat}}&lt;br /&gt;
{{anchor|KitKat|Android 4.4|Android KitKat|Key Lime Pie|4.4}}&lt;br /&gt;
&lt;br /&gt;
Google announced Android 4.4 [[Kit Kat|KitKat]] on September 3, 2013. Although initially under the &amp;quot;Key Lime Pie&amp;quot; (&amp;quot;KLP&amp;quot;) codename, the name was changed because &amp;quot;very few people actually know the taste of a [[key lime pie]].&amp;quot;&amp;lt;ref name=KitkatBBC&amp;gt;{{cite news |last=Kelion |first=Leo |title=Android KitKat announced |url=https://www.bbc.co.uk/news/technology-23926938 |access-date=September 3, 2013 |work=BBC News |date=September 3, 2013 |archive-date=September 4, 2013 |archive-url=https://web.archive.org/web/20130904070600/http://www.bbc.co.uk/news/technology-23926938 |url-status=live }}&amp;lt;/ref&amp;gt; Some technology bloggers also expected the &amp;quot;Key Lime Pie&amp;quot; release to be Android 5.&amp;lt;ref&amp;gt;{{cite news |publisher=TechRadar |url=https://www.techradar.com/us/news/phone-and-communications/mobile-phones/android-5-0-key-lime-pie-release-date-news-and-rumours-1091500 |title=Android 5.0 Key Lime Pie release date, news and rumors |date=July 2, 2013 |access-date=July 22, 2013 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142313/https://www.techradar.com/ |url-status=live }}&amp;lt;/ref&amp;gt; KitKat debuted on Google&#039;s [[Nexus 5]] on October 31, 2013, and was optimized to run on a greater range of devices than earlier Android versions, having 512&amp;amp;nbsp;MB of RAM as a recommended minimum; those improvements were known as &amp;quot;Project Svelte&amp;quot; internally at Google.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;&amp;gt;{{cite news |last=Molen |first=Brad |title=Engadget review the Nexus 5 |url=https://www.engadget.com/2013/11/05/nexus-5-review/ |publisher=Engadget |date=November 5, 2013 |access-date=November 11, 2013 |archive-date=November 9, 2013 |archive-url=https://web.archive.org/web/20131109020218/http://www.engadget.com/2013/11/05/nexus-5-review/ |url-status=live }}&amp;lt;/ref&amp;gt; The required minimum amount of RAM available to Android is 340&amp;amp;nbsp;MB, and all devices with less than 512&amp;amp;nbsp;MB of RAM must report themselves as &amp;quot;low RAM&amp;quot; devices.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.4 KitKat (API 19)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.4&lt;br /&gt;
| October 31, 2013&amp;lt;ref name=&amp;quot;Android 4.4 KitKat&amp;quot;&amp;gt;[http://googleblog.blogspot.com/2013/10/android-for-all-and-new-nexus-5.html &amp;quot;Android for all and the new Nexus 5 &amp;quot;] {{Webarchive|url=https://web.archive.org/web/20131031201143/http://googleblog.blogspot.com/2013/10/android-for-all-and-new-nexus-5.html |date=October 31, 2013 }}. Google Official Blog. October 31, 2013. Retrieved November 1, 2013.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;androiddev-44&amp;quot;&amp;gt;{{cite web |title=Android KitKat |url=http://developer.android.com/about/versions/kitkat.html |work=Android Developers Portal |access-date=November 1, 2013 |archive-date=October 31, 2013 |archive-url=https://web.archive.org/web/20131031184317/https://developer.android.com/about/versions/kitkat.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Refreshed interface with white elements instead of blue.&lt;br /&gt;
* Clock no longer shows bold hours; all digits are thin. The H, M, and S markings for the stopwatch and timer have been removed, leaving just the numbers.&lt;br /&gt;
* Ability for applications to trigger translucency in the navigation and status bars.&amp;lt;ref name=&amp;quot;verge-n5handson&amp;quot;&amp;gt;{{cite news |title=Google&#039;s Nexus 5 with KitKat available today, starting at $349: hands-on impressions |url=https://www.theverge.com/2013/10/31/5049068/googles-nexus-5-with-android-kit-kat-available-today-starting-349 |work=The Verge |author=Bonn, Dieter |date=October 31, 2013 |access-date=November 1, 2013 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142414/https://www.theverge.com/2013/10/31/5049068/googles-nexus-5-with-android-kit-kat-available-today-starting-349 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Ability for applications to use &amp;quot;immersive mode&amp;quot; to keep the navigation and status bars hidden while maintaining user interaction.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2013/10/31/kitkat-feature-spotlight-apps-can-now-go-truly-full-screen-hide-the-navigation-bar/ |title=KitKat Feature Spotlight: Apps Can Now Go Truly Full-Screen, Hide The Navigation Bar |date=October 31, 2013 |access-date=November 3, 2013 |author=David Ruddock |publisher=androidpolice.com |archive-date=November 3, 2013 |archive-url=https://web.archive.org/web/20131103011505/http://www.androidpolice.com/2013/10/31/kitkat-feature-spotlight-apps-can-now-go-truly-full-screen-hide-the-navigation-bar/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Action overflow menu buttons are always visible, even on devices with a &amp;quot;Menu&amp;quot; key, which was officially deprecated by Android 4.0.&amp;lt;ref name=&amp;quot;phonearena-overflowgone&amp;quot;&amp;gt;{{cite web |title=Android menu button now on by default on all device with KitKat |url=http://www.phonearena.com/news/Android-menu-button-now-on-by-default-on-all-device-with-KitKat_id50179 |publisher=PhoneArena.com |date=December 9, 2013 |access-date=February 9, 2014 |archive-date=December 13, 2013 |archive-url=https://web.archive.org/web/20131213081334/http://www.phonearena.com/news/Android-menu-button-now-on-by-default-on-all-device-with-KitKat_id50179 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Write access disabled for user-installed applications on external storage (i.e. [[MicroSD]]), except for their own directories inside &amp;lt;code&amp;gt;Android/data&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://www.androidauthority.com/fix-kitkat-sdcard-issue-app-sdfix-358844/ &#039;&#039;&amp;quot;Got the KitKat SD card blues? Solve the problem with SDFix (root required)&amp;quot;&#039;&#039;] {{Webarchive|url=https://web.archive.org/web/20210808155150/https://www.androidauthority.com/fix-kitkat-sdcard-issue-app-sdfix-358844/ |date=August 8, 2021 }} – Android Authority, March 18, 2014 (article includes details of restriction)&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;4.4storage&amp;quot;&amp;gt;{{Cite web |url=https://source.android.com/devices/storage/ |title=External Storage &amp;amp;#124; Android Developers |date=May 9, 2015|archive-url=https://web.archive.org/web/20150509021632/https://source.android.com/devices/storage/|archive-date=May 9, 2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Purging of app data directories in user storage (internal user storage and MicroSD) upon uninstallation&amp;lt;ref name=&amp;quot;4.4storage&amp;quot;/&amp;gt;&lt;br /&gt;
* Optimizations for performance on devices with lower specifications, including [[zram|zRAM]] support and &amp;quot;low RAM&amp;quot; device API.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* Wireless printing capability.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* NFC [[host card emulation]], enabling a device to replace [[smart card]]s.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* WebViews are now based on the [[Chromium (web browser)|Chromium]] engine (feature parity with [[Google Chrome for Android|Chrome for Android]] 30).&lt;br /&gt;
* Expanded functionality for notification listener services.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* Public API for developing and managing [[Short Message Service|text messaging]] clients.&amp;lt;ref name=&amp;quot;adb-kitkatsms&amp;quot;&amp;gt;{{cite web |title=Getting Your SMS Apps Ready for KitKat |url=http://android-developers.blogspot.co.uk/2013/10/getting-your-sms-apps-ready-for-kitkat.html |work=Android Developers Blog |access-date=October 14, 2013 |archive-date=October 15, 2013 |archive-url=https://web.archive.org/web/20131015024734/http://android-developers.blogspot.co.uk/2013/10/getting-your-sms-apps-ready-for-kitkat.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Storage Access Framework, an API allowing apps to retrieve files in a consistent manner. As part of the framework, a new system file picker allows users to access files from various sources (including those exposed by apps, such as online storage services).&amp;lt;ref name=&amp;quot;anandtech-sdkitkat&amp;quot;/&amp;gt;&lt;br /&gt;
* New framework for UI transitions.&lt;br /&gt;
* Sensor batching, step detector and counter APIs.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* Settings application now makes it possible to select default text messaging and the home (launcher) application.&lt;br /&gt;
* Audio tunneling, audio monitoring and loudness enhancer.&amp;lt;ref&amp;gt;{{cite web |url=http://www.phonearena.com/news/Android-4.4-brings-support-for-low-power-audio-playback_id48948 |title=Android 4.4 brings support for low-power audio playback |publisher=PhoneArena.com |date=October 31, 2013 |access-date=February 25, 2014 |archive-date=November 10, 2013 |archive-url=https://web.archive.org/web/20131110130344/http://www.phonearena.com/news/Android-4.4-brings-support-for-low-power-audio-playback_id48948 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Built-in screen recording feature (primarily for developers, as usage of [[Android Debug Bridge|ADB]] is required).&amp;lt;ref&amp;gt;{{cite web |url=http://howto.cnet.com/8301-11310_39-57610905-285/how-to-record-your-screen-on-android-4.4-kitkat/ |title=How to record your screen on Android 4.4 KitKat |date=November 5, 2013 |access-date=January 4, 2014 |author=Jason Cipriani |publisher=CBS Interactive |work=CNET |archive-date=January 4, 2014 |archive-url=https://web.archive.org/web/20140104222416/http://howto.cnet.com/8301-11310_39-57610905-285/how-to-record-your-screen-on-android-4.4-kitkat/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Native [[infrared blaster]] API.&lt;br /&gt;
* Verified boot.&lt;br /&gt;
* Enforcing [[SELinux]].&lt;br /&gt;
* Expanded accessibility APIs and system-level [[closed captioning]] settings.&lt;br /&gt;
* [[Android Runtime]] (ART) introduced as a new experimental application [[runtime environment]], not enabled by default, as a replacement for the [[Dalvik (software)|Dalvik]] virtual machine.&amp;lt;ref&amp;gt;{{cite web |url=https://source.android.com/devices/tech/dalvik/index.html |title=Android Developers: ART and Dalvik |date=March 9, 2015 |access-date=March 19, 2015 |website=source.android.com |archive-date=March 15, 2015 |archive-url=https://web.archive.org/web/20150315163429/http://source.android.com/devices/tech/dalvik/index.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Message Access Profile|Bluetooth Message Access Profile]] (MAP) support.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2013/10/31/kitkat-feature-spotlight-android-finally-supports-bluetooth-map-will-make-bluetooth-integration-with-your-car-suck-a-lot-less/ |title=KitKat Feature Spotlight: Android Finally Supports Bluetooth MAP, Will Make Bluetooth Integration With Your Car Suck A Lot Less |author=David Ruddock |date=October 31, 2013 |access-date=November 2, 2013 |publisher=Android Police |archive-date=November 2, 2013 |archive-url=https://web.archive.org/web/20131102201043/http://www.androidpolice.com/2013/10/31/kitkat-feature-spotlight-android-finally-supports-bluetooth-map-will-make-bluetooth-integration-with-your-car-suck-a-lot-less/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Disabled access to battery statistics by third-party applications.&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=61975 |title=Android Issue 61975: Undo removal of access to BATTERY_STATS permission for apps |date=November 2013 |access-date=January 29, 2014 |archive-date=December 10, 2013 |archive-url=https://web.archive.org/web/20131210214042/https://code.google.com/p/android/issues/detail?id=61975 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Settings application no longer uses a multi-pane layout on devices with larger screens.&lt;br /&gt;
* Wi-Fi and mobile data activity (TX/RX) indicators are moved to quick settings.&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=61834 |title=Android Issue 61834: 4.4 KitKat reception/Wifi indicators no longer show data rx/tx during operation |date=November 2013 |access-date=February 20, 2014 |archive-date=April 13, 2014 |archive-url=https://web.archive.org/web/20140413183216/https://code.google.com/p/android/issues/detail?id=61834 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Disables text wrapping in the WebView browser component.&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=62378 |title=Android Issue 62378: KitKat WebView text wrap no longer works |website=code.google.com |access-date=October 28, 2014 |archive-date=October 21, 2014 |archive-url=https://web.archive.org/web/20141021095502/https://code.google.com/p/android/issues/detail?id=62378 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4.4.1&lt;br /&gt;
| December 5, 2013&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.4.1_r1 |title=refs/tags/android-4.4.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142414/https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.4.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://plus.google.com/+Nexus/posts/YW8sTPpVN8W |title=Android 4.4.1 Released to Nexus 5 |date=December 5, 2013 |access-date=December 5, 2013 |publisher=Google Plus |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142322/https://workspaceupdates.googleblog.com/2023/04/new-community-features-for-google-chat-and-an-update-currents%20.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Better application compatibility for the experimental Android Runtime (ART).&lt;br /&gt;
* Camera application now loads Google+ Photos instead of Gallery when swiping away from the camera view.&lt;br /&gt;
* Miscellaneous improvements and bug fixes.&lt;br /&gt;
|-&lt;br /&gt;
| 4.4.2&lt;br /&gt;
| December 9, 2013&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2013/12/09/android-4-4-2-kot49h-is-already-rolling-out-to-nexus-devices-here-are-the-ota-zip-links-for-manual-updating/ |title=Android 4.4.2 (KOT49H) Is Already Rolling Out To All Nexus Devices – Here Are The OTA ZIP Links For Manual Updating |date=December 9, 2013 |access-date=December 9, 2013 |author=Artem Russakovskii |publisher=Android Police |archive-date=December 10, 2013 |archive-url=https://web.archive.org/web/20131210035532/http://www.androidpolice.com/2013/12/09/android-4-4-2-kot49h-is-already-rolling-out-to-nexus-devices-here-are-the-ota-zip-links-for-manual-updating/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Further security enhancements and bug fixes.&lt;br /&gt;
* Removal of the &amp;quot;[[App Ops]]&amp;quot; application permissions control system, introduced in Android 4.3.&amp;lt;ref&amp;gt;{{cite web |url=https://www.eff.org/deeplinks/2013/12/google-removes-vital-privacy-features-android-shortly-after-adding-them |title=Google Removes Vital Privacy Feature From Android, Claiming Its Release Was Accidental |date=December 12, 2013 |access-date=December 14, 2013 |author=Peter Eckersley |publisher=Electronic Frontier Foundation |archive-date=December 13, 2013 |archive-url=https://web.archive.org/web/20131213220101/https://www.eff.org/deeplinks/2013/12/google-removes-vital-privacy-features-android-shortly-after-adding-them |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4.4.3&lt;br /&gt;
| June 2, 2014&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.4.3_r1 |title=refs/tags/android-4.4.3_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142335/https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.4.3_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://arstechnica.com/gadgets/2014/06/google-releases-android-4-4-3-to-nexus-devices/ |title=Google releases Android 4.4.3 to Nexus devices |date=June 2, 2014 |access-date=June 2, 2014 |author=Ron Amadeo |publisher=Ars Technica |archive-date=June 3, 2014 |archive-url=https://web.archive.org/web/20140603165300/http://arstechnica.com/gadgets/2014/06/google-releases-android-4-4-3-to-nexus-devices/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Refreshed the Dialer app&#039;s interface.&amp;lt;ref&amp;gt;{{cite web |url=http://www.droid-life.com/2014/06/02/fresh-new-dialer-arrives-in-android-4-4-3/ |title=Fresh New Dialer Arrives in Android 4.4.3 |date=June 2, 2014 |access-date=June 2, 2014 |author=Kellex |publisher=Droid Life |archive-date=June 6, 2014 |archive-url=https://web.archive.org/web/20140606052307/http://www.droid-life.com/2014/06/02/fresh-new-dialer-arrives-in-android-4-4-3/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated the Chromium-based WebView to version 33 (screencasting to DevTools, HTML5 Canvas hardware acceleration performance improvements, vibration API, HTML5 form validation, and an HTML5 datalist).&amp;lt;ref&amp;gt;{{cite web |url=https://plus.google.com/+AndroidDevelopers/posts/EfKRBGm19dT |title=Android 4.4.3 aka KitKat MR2 is rolling out – Google+ |date=June 3, 2014 |access-date=June 4, 2014 |author=Android Developers |publisher=Android Developers (Google+) |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142315/https://workspaceupdates.googleblog.com/2023/04/new-community-features-for-google-chat-and-an-update-currents%20.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Miscellaneous improvements and bug fixes.&lt;br /&gt;
|-&lt;br /&gt;
| 4.4.4&lt;br /&gt;
| June 19, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.droid-life.com/2014/06/19/whoa-android-4-4-4-factory-images-posted-as-build-kut84p/ |title=Whoa: Android 4.4.4 Factory Images Posted as Build KTU84P |date=June 19, 2014 |access-date=June 19, 2014 |author=Kellex |publisher=Droid Life |archive-date=June 21, 2014 |archive-url=https://web.archive.org/web/20140621023430/http://www.droid-life.com/2014/06/19/whoa-android-4-4-4-factory-images-posted-as-build-kut84p/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[CVE-2014-0224]] fixed, eliminating an [[OpenSSL]] [[man-in-the-middle attack|man-in-the-middle]] vulnerability.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/06/19/google-rolling-out-android-4-4-4-update-ktu84p-with-a-security-fix-factory-imagesbinaries-up-for-nexus-devices/ |title=Google Rolling Out Android 4.4.4 Update (KTU84P) With A Security Fix, Factory Images/Binaries Up For Nexus Devices |date=June 19, 2014 |access-date=June 25, 2014 |author=Ryan Whitwam |publisher=androidpolice.com |archive-date=June 25, 2014 |archive-url=https://web.archive.org/web/20140625085901/http://www.androidpolice.com/2014/06/19/google-rolling-out-android-4-4-4-update-ktu84p-with-a-security-fix-factory-imagesbinaries-up-for-nexus-devices/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 4.4W KitKat, with wearable extensions ====&lt;br /&gt;
{{Main|Wear OS}}&lt;br /&gt;
{{anchor|Android 4.4W|4.4W}}&lt;br /&gt;
&lt;br /&gt;
On June 24, 2014, a version of Android KitKat exclusive to Android Wear devices was released.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.4W KitKat, with wearable extensions (API 20)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.4W&amp;lt;ref name=&amp;quot;Wear source code&amp;quot;&amp;gt;{{cite web |last1=Rob |first1=Triggs |title=Google uploads part of the Android Wear source code to AOSP |date=July 22, 2014 |url=http://www.androidauthority.com/android-wear-source-code-aosp-408276/ |publisher=Android Authority |access-date=July 22, 2014 |archive-date=July 26, 2014 |archive-url=https://web.archive.org/web/20140726221313/http://www.androidauthority.com/android-wear-source-code-aosp-408276/ |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| June 25, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidauthority.com/android-wear-io-official-397096/ |title=Android Wear platform fully unveiled at I/O 2014 |author=Andrew Grush |publisher=Android Authority |date=September 6, 2014 |access-date=January 25, 2015 |archive-date=March 23, 2015 |archive-url=https://web.archive.org/web/20150323025103/http://www.androidauthority.com/android-wear-io-official-397096/ |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Initial release of the Android Wear platform for [[smartwatch]]es: the same as Android 4.4 &amp;quot;KitKat&amp;quot;, but with wearable extensions added.&lt;br /&gt;
|-&lt;br /&gt;
| 4.4W.1&lt;br /&gt;
| September 6, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/09/09/samsung-gear-live-updated-to-android-wear-4-4-w-1-build-kgw42n-heres-whats-new/ |title=Samsung Gear Live Updated To Android Wear 4.4W.1 Build KGW42N: Here&#039;s What&#039;s New |date=September 6, 2014 |access-date=January 25, 2015 |author=Michael Crider |publisher=Android Police |archive-date=January 19, 2015 |archive-url=https://web.archive.org/web/20150119203934/http://www.androidpolice.com/2014/09/09/samsung-gear-live-updated-to-android-wear-4-4-w-1-build-kgw42n-heres-whats-new/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* UI updates for Google Maps navigation and alarms.&lt;br /&gt;
|-&lt;br /&gt;
| 4.4W.2&lt;br /&gt;
| October 21, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/10/21/android-wear-4-4w-2-build-knx01q-starts-rolling-lg-g-watch-brings-offline-music-gps-support-though-cant-use-latter/ |title=Android Wear 4.4W.2 Build KNX01Q Starts Rolling Out For The LG G Watch, Brings Offline Music And GPS Support (Though You Can&#039;t Use The Latter) |date=October 21, 2014 |access-date=January 25, 2015 |author=Rita El Khoury |publisher=Android Police |archive-date=January 7, 2015 |archive-url=https://web.archive.org/web/20150107131422/http://www.androidpolice.com/2014/10/21/android-wear-4-4w-2-build-knx01q-starts-rolling-lg-g-watch-brings-offline-music-gps-support-though-cant-use-latter/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Offline music playback.&lt;br /&gt;
* GPS support.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 5.0 Lollipop ===&lt;br /&gt;
{{Main|Android Lollipop}}&lt;br /&gt;
{{anchor|Lollipop|5.0|Android 5.0|Android 5|Android Lollipop}}&lt;br /&gt;
&lt;br /&gt;
Android 5.0 &amp;quot;Lollipop&amp;quot; was unveiled under the codename &amp;quot;Android L&amp;quot; on June 25, 2014, during [[Google I/O]]. It became available as an official [[Over-the-air programming|over-the-air]] (OTA) update on November 12, 2014, for select devices that run distributions of Android serviced by Google, including [[Google Nexus|Nexus]] and [[Google Play edition]] devices. Its source code was made available on November 3, 2014.&amp;lt;ref name=PCWorldJun2014&amp;gt;{{cite web |title=From Android L to Google Fit: All the new products and features from Google I/O |url=http://www.pcworld.com/article/2367746/from-android-l-to-google-fit-all-the-announcements-from-google-i/from-android-l-to-google-fit-all-t.html |publisher=PC World |date=June 25, 2014|access-date=June 26, 2014|archive-date=June 26, 2014|archive-url=https://web.archive.org/web/20140626183451/http://www.pcworld.com/article/2367746/from-android-l-to-google-fit-all-the-announcements-from-google-i/from-android-l-to-google-fit-all-t.html|url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Updated Android Lollipop Developer Preview image coming to Nexus devices in a couple of days |url=http://www.phonearena.com/news/Updated-Android-Lollipop-Developer-Preview-image-coming-to-Nexus-devices-in-a-couple-of-days_id61780 |publisher=PhoneArena.com |date=October 15, 2014 |access-date=October 16, 2014 |archive-date=October 18, 2014 |archive-url=https://web.archive.org/web/20141018090820/http://www.phonearena.com/news/Updated-Android-Lollipop-Developer-Preview-image-coming-to-Nexus-devices-in-a-couple-of-days_id61780 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lollipop features a redesigned user interface built around a responsive [[design language]] referred to as &amp;quot;[[material design]]&amp;quot;. Other changes include improvements to the notifications, which can be accessed from the lockscreen and displayed within applications as top-of-the-screen banners. Furthermore, Google made internal changes to the platform, with the [[Android Runtime]] (ART) officially replacing [[Dalvik virtual machine|Dalvik]] for improved application performance, and with changes intended to improve and optimize battery usage, known internally as [[Project Volta]].&amp;lt;ref&amp;gt;{{cite web |title=Google&#039;s new &#039;Material Design&#039; UI coming to Android, Chrome OS and the web |url=https://www.engadget.com/2014/06/25/googles-new-design-language-is-called-material-design/ |website=Engadget |date=June 25, 2014 |access-date=June 26, 2014 |archive-date=August 16, 2016 |archive-url=https://web.archive.org/web/20160816150431/https://www.engadget.com/2014/06/25/googles-new-design-language-is-called-material-design/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=We just played with Android&#039;s L Developer Preview |url=https://www.engadget.com/2014/06/26/android-developer-preview-hands-on/ |website=Engadget |date=June 26, 2014 |publisher=AOL |access-date=June 26, 2014 |archive-date=June 26, 2014 |archive-url=https://web.archive.org/web/20140626162710/http://www.engadget.com/2014/06/26/android-developer-preview-hands-on/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Google Reveals Details About Android L at Google IO |url=http://www.anandtech.com/show/8207/google-reveals-details-about-android-l-at-google-io |website=Anandtech |access-date=June 26, 2014 |archive-date=June 28, 2014 |archive-url=https://web.archive.org/web/20140628013652/http://anandtech.com/show/8207/google-reveals-details-about-android-l-at-google-io |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=A Closer Look at Android RunTime (ART) in Android L |url=http://anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-l/ |date=July 1, 2014 |access-date=July 5, 2014 |author=Andrei Frumusanu |work=AnandTech |archive-date=July 5, 2014 |archive-url=https://web.archive.org/web/20140705022457/http://anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-l |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 5.0 Lollipop (API 21)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 5.0&amp;lt;ref name = &amp;quot;Api level 21-22&amp;quot;&amp;gt;{{cite web |url=https://developer.android.com/about/versions/android-5.0.html |title=Android 5.0 APIs |publisher=Android.com |access-date=October 28, 2014 |archive-date=October 27, 2014 |archive-url=https://web.archive.org/web/20141027235642/http://developer.android.com/about/versions/android-5.0.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| November 4, 2014&amp;lt;ref name=&amp;quot;android.googlesource.com&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[Android Runtime]] (ART) with [[Ahead-of-time compilation|ahead-of-time (AOT) compilation]] and improved [[Garbage collection (computer science)|garbage collection]] (GC), replacing [[Dalvik (software)|Dalvik]] that combines bytecode [[Interpreter (computing)|interpretation]] with [[Tracing just-in-time compilation|trace-based just-in-time (JIT) compilation]].&amp;lt;ref name=&amp;quot;Api level 21-22&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://www.android-app-developer.co.uk/android-app-development-docs/android-jit-compiler-androids-dalvik-vm.pdf |title=A JIT Compiler for Android&#039;s Dalvik VM |date=May 2010 |access-date   = March 19, 2015 |author1=Ben Cheng |author2=Bill Buzbee |website=android-app-developer.co.uk |pages=5–14 |archive-url  = https://web.archive.org/web/20151106221110/http://www.android-app-developer.co.uk/android-app-development-docs/android-jit-compiler-androids-dalvik-vm.pdf |archive-date = November 6, 2015|url-status     = dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Support for [[64-bit computing|64-bit]] CPUs.&lt;br /&gt;
* [[OpenGL ES]]&amp;amp;nbsp;3.1 and Android Extension Pack (AEP) on supported GPU configurations.&lt;br /&gt;
* Recent activities screen with tasks instead of applications, up to a configured maximum of tasks per application.&lt;br /&gt;
* [[Vector graphics|Vector drawables]], which scale without losing definition.&lt;br /&gt;
* Support for print previews.&lt;br /&gt;
* [[Material design]], bringing a restyled user interface and &#039;&#039;&amp;quot;ripple effect&amp;quot;&#039;&#039; for buttons.&lt;br /&gt;
* Refreshed lock screen, no longer supporting widgets.&amp;lt;ref&amp;gt;[http://www.pocketables.com/2014/06/exploring-android-l-lockscreen-widgets-also-bite-dust.html &amp;quot;Exploring Android L: Lockscreen widgets also bite the dust&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20150514110831/http://www.pocketables.com/2014/06/exploring-android-l-lockscreen-widgets-also-bite-dust.html |date=May 14, 2015 }}. Pocketables.com. June 2014. Retrieved January 25, 2015.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Refreshed notification tray and quick settings pull-down.&lt;br /&gt;
* [[Project Volta]], for battery life improvements.&lt;br /&gt;
* Searches can be performed within the system settings for quicker access to particular settings.&lt;br /&gt;
* Lock screen provides shortcuts to application and notification settings.&amp;lt;ref name=IndiaTimes&amp;gt;{{cite web |url=http://timesofindia.indiatimes.com/tech/slideshow/android-5-0-lollipop-16-new-features/itslideshowviewall/45298613.cms |title=Android 5.0 Lollipop&#039;s new features |date=November 27, 2014 |access-date=December 23, 2014 |work=India Times |archive-date=December 3, 2014 |archive-url=https://web.archive.org/web/20141203042421/http://timesofindia.indiatimes.com/tech/slideshow/android-5-0-lollipop-16-new-features/itslideshowviewall/45298613.cms |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guest logins and multiple user accounts are available on more devices, such as phones.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidcentral.com/lollipop-brings-proper-multi-user-accounts-your-phone |title=Lollipop brings proper multi-user accounts to your phone |publisher=Android Central |access-date=January 25, 2015 |date=October 17, 2014 |archive-date=February 4, 2015 |archive-url=https://web.archive.org/web/20150204065643/http://www.androidcentral.com/lollipop-brings-proper-multi-user-accounts-your-phone |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Audio input and output through USB devices.&lt;br /&gt;
* Third-party applications regain the ability to read and modify data located anywhere on external storage, such as on [[SD card]]s. However, those must be adapted to the storage access framework of Android API level 21 or higher.&amp;lt;ref name=&amp;quot;android-police01&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/11/04/android-5-0-makes-sd-cards-great-again-extends-api-to-allow-full-directory-access-automatic-mediastore-and-improves-security/ |title=Android 5.0 Makes SD Cards Great Again, Extends API To Allow Full Directory Access, Automatic MediaStore, And Improves Security |publisher=Android Police |author=Cody Toombs |date=November 4, 2014 |access-date=November 29, 2014 |archive-date=December 6, 2014 |archive-url=https://web.archive.org/web/20141206131506/http://www.androidpolice.com/2014/11/04/android-5-0-makes-sd-cards-great-again-extends-api-to-allow-full-directory-access-automatic-mediastore-and-improves-security/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;android-police02&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/11/27/root-explorer-3-3-update-adds-sd-card-write-capability-without-root-in-lollipop/ |title=Root Explorer 3.3 Update Adds SD Card Write Capability Without Root In Lollipop |author=Michael Crider |publisher=Android Police |date=November 27, 2014 |access-date=November 29, 2014 |archive-date=November 29, 2014 |archive-url=https://web.archive.org/web/20141129151433/http://www.androidpolice.com/2014/11/27/root-explorer-3-3-update-adds-sd-card-write-capability-without-root-in-lollipop/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Pinning of an application&#039;s screen for restricted user activity.&amp;lt;ref name=IndiaTimes /&amp;gt;&lt;br /&gt;
* Recently used applications are remembered even after restarting the device.&amp;lt;ref name=IndiaTimes /&amp;gt;&lt;br /&gt;
* WebViews receive updates independently through [[Google Play]] for security reasons, instead of relying on system-wide vendor updates.&amp;lt;ref&amp;gt;{{cite web |url=https://www.zdnet.com/article/lollipop-stops-chromium-bugs-from-endangering-android/ |title=Lollipop stops Chromium bugs from endangering Android |date=October 24, 2014 |work=ZDNet |access-date=October 28, 2014 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142416/https://www.zdnet.com/article/lollipop-stops-chromium-bugs-from-endangering-android/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Addition of 15 new languages: Basque, Bengali, Burmese, Chinese (Hong Kong), Galician, Icelandic, Kannada, Kyrgyz, Macedonian, Malayalam, Marathi, Nepali, Sinhala, Tamil and Telugu.&amp;lt;ref name=AndroidLollipop&amp;gt;{{cite web |url=http://www.android.com/versions/lollipop-5-0/ |title=Android – 5.0 Lollipop |date=November 3, 2014 |access-date=November 28, 2014 |publisher=Android.com |archive-date=November 25, 2014 |archive-url=https://web.archive.org/web/20141125175546/https://android.com/versions/lollipop-5-0/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;Tap and Go&#039;&#039; allows users to quickly migrate to a new Android device, using NFC and Bluetooth to transfer Google Account details, configuration settings, user data and installed applications.&amp;lt;ref name=IndiaTimes /&amp;gt;&lt;br /&gt;
* A flashlight-style application is included, working on supported devices with a camera flash.&amp;lt;ref name=IndiaTimes /&amp;gt;&lt;br /&gt;
* User-customizable priorities for application notifications.&amp;lt;ref name=&amp;quot;CNET-priority&amp;quot;&amp;gt;{{cite web |url=https://www.cnet.com/uk/how-to/setup-interruptions-android-lollipop-do-not-disturb/ |title=Set up &#039;Priority&#039; mode on Android 5.0 Lollipop |author=Jason Cipriani |publisher=CNET |date=November 3, 2014|access-date=December 23, 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Smart lock feature.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidcentral.com/smart-lock-screen-security-options-android-50-lollipop |title=Smart lock screen security options in Android 5.0 Lollipop |date=November 12, 2015 |access-date=March 15, 2015 |archive-date=March 10, 2015 |archive-url=https://web.archive.org/web/20150310235133/http://www.androidcentral.com/smart-lock-screen-security-options-android-50-lollipop |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[SELinux]] in enforcing mode for all domains.&lt;br /&gt;
* Updated emoji.&amp;lt;ref name=&amp;quot;emojipedia-50&amp;quot;&amp;gt;{{cite web |title=Android 5.0 Emoji Changelog |url=http://blog.emojipedia.org/android-50-emoji-changelog/ |website=Emojipedia |access-date=February 2, 2017 |date=November 26, 2014 |archive-date=January 16, 2017 |archive-url=https://web.archive.org/web/20170116211447/http://blog.emojipedia.org/android-50-emoji-changelog/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved [[accessibility]] support (e.g. [[switch access]] support).&amp;lt;ref name=&amp;quot;androidcentral1&amp;quot;&amp;gt;{{cite web |url=http://www.androidcentral.com/accessibility-features-android-50-lollipop |title=Accessibility features in Android 5.0 Lollipop |publisher=Android Central |date=October 25, 2014 |access-date=January 30, 2016 |archive-date=January 26, 2016 |archive-url=https://web.archive.org/web/20160126063234/http://www.androidcentral.com/accessibility-features-android-50-lollipop |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Block-based over-the-air (OTA) updates for new devices.&amp;lt;ref&amp;gt;{{cite web |url=https://source.android.com/devices/tech/ota/block.html |title=Block-Based OTAs &amp;amp;#124; Android Open Source Project |publisher=Android Source |access-date=January 30, 2016 |archive-date=March 10, 2016 |archive-url=https://web.archive.org/web/20160310191906/http://source.android.com/devices/tech/ota/block.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Task listing access disabled for third-party applications.&lt;br /&gt;
|-&lt;br /&gt;
| 5.0.1&lt;br /&gt;
| December 2, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/12/02/android-5-0-1-lrx22c-hitting-aosp-now/ |title=Android 5.0.1 (LRX22C) Hitting AOSP Now (Update: Factory Images Too) |date=December 2, 2014 |access-date=December 3, 2014 |author=Liam Spradlin |publisher=Android Police |archive-date=December 4, 2014 |archive-url=https://web.archive.org/web/20141204004048/http://www.androidpolice.com/2014/12/02/android-5-0-1-lrx22c-hitting-aosp-now/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* A few bug fixes, including resolving issues with video playback and password failures handling.&lt;br /&gt;
|-&lt;br /&gt;
| 5.0.2&lt;br /&gt;
| December 19, 2014&amp;lt;ref name=&amp;quot;FactoryImages&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixes a bug with [[Trim (computing)|TRIM]] support (introduced in Version 4.3), which prevented devices from running on-charger cleanups of file system allocations if the device was turned off at midnight, or if it was charged only when in use.&amp;lt;ref&amp;gt;{{cite web |url=https://android.googlesource.com/platform/frameworks/base/+/4f868ed |title=Commit 4f868ed to platform/frameworks/base |last=Tate |first=Christopher |date=November 21, 2014 |website=Android Git Repositories |access-date=December 27, 2017 |quote=The current heuristics depend on devices being alive at midnight+ in order to run periodic background fstrim operations...If the device goes a defined time without a background fstrim, we [now] force the fstrim at the next reboot. Once the device hits the midnight+ idle fstrim request time, then we already aggressively attempt to fstrim at the first available moment thereafter...&#039;Available&#039; here means charging + device idle. |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142908/https://android.googlesource.com/platform/frameworks/base/+/4f868ed |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changes how alarms wake the CPU, and how alarms compete for system resources.&amp;lt;ref&amp;gt;{{cite web |url=http://pocketnow.com/2014/12/22/android-5-0-2-changes |title=What&#039;s actually new in Android 5.0.2? |date=December 22, 2014 |access-date=January 6, 2015 |author=Stephen Schenck |publisher=PocketNow.com |archive-date=January 6, 2015 |archive-url=https://web.archive.org/web/20150106071243/http://pocketnow.com/2014/12/22/android-5-0-2-changes |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 5.1 Lollipop ====&lt;br /&gt;
{{anchor|Android 5.1|5.1}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 5.1 Lollipop (API 22)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 5.1&lt;br /&gt;
| March 2, 2015&amp;lt;ref name=&amp;quot;ReferenceB&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improvements and bug fixes to the Overview screen.&lt;br /&gt;
* Ability to join Wi-Fi networks and control paired Bluetooth devices from quick settings.&lt;br /&gt;
* Official support for [[Dual SIM|multiple SIM cards]].&amp;lt;ref name=&amp;quot;venturebeat-20150309&amp;quot;&amp;gt;{{cite web |url=https://venturebeat.com/2015/03/09/google-confirms-android-5-1-is-landing-on-all-compatible-devices-from-today/ |title=Google confirms Android 5.1 is rolling out today, will support multi-SIM devices and HD calls |work=VentureBeat |date=March 9, 2015 |access-date=April 24, 2015 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142908/https://venturebeat.com/ai/beyond-transactions-reimagining-banking-with-superior-digital-customer-journeys/infinite/injection_js/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Anti-theft system|Device protection]]: if a device is lost or stolen it will remain locked until the owner signs into their Google account, even if the device is reset to factory settings.&lt;br /&gt;
* [[Wideband audio|High-definition voice calls]], available between compatible 4G LTE devices running Android 5.1.&amp;lt;ref name=&amp;quot;venturebeat-20150309&amp;quot; /&amp;gt;&lt;br /&gt;
* Improvements to the notification priority system, to more closely replicate the [[silent mode]] that was removed from Android&amp;amp;nbsp;5.0.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpit.com/android-5-1-lollipop-silent-mode |title=Android 5.1 reinstates Silent Mode, but there&#039;s a catch |work=AndroidPIT |access-date=March 27, 2015 |archive-date=April 2, 2015 |archive-url=https://web.archive.org/web/20150402181504/http://www.androidpit.com/android-5-1-lollipop-silent-mode |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5.1.1&lt;br /&gt;
| April 20, 2015&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.1.1_r1 |title=refs/tags/android-5.1.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142928/https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.1.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;phandroid-5.1.1&amp;quot;&amp;gt;{{cite web |title=Android 5.1.1 (LMY47V) officially uploaded to AOSP and here&#039;s the full changelog, Nexus Player factory images also available |date=April 21, 2015 |url=http://phandroid.com/2015/04/21/android-5-1-1-lmy47v-aosp-changelog-nexus-player-factory-images/ |access-date=May 1, 2015 |archive-date=April 28, 2015 |archive-url=https://web.archive.org/web/20150428075015/http://phandroid.com/2015/04/21/android-5-1-1-lmy47v-aosp-changelog-nexus-player-factory-images/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Various bug fixes&amp;lt;ref name=&amp;quot;phandroid-5.1.1&amp;quot; /&amp;gt;&lt;br /&gt;
* Native [[Generic Access Network|Wi-Fi calling]] support.&amp;lt;ref&amp;gt;{{cite web |first=Jack |last=Jennings |url=http://www.xda-developers.com/google-open-source-code-for-wi-fi-calling/ |title=Google Open Source Code for Wi-Fi Calling |publisher=XDA |date=June 26, 2015 |access-date=November 2, 2015 |archive-date=November 16, 2015 |archive-url=https://web.archive.org/web/20151116115614/http://www.xda-developers.com/google-open-source-code-for-wi-fi-calling/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 6.0 Marshmallow ===&lt;br /&gt;
{{Main|Android Marshmallow}}&lt;br /&gt;
{{anchor|Marshmallow|Android 6|6|Android 6.0|6.0|Android Marshmallow}}&lt;br /&gt;
&lt;br /&gt;
Android 6.0 &amp;quot;Marshmallow&amp;quot; was unveiled under the codename &amp;quot;Android&amp;amp;nbsp;M&amp;quot; during [[Google I/O]] on May 28, 2015, for the [[Nexus&amp;amp;nbsp;5]] and [[Nexus&amp;amp;nbsp;6]] phones, [[Nexus&amp;amp;nbsp;9]] tablet, and [[Nexus Player]] set-top box, under the build number MPZ44Q.&amp;lt;ref&amp;gt;{{cite web |title=Google&#039;s Android&amp;amp;nbsp;M preview build will run on the Nexus 5, 6, 9, and Player [Updated] |url=https://arstechnica.com/gadgets/2015/05/googles-android-m-preview-build-will-run-on-the-nexus-5-6-9-and-player/ |website=[[Ars Technica]] |date=May 28, 2015 |publisher=Condé Nast |access-date=May 28, 2015 |archive-date=May 29, 2015 |archive-url=https://web.archive.org/web/20150529043650/http://arstechnica.com/gadgets/2015/05/googles-android-m-preview-build-will-run-on-the-nexus-5-6-9-and-player/ |url-status=live }}&amp;lt;/ref&amp;gt; The third developer preview (MPA44G) was released on August 17, 2015, for the Nexus&amp;amp;nbsp;5, Nexus&amp;amp;nbsp;6, Nexus&amp;amp;nbsp;9 and Nexus Player devices,&amp;lt;ref&amp;gt;{{cite web |url=https://developer.android.com/preview/download.html |title=Downloads Android Developers |date=August 17, 2015 |access-date=October 13, 2015 |archive-date=August 17, 2015 |archive-url=https://web.archive.org/web/20150817224047/http://developer.android.com/preview/download.html |url-status=live }}&amp;lt;/ref&amp;gt; and was updated to MPA44I that brought fixes related to [[Android for Work]] profiles.&amp;lt;ref&amp;gt;{{cite web|title = Support and Release Notes {{!}} Android Developers|url = https://developer.android.com/preview/support.html|website = developer.android.com|access-date = August 22, 2015|archive-date = August 11, 2015|archive-url = https://web.archive.org/web/20150811015125/http://developer.android.com/preview/support.html|url-status = live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 6.0 Marshmallow (API 23)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 6.0&lt;br /&gt;
| September 29, 2015&amp;lt;ref name=&amp;quot;ReferenceC&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Get ready for the sweet taste of Android 6.0 Marshmallow |url=http://officialandroid.blogspot.com/2015/10/get-ready-for-sweet-taste-of-android-60.html |publisher=Android Developers |access-date=October 6, 2015 |archive-date=October 6, 2015 |archive-url=https://web.archive.org/web/20151006000054/http://officialandroid.blogspot.com/2015/10/get-ready-for-sweet-taste-of-android-60.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Precluded rudimentary [[file manager]] (package name: &amp;lt;code&amp;gt;com.android.documentsui&amp;lt;/code&amp;gt;), accessible from storage settings.&amp;lt;ref&amp;gt;{{cite web |last1=Mediati |first1=Nick |title=How to get to Android Marshmallow&#039;s hidden file manager |url=https://www.greenbot.com/article/2996030/how-to-get-to-android-marshmallows-hidden-file-manager.html |website=Greenbot |language=en |date=October 22, 2015 |access-date=February 12, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142829/https://www.greenbot.com/article/2996030/how-to-get-to-android-marshmallows-hidden-file-manager.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Memory card]] mounted to &amp;lt;code&amp;gt;/storage/????-????/&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;/storage/extSdCard/&amp;lt;/code&amp;gt;, with a hexadecimal [[volume serial number]] in place of the [[Wildcard character|wildcard]] question marks.&amp;lt;ref&amp;gt;{{Cite web |url=https://customer.precisely.com/s/article/How-to-configure-settings-for-maps-on-Android-6-SD-cards-in-ConfirmConnect?language=en_US |title=Customer Community |access-date=April 16, 2021 |archive-date=April 16, 2021 |archive-url=https://web.archive.org/web/20210416212913/https://customer.precisely.com/s/article/How-to-configure-settings-for-maps-on-Android-6-SD-cards-in-ConfirmConnect?language=en_US |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Contextual search from keywords within apps.&amp;lt;ref&amp;gt;{{Cite web |url=https://www.theverge.com/2015/5/28/8681875/now-on-tap-is-the-coolest-android-feature-google-io |title=Now on Tap is the coolest Android feature in a long time |first=Dieter |last=Bohn |date=May 28, 2015 |website=The Verge |access-date=August 29, 2017 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142906/https://www.theverge.com/2015/5/28/8681875/now-on-tap-is-the-coolest-android-feature-google-io |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Introduction of Doze mode, which reduces CPU speed while the screen is off in order to save battery life.&amp;lt;ref&amp;gt;{{cite web |title=Android Doze |url=http://developer.android.com/training/monitoring-device-state/doze-standby.html |access-date=October 13, 2015 |archive-date=March 4, 2023 |archive-url=https://web.archive.org/web/20230304134852/https://developer.android.com/training/monitoring-device-state/doze-standby.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* App Standby feature.&lt;br /&gt;
* Alphabetically accessible vertical application drawer.&amp;lt;ref&amp;gt;{{cite web |title=Android vertical app drawer |url=https://www.android.com/intl/en_in/versions/marshmallow-6-0 |access-date=October 13, 2015 |archive-date=October 15, 2015 |archive-url=https://web.archive.org/web/20151015192909/https://www.android.com/intl/en_in/versions/marshmallow-6-0/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Application search bar and favorites.&lt;br /&gt;
* Native fingerprint reader support.&lt;br /&gt;
* Direct Share feature for target-specific sharing between apps.&amp;lt;ref&amp;gt;{{cite web |title=Android 6.0 APIs – Android Developers |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#direct-share |access-date=October 20, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#direct-share |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Renamed &amp;quot;Priority&amp;quot; mode to &amp;quot;Do Not Disturb&amp;quot; mode.&lt;br /&gt;
* App Linking for faster instinctive opening of links with corresponding applications.&amp;lt;ref&amp;gt;{{cite web |title=Handling App Links |url=http://developer.android.com/training/app-links/index.html |website=developer.android.com |access-date=November 29, 2015 |archive-date=November 24, 2015 |archive-url=https://web.archive.org/web/20151124045813/http://developer.android.com/training/app-links/index.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=App Linking in Android 6.0 |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#app-linking |website=developer.android.com |access-date=November 29, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#app-linking |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Larger Application folders with multiple pages.&lt;br /&gt;
* Post-install/run-time permission requests.&lt;br /&gt;
* [[USB-C]] support.&lt;br /&gt;
* Demo Mode feature for screenshot-capture usage.&amp;lt;ref&amp;gt;{{cite web |title=Use Android 6.0&#039;s Hidden System UI Tuner to Customize Your Quick Settings and Status Bar |date=February 3, 2022 |url=http://www.howtogeek.com/231078/use-android-6.0%E2%80%99s-hidden-system-ui-tuner-to-customize-your-quick-settings-and-status-bar/ |access-date=October 20, 2015 |archive-date=February 24, 2017 |archive-url=https://web.archive.org/web/20170224155656/https://www.howtogeek.com/231078/use-android-6.0%E2%80%99s-hidden-system-ui-tuner-to-customize-your-quick-settings-and-status-bar/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Automatic full data backup and restore for apps.&amp;lt;ref&amp;gt;{{cite web |title=Android 6.0 APIs – Android Developers |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#backup |access-date=October 20, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#backup |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 4K display mode for apps.&amp;lt;ref&amp;gt;{{cite web |title=Android 6.0 APIs – Android Developers |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#4K-display |access-date=October 20, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#4K-display |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Adoptable External storage to behave like Internal Storage.&amp;lt;ref&amp;gt;{{cite web |title=Android 6.0 APIs – Android Developers |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#adoptable-storage |access-date=October 20, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#adoptable-storage |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://www.androidcentral.com/adoptable-storage |title=Everything you need to know about your SD card and Adoptable storage |date=April 7, 2017 |access-date=June 2, 2018 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142932/https://www.androidcentral.com/adoptable-storage |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[MIDI]] support for musical instruments.&amp;lt;ref&amp;gt;{{cite web |title=MIDI – Android Open Source Project |url=https://source.android.com/devices/audio/midi.html |access-date=October 20, 2015 |archive-date=September 26, 2015 |archive-url=https://web.archive.org/web/20150926143719/http://source.android.com/devices/audio/midi.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Experimental multi-window feature.&amp;lt;ref&amp;gt;{{cite web |title=How to Unlock the Hidden Multi-Window Mode in Android 6.0 Marshmallow |date=October 16, 2015 |url=http://android.wonderhowto.com/how-to/unlock-hidden-multi-window-mode-android-6-0-marshmallow-0165402/ |access-date=October 20, 2015 |archive-date=October 19, 2015 |archive-url=https://web.archive.org/web/20151019233847/http://android.wonderhowto.com/how-to/unlock-hidden-multi-window-mode-android-6-0-marshmallow-0165402/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Enable Multi-Window mode in Android 6.0 Marshmallow with a bit of tinkering |date=October 6, 2015 |url=http://www.androidauthority.com/multi-window-mode-android-6-0-marshmallow-647230/ |access-date=October 20, 2015 |archive-date=October 23, 2015 |archive-url=https://web.archive.org/web/20151023093409/http://www.androidauthority.com/multi-window-mode-android-6-0-marshmallow-647230 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Support for actions by third-party apps in the text selection menu.&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* App permissions now granted individually at run-time, not all-or-nothing at install time. Similar to [[App Ops]].&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/training/permissions/requesting.html |title=Request App Permissions &amp;amp;nbsp;-&amp;amp;nbsp; Android Developers |website=Android Developers |access-date=April 28, 2016 |archive-date=May 5, 2016 |archive-url=https://web.archive.org/web/20160505063403/http://developer.android.com/training/permissions/requesting.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Miracast support dropped.&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;&amp;gt;{{Cite news |url=https://www.computerworld.com/article/3239864/android/android-nostalgia-old-features.html |title=Android nostalgia: 13 once-trumpeted features that quietly faded away |last=Raphael |first=JR |date=December 5, 2017 |work=Computerworld |access-date=December 6, 2017 |language=en |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142934/https://www.computerworld.com/article/3239864/android-features-faded.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Many new essential commands supported by Android&#039;s [[Linux shell]] &#039;&#039;(/bin/sh)&#039;&#039;.&lt;br /&gt;
* No screen rotation during touch.&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.1&lt;br /&gt;
| December 7, 2015&amp;lt;ref name=&amp;quot;android-6-0-1-gadgetzarena&amp;quot;&amp;gt;{{cite web |title=Google releases Android 6.0.1 Factory Images for Nexus 6P/6, Nexus 5X/5, Nexus Player, Nexus 9 And Nexus 7 [2013] |url=http://www.gadgetzarena.com/news/google-releases-android-6-0-1-factory-images-nexus-6p6-nexus-5x5-nexus-player-nexus-9-nexus-7-2013 |website=GadgetzArena |date=December 7, 2015 |access-date=March 10, 2016 |archive-date=January 21, 2016 |archive-url=https://web.archive.org/web/20160121153839/http://www.gadgetzarena.com/news/google-releases-android-6-0-1-factory-images-nexus-6p6-nexus-5x5-nexus-player-nexus-9-nexus-7-2013/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[Unicode 7.0]] &amp;amp; [[Unicode 8.0|8.0]] [[emoji]] support.&amp;lt;ref name=&amp;quot;emojipedia-601&amp;quot;&amp;gt;{{cite web |title=Android 6.0.1 Emoji Changelog |url=http://blog.emojipedia.org/android-6-0-1-emoji-changelog/ |website=Emojipedia |date=December 7, 2015 |access-date=February 2, 2017 |archive-date=February 17, 2017 |archive-url=https://web.archive.org/web/20170217072617/http://blog.emojipedia.org/android-6-0-1-emoji-changelog/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Descriptions for USB connection options.&lt;br /&gt;
* Double-press the power button to open the camera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 7.0 Nougat ===&lt;br /&gt;
{{Main|Android Nougat}}&lt;br /&gt;
{{anchor|Nougat|Android 7|7|Android 7.0|Android Nougat}}&lt;br /&gt;
&lt;br /&gt;
Android &amp;quot;Nougat&amp;quot; (codenamed N in-development) is the seventh major release of the Android operating system. It was first released as a developer preview on March 9, 2016, with factory images for supported Nexus devices, as well as with the new &amp;quot;Android Beta Program&amp;quot; which allows supported devices to be upgraded directly to the Android Nougat beta via an over-the-air update. The final release was on August 22, 2016. The final preview build was released on July 18, 2016,&amp;lt;ref&amp;gt;{{Cite web |url=http://www.androidpolice.com/2016/07/18/android-7-0-nougat-developer-preview-5-the-final-preview-is-available-for-download/ |title=Android 7.0 Nougat Developer Preview 5 – the final preview – is available for download |date=July 18, 2016 |website=Android Police |access-date=July 19, 2016 |archive-date=July 19, 2016 |archive-url=https://web.archive.org/web/20160719133438/http://www.androidpolice.com/2016/07/18/android-7-0-nougat-developer-preview-5-the-final-preview-is-available-for-download/ |url-status=live }}&amp;lt;/ref&amp;gt; with the build number NPD90G.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 7.0 Nougat (API 24)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 7.0&lt;br /&gt;
| August 22, 2016&amp;lt;ref&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2016/08/taking-final-wrapper-off-of-nougat.html |title=Taking the final wrapper off of Android 7.0 Nougat |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142838/https://android-developers.googleblog.com/2016/08/taking-final-wrapper-off-of-nougat.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Support for file-based encryption.&amp;lt;ref&amp;gt;{{cite web |url=https://security.googleblog.com/2016/11/pixel-security-better-faster-stronger.html |title=Pixel Security: Better, Faster, Stronger |last1=Crowley |first1=Paul |last2=Lawrence |first2=Paul |website=Google Security Blog |date=November 17, 2016 |access-date=March 4, 2019 |archive-date=March 6, 2019 |archive-url=https://web.archive.org/web/20190306042809/https://security.googleblog.com/2016/11/pixel-security-better-faster-stronger.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Unicode 9.0]] [[emoji]] and skin tone modifier support (and exposes a subset of [[ICU4J]] APIs).&amp;lt;ref name=&amp;quot;emojipedia-70&amp;quot;&amp;gt;{{cite web |title=Android 7.0 Nougat Emoji Changelog |url=http://blog.emojipedia.org/android-7-0-emoji-changelog/ |website=Emojipedia |date=August 22, 2016 |access-date=February 2, 2017 |archive-date=February 22, 2017 |archive-url=https://web.archive.org/web/20170222042239/http://blog.emojipedia.org/android-7-0-emoji-changelog/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Ability to display color calibration.&lt;br /&gt;
* Ability to zoom in the screen.&lt;br /&gt;
* Ability to switch to the last opened app by double-tapping the overview button.&lt;br /&gt;
* Added an Emergency information part.&lt;br /&gt;
* Added the &amp;quot;Clear All&amp;quot; button to the Overview screen.&lt;br /&gt;
* Another system partition, which gets updated when not in use, allowing for seamless system updates.&lt;br /&gt;
* [[Google Daydream|Daydream]] virtual reality platform (VR interface).&lt;br /&gt;
* Improved Doze functionality, which aims to prolong battery life.&lt;br /&gt;
* Improvements to the file browser.&lt;br /&gt;
* Ability to [[File operation|move files]] added to &#039;&#039;Storage Access Framework&#039;&#039;&amp;lt;ref name=SAF-API24&amp;gt;{{cite web |title=DocumentsContract |url=https://developer.android.com/reference/android/provider/DocumentsContract#moveDocument(android.content.ContentResolver,%20android.net.Uri,%20android.net.Uri,%20android.net.Uri |website=Android Developers |language=en |access-date=February 2, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143342/https://developer.android.com/reference/android/provider/DocumentsContract#moveDocument(android.content.ContentResolver,%20android.net.Uri,%20android.net.Uri,%20android.net.Uri |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* More Quick Settings options.&lt;br /&gt;
* Multi-window support, which supports floating apps on a desktop layout.&lt;br /&gt;
* New Data Saver mode, which can force apps to reduce bandwidth usage.&lt;br /&gt;
* New JIT Compiler, making for 75 percent faster app installations and a 50 percent reduction in compiled code size.&lt;br /&gt;
* Just in Time (JIT) compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run.&amp;lt;ref&amp;gt;{{cite web |url=https://developer.android.com/about/versions/nougat/android-7.0.html |title=Android 7.0 for Developers &amp;amp;nbsp;-&amp;amp;nbsp; Android Developers |website=Android Developers |access-date=August 25, 2016 |archive-date=September 11, 2016 |archive-url=https://web.archive.org/web/20160911205602/https://developer.android.com/about/versions/nougat/android-7.0.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Picture-in-picture]] support for [[Android TV]].&lt;br /&gt;
* Redesigned notification shade, featuring instant access to certain settings.&lt;br /&gt;
* Redesigned Overview screen.&lt;br /&gt;
* Replaced notification cards with notification sheets.&lt;br /&gt;
* Settings app navigation drawer.&lt;br /&gt;
* [[Vulkan (API)|Vulkan 3D]] rendering API.&lt;br /&gt;
* Multiple Device Locales&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2016/03/12/android-n-feature-spotlight-multiple-device-locales-are-now-supported-allowing-search-results-in-multiple-languages-and-other-goodies/ |title=Android N Feature Spotlight: Multiple Device Locales Are Now Supported, Allowing Search Results In Multiple Languages And Other Goodies |date=March 12, 2016 |access-date=February 13, 2017 |archive-date=February 14, 2017 |archive-url=https://web.archive.org/web/20170214005239/http://www.androidpolice.com/2016/03/12/android-n-feature-spotlight-multiple-device-locales-are-now-supported-allowing-search-results-in-multiple-languages-and-other-goodies/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Discontinuation of Android Camera V1 API&amp;lt;ref name=CameraVersion&amp;gt;{{Cite web |url=https://source.android.com/devices/camera/versioning |title=Camera Version Support |website=Android Open Source Project |access-date=July 4, 2020 |archive-date=July 4, 2020 |archive-url=https://web.archive.org/web/20200704161717/https://source.android.com/devices/camera/versioning |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Restricted file system access&amp;lt;ref&amp;gt;{{cite web |url=https://proclockers.com/review/list-of-all-android-operating-system-names-2020-update/ |title=List of All Android Operating System Names (2020 Update) |date=November 18, 2020 |publisher=ProClockers |access-date=November 24, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143419/https://gaminggorilla.com/list-of-all-android-operating-system-names-2020-update/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 7.1 Nougat ====&lt;br /&gt;
{{anchor|Android 7.1|7.1}}&lt;br /&gt;
&lt;br /&gt;
On October 19, 2016, Google released Android 7.1.1 as a developer preview for the Nexus 5X, Nexus 6P and the Pixel C. A second preview became available on November 22, 2016, before the final version was released to the public on December 5, 2016.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 7.1 Nougat (API 25)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 7.1&lt;br /&gt;
| October 4, 2016&amp;lt;ref&amp;gt;{{Cite web |url=http://www.androidpolice.com/2016/10/04/android-7-1-nougats-changelog-includes-pixel-exclusive-non-pixel-exclusive-changes/ |title=Android 7.1 Nougat&#039;s changelog is here, includes both Pixel-exclusive and non-Pixel exclusive changes |date=October 4, 2016 |website=Android Police |access-date=October 5, 2016 |archive-date=October 5, 2016 |archive-url=https://web.archive.org/web/20161005125659/http://www.androidpolice.com/2016/10/04/android-7-1-nougats-changelog-includes-pixel-exclusive-non-pixel-exclusive-changes/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Rearranged notification shade.&lt;br /&gt;
* &amp;quot;Restart&amp;quot; option added to power button menu&amp;lt;ref&amp;gt;{{cite web |last1=Sinha |first1=Rupesh |title=Android 7.1 Changes: What The New Update Brings |url=https://beebom.com/android-7-1-changes-what-new/ |website=Beebom |access-date=June 12, 2021 |date=October 20, 2016 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143424/https://beebom.com/android-7-1-changes-what-new/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Touch/display performance improvements.&lt;br /&gt;
* Moves (Fingerprint swipe down gesture{{snd}}opt-in).&lt;br /&gt;
* Opt-in with new hardware required:&lt;br /&gt;
** Seamless A/B system updates.&lt;br /&gt;
** Daydream VR mode.&lt;br /&gt;
* Developer features:&lt;br /&gt;
** Shortcut manager APIs.&lt;br /&gt;
** Circular app icons support.&lt;br /&gt;
** Keyboard image insertion.&lt;br /&gt;
** Fingerprint sensor gesture to open/close notification shade.&lt;br /&gt;
** Manual storage manager Intent for apps.&lt;br /&gt;
** Improved VR thread scheduling.&lt;br /&gt;
** Enhanced wallpaper metadata.&lt;br /&gt;
** Multi-endpoint call support.&lt;br /&gt;
** Support for various MNO requirements.&lt;br /&gt;
*** PCDMA voice privacy property.&lt;br /&gt;
*** Source type support for Visual Voicemail.&lt;br /&gt;
*** Carrier config options for managing telephone videos.&lt;br /&gt;
* Manual storage manager{{snd}} identifies files and apps using storage.&lt;br /&gt;
|-&lt;br /&gt;
| 7.1.1&amp;lt;ref&amp;gt;{{Cite web |url=https://blog.google/products/android/sweet-update-nougat-android-711/ |title=A sweet update to Nougat: Android 7.1.1 |date=December 5, 2016 |website=Google Blog |access-date=December 13, 2016 |archive-date=December 13, 2016 |archive-url=https://web.archive.org/web/20161213001345/https://blog.google/products/android/sweet-update-nougat-android-711/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| December 1, 2016&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-7.1.1_r1 |title=refs/tags/android-7.1.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143448/https://android.googlesource.com/platform/system/core/+/refs/tags/android-7.1.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* New set of [[emoji]]s adding different skin tones and haircuts to existing ones.&lt;br /&gt;
* Send GIFs directly from the default keyboard.&lt;br /&gt;
* App shortcuts: Launch actions on apps by long-pressing the app icon.&lt;br /&gt;
* Developer Options: &#039;&#039;Show CPU Usage&#039;&#039; feature removed.&lt;br /&gt;
|-&lt;br /&gt;
| 7.1.2&amp;lt;ref&amp;gt;{{Cite web |url=https://productforums.google.com/forum/#!topic/phone-by-google/h9qq56zHiuU |title=Google Groups |website=productforums.google.com |access-date=April 4, 2017 |archive-date=December 3, 2018 |archive-url=https://web.archive.org/web/20181203081016/https://productforums.google.com/forum/#!topic/phone-by-google/h9qq56zHiuU |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=http://www.androidauthority.com/pixel-c-android-7-1-2-update-761195/ |title=Some Pixel C and Nexus Player owners are getting the official Android 7.1.2 update |date=April 2, 2017 |website=Android Authority |access-date=April 2, 2017 |archive-date=April 3, 2017 |archive-url=https://web.archive.org/web/20170403005448/http://www.androidauthority.com/pixel-c-android-7-1-2-update-761195/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| April 2, 2017&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-7.1.2_r1 |title=refs/tags/android-7.1.2_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143348/https://android.googlesource.com/platform/system/core/+/refs/tags/android-7.1.2_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Battery usage alerts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 8.0 Oreo ===&lt;br /&gt;
{{Main|Android Oreo}}&lt;br /&gt;
{{anchor|Oreo|Android 8|8|Android 8.0|Android Oreo|8.0|Project Treble}}&lt;br /&gt;
&lt;br /&gt;
Android Oreo is the eighth major release of the Android operating system. It was first released as a developer preview, codenamed Android O, on March 21, 2017, with factory images for supported Nexus and Pixel devices. The final developer preview was released on July 24, 2017, with the stable version released in August 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 8.0 Oreo (API 26)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 8.0&amp;lt;ref name=&amp;quot;guardian8&amp;quot;&amp;gt;{{cite news |url=https://www.theguardian.com/technology/2017/aug/21/oreo-google-announces-release-of-the-next-version-of-android-8 |title=Oreo: Google announces release of the next version of Android 8 |date=August 21, 2017 |work=[[The Guardian]] |first1=Samuel |last1=Gibbs |first2=Olivia |last2=Solon |access-date=March 11, 2019 |archive-date=September 3, 2017 |archive-url=https://web.archive.org/web/20170903103557/https://www.theguardian.com/technology/2017/aug/21/oreo-google-announces-release-of-the-next-version-of-android-8 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| August 21, 2017&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;&#039;Project Treble&#039;&#039;&#039;, the biggest change to the foundations of Android to date: a modular architecture that makes it easier and faster for hardware makers to deliver Android updates.&lt;br /&gt;
* Picture-in-picture support.&lt;br /&gt;
* Support for Unicode 10.0 emoji (5.0) and replacement of all blob-shaped emojis by round ones with gradients and outlines.&lt;br /&gt;
* Redesigned Quick Settings and Settings with a white background and respectively black and Accent font colors.&lt;br /&gt;
* Restructured Settings by regrouping sections into similar entries.&lt;br /&gt;
* Adaptive icons&lt;br /&gt;
* Notification improvements.&lt;br /&gt;
** Notification channels.&lt;br /&gt;
** Notification dots (badges).&lt;br /&gt;
** Notification snoozing.&lt;br /&gt;
** Notification shade multi-colors (for music album art, messengers, etc.).&lt;br /&gt;
* System-wide Autofill framework.&lt;br /&gt;
* Support for [[Advanced Audio Coding|AAC]], [[Sony]]&#039;s [[LDAC (codec)|LDAC]] and [[Qualcomm]]&#039;s [[aptX]] and [[AptX#aptX HD|aptX HD]] codecs.&amp;lt;ref&amp;gt;{{Cite web |url=https://www.androidauthority.com/android-oreo-vs-android-nougat-audio-794775/ |title=How Oreo is better than Nougat: Audio |date=August 23, 2017 |website=Android Authority |language=en-US |access-date=December 22, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143424/https://www.androidauthority.com/android-oreo-vs-android-nougat-audio-794775/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* App-specific unknown sources.&lt;br /&gt;
* Multi-display support.&lt;br /&gt;
* 2 times faster boot time compared to Nougat according to Google, testing on their Pixel devices.&amp;lt;ref name=&amp;quot;guardian8&amp;quot;/&amp;gt;&lt;br /&gt;
* Apps background execution and location limits.&lt;br /&gt;
* Google Play Protect.&lt;br /&gt;
* Downloadable fonts.&lt;br /&gt;
* Integrated printing support.&lt;br /&gt;
* Color management (deep color and wide color gamut).&lt;br /&gt;
* Wi-Fi Assistant.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 8.1 Oreo ====&lt;br /&gt;
{{anchor|8.1|Android 8.1}}&lt;br /&gt;
&lt;br /&gt;
Android 8.1 Oreo is the sixteenth minor release of the Android operating system. It was first released as a developer preview on October 25, 2017, with factory images for current Nexus and Pixel devices. A second developer preview was made available on November 27, 2017, for Nexus and Pixel devices, before the stable version was released on December 5, 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 8.1 Oreo (API 27)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 8.1&amp;lt;ref&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2017/10/android-81-developer-preview.html |title=Google Blog |website=android-developers.googleblog.com |access-date=October 25, 2017 |archive-date=October 25, 2017 |archive-url=https://web.archive.org/web/20171025183103/https://android-developers.googleblog.com/2017/10/android-81-developer-preview.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=https://www.goandroid.co.in/android-8-1-developer-preview-arrives-pixel-nexus-devices/73184/ |title=Android 8.1 developer preview arrives for Pixel and Nexus devices |date=October 25, 2017 |website=GoAndroid |access-date=October 25, 2017 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143449/https://www.thegoandroid.com/android-8-1-developer-preview-arrives-pixel-nexus-devices/73184/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| December 5, 2017&amp;lt;ref&amp;gt;{{cite web |url=https://arstechnica.com/gadgets/2017/12/android-8-1-oreo-goes-final-rolling-out-now-to-pixel-and-nexus-devices/ |title=Android 8.1 Oreo goes final, rolling out now to Pixel and Nexus devices |date=December 5, 2017 |website=Ars Technica |access-date=December 5, 2017 |archive-date=January 2, 2018 |archive-url=https://web.archive.org/web/20180102090441/https://arstechnica.com/gadgets/2017/12/android-8-1-oreo-goes-final-rolling-out-now-to-pixel-and-nexus-devices/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://android-developers.googleblog.com/2017/12/welcoming-android-81-oreo-and-android.html |title=Welcoming Android 8.1 Oreo and Android Oreo (Go edition) |author=Dave Burke |date=December 5, 2017 |access-date=December 5, 2017 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143856/https://android-developers.googleblog.com/2017/12/welcoming-android-81-oreo-and-android.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Neural networks API.&lt;br /&gt;
* Shared memory API.&lt;br /&gt;
* WallpaperColors API.&lt;br /&gt;
* Bluetooth battery level for connected devices, accessible in Quick Settings.&lt;br /&gt;
* &#039;&#039;&#039;[[Android Go|Android Oreo (Go edition)]]&#039;&#039;&#039;, a lightweight distribution of Android that runs better than normal Android on devices with less than 1&amp;amp;nbsp;GB of RAM.&amp;lt;ref name = &amp;quot;Android Go&amp;quot;&amp;gt;{{cite web |url=https://www.theverge.com/circuitbreaker/2018/3/1/17052912/what-is-android-go |title=Android Go is here to fix super cheap phones |publisher=The Verge |date=March 1, 2018 |access-date=January 11, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144008/https://www.theverge.com/circuitbreaker/2018/3/1/17052912/what-is-android-go |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Autofill framework updates.&lt;br /&gt;
* Programmatic Safe Browsing actions.&lt;br /&gt;
* Navigation buttons dim when not in use.&lt;br /&gt;
* Visual changes to &#039;Power Off&#039; and &#039;Restart&#039;, including a new screen and floating toolbar.&lt;br /&gt;
* Toast messages are now white with the same existing transparency.&lt;br /&gt;
* Automatic light and dark themes.&lt;br /&gt;
* New Easter egg in the form of an official [[Oreo|Oreo cookie]] picture.&amp;lt;ref name = &amp;quot;Android police oreo cookie&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2017/10/25/android-8-1-feature-spotlight-new-oreo-easter-egg-appears-double-stuf-form-octopus-remains/ |title=Android 8.1 feature spotlight: A new Oreo Easter egg |date=October 25, 2017 |publisher=Android Police |access-date=November 28, 2017 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143858/https://www.androidpolice.com/2017/10/25/android-8-1-feature-spotlight-new-oreo-easter-egg-appears-double-stuf-form-octopus-remains/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 9 Pie ===&lt;br /&gt;
{{Main|Android Pie}}&lt;br /&gt;
{{anchor|Pie|Android 9|9|Android 9.0|9.0|Android Pie}}&lt;br /&gt;
&lt;br /&gt;
Android Pie is the ninth major version of the Android operating system. It was first announced by Google on March 7, 2018, and the first developer preview was released on the same day. The second preview, considered beta quality, was released on May 8, 2018. The final beta of Android Pie (fifth preview, also considered as a &amp;quot;Release Candidate&amp;quot;) was released on July 25, 2018. The first official release was released on August 6, 2018.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 9 Pie (API 28)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|August 6, 2018&lt;br /&gt;
|&lt;br /&gt;
* New user interface for the quick settings menu.&amp;lt;ref name=&amp;quot;xda&amp;quot;&amp;gt;{{cite web |last1=Rahman |first1=Mishaal |title=Here&#039;s Everything New in Android P Developer Preview 1 for the Google Pixel/XL and Pixel 2/XL |url=https://www.xda-developers.com/everything-new-android-p-developer-preview/ |website=XDA Developers |access-date=March 8, 2018 |date=March 7, 2018 |archive-date=April 22, 2018 |archive-url=https://web.archive.org/web/20180422014635/https://www.xda-developers.com/everything-new-android-p-developer-preview/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The clock has moved to the left of the notification bar.&amp;lt;ref name=&amp;quot;Verge&amp;quot;&amp;gt;{{cite news |last1=Welch |first1=Chris |title=The biggest early visual changes in Android P |url=https://www.theverge.com/2018/3/7/17092800/android-p-new-design-changes-features |access-date=March 8, 2018 |work=[[The Verge]] |date=March 7, 2018 |archive-date=June 22, 2018 |archive-url=https://web.archive.org/web/20180622084001/https://www.theverge.com/2018/3/7/17092800/android-p-new-design-changes-features |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The &amp;quot;dock&amp;quot; now has a semi-transparent background.&amp;lt;ref name=&amp;quot;Verge&amp;quot;/&amp;gt;&lt;br /&gt;
* Battery Saver no longer shows an orange overlay on the notification and status bars.&amp;lt;ref name=xda/&amp;gt;&lt;br /&gt;
* A &amp;quot;screenshot&amp;quot; button has been added to the power options.&amp;lt;ref name=&amp;quot;Verge&amp;quot;/&amp;gt;&lt;br /&gt;
* A new &amp;quot;Lockdown&amp;quot; mode which disables biometric authentication once activated.&lt;br /&gt;
* Rounded corners across the UI.&lt;br /&gt;
* New transitions for switching between apps, or activities within apps.&lt;br /&gt;
* Richer messaging notifications, where a full conversation can be seen within a notification, full-scale images, and smart replies akin to Google&#039;s new app, Reply.&lt;br /&gt;
* Support for display cutouts.&lt;br /&gt;
* Redesigned volume slider.&lt;br /&gt;
* Battery percentage now shown in Always-On Display.&lt;br /&gt;
* Lock screen security changes include the possible return of an improved NFC Unlock.&lt;br /&gt;
* Experimental features (which are currently hidden within a menu called Feature Flags) such as a redesigned About Phone page in settings, and automatic Bluetooth enabling while driving.&lt;br /&gt;
* [[DNS over TLS]].&amp;lt;ref&amp;gt;{{cite web |title=DNS over TLS support in Android P Developer Preview |date=April 17, 2018 |work=Google Security Blog |url=https://security.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html |access-date=May 9, 2018 |archive-date=April 22, 2018 |archive-url=https://web.archive.org/web/20180422194047/https://security.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* A new optional gesture-based system interface, allowing users to navigate the OS using swipes more often than the traditional UI.&lt;br /&gt;
* Redesigned multitask app switcher with the Google search bar and app drawer built-in.&lt;br /&gt;
* Android Dashboard, which tells the user how much time they are spending on their device and in apps, and allows the user to set time limits on apps.&lt;br /&gt;
* &amp;quot;Shush&amp;quot;, an enhanced version of Do Not Disturb mode activated by placing the phone face down, which mutes standard notifications.&lt;br /&gt;
* &amp;quot;Adaptive Battery&amp;quot; prediction, which makes use of Doze to hibernate user apps the OS determines the user will not use.&lt;br /&gt;
* Auto-Brightness feature modifies screen brightness based on user habits.&lt;br /&gt;
* Wind Down option lets Android users set a specific bedtime that enables Do Not Disturb and turns the entire phone&#039;s interface gray to discourage further use at night.&lt;br /&gt;
* [[Vulkan#Vulkan 1.1|Vulkan 1.1]] support.&lt;br /&gt;
* Call recording options fully disabled&amp;lt;ref name=ACR&amp;gt;{{Cite web |url=https://nllapps.com/apps/acr/android9.htm |title=Android 9/10 call recording issues &amp;amp;#124; ACR – Another Call Recorder by NLL APPS |website=nllapps.com |access-date=July 5, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144014/https://nllapps.com/apps/acr/android9.htm |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 10 ===&lt;br /&gt;
{{Main|Android 10}}&lt;br /&gt;
{{anchor|10|Android 10}}&lt;br /&gt;
&lt;br /&gt;
Android 10 is the tenth major version of the Android operating system.  The stable version of Android 10 was released on September 3, 2019.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 10 (API 29)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| September 3, 2019&lt;br /&gt;
|&lt;br /&gt;
* Revamped full-screen gesture navigation with new app open/close animations.&amp;lt;ref&amp;gt;{{Cite web |url=https://www.xda-developers.com/android-q-navigation-gestures-mandatory/ |title=[Update: OEM Gestures Allowed] Google&#039;s new navigation gestures in Android Q will be mandatory for all devices |date=May 9, 2019 |website=xda-developers |access-date=August 15, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144403/https://www.xda-developers.com/android-q-navigation-gestures-mandatory/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Android 10 launcher port brings new gesture animations to Android 9 |url=https://www.xda-developers.com/android-10-launcher-port-gesture-animations-android-9/ |website=xda-developers |date=September 10, 2019 |access-date=March 20, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144404/https://www.xda-developers.com/android-10-launcher-port-gesture-animations-android-9/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=September 23, 2020 |title=Android 11—The Ars Technica Review |url=https://arstechnica.com/gadgets/2020/09/android-11-the-ars-technica-review/ |access-date=April 17, 2021 |website=Ars Technica |language=en-us |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144414/https://arstechnica.com/gadgets/2020/09/android-11-the-ars-technica-review/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;Scoped storage&#039;&#039; restrictions&amp;lt;ref&amp;gt;{{cite web |title=Privacy changes in Android 10 |url=https://developer.android.com/about/versions/10/privacy/changes |website=Android Developers |language=en |access-date=September 21, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144407/https://developer.android.com/about/versions/10/privacy/changes |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* New permissions required to access location in background and to access photo, video and audio files.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot;&amp;gt;{{cite web |last1=Burke |first1=Dave |title=Introducing Android Q Beta |url=https://android-developers.googleblog.com/2019/03/introducing-android-q-beta.html |website=Android Developers Blog |access-date=March 13, 2019 |date=March 13, 2019 |archive-date=May 7, 2019 |archive-url=https://web.archive.org/web/20190507090246/https://android-developers.googleblog.com/2019/03/introducing-android-q-beta.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Background apps can no longer jump into the foreground.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Limited access to non-resettable device identifiers.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Background (idle) access to camera, microphone and sensors disabled for more privacy protection with the side effect of disabling [[antitheft]] software.&amp;lt;ref name=Verge-Background&amp;gt;{{Cite web |url=https://www.theverge.com/2018/3/7/17091104/android-p-prevents-apps-using-mic-camera-idle-background |title=Android P won&#039;t let apps secretly use your mic or camera in the background |first=Chris |last=Welch |date=March 7, 2018 |website=The Verge |access-date=July 5, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144414/https://www.theverge.com/2018/3/7/17091104/android-p-prevents-apps-using-mic-camera-idle-background |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=AndroidAuth-Background&amp;gt;{{Cite web |url=https://www.androidauthority.com/android-p-camera-restrictions-839076/ |title=Android P will prevent apps from using your camera or microphone without telling you (Updated) |date=February 21, 2018 |website=Android Authority |access-date=July 5, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144520/https://www.androidauthority.com/android-p-camera-restrictions-839076/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=PhoneArena-background&amp;gt;{{Cite web |url=https://www.phonearena.com/news/Android-P-prevents-background-camera-use_id102610 |title=Android P will prevent background apps from using the camera |first=Mihail |last=Nikolov |website=Phone Arena |date=February 20, 2018 |access-date=July 5, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144410/https://www.phonearena.com/news/Android-P-prevents-background-camera-use_id102610 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sharing shortcuts, which allow sharing content with a contact directly.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Floating settings panel, that allows changing system settings directly from apps.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Dynamic depth format for photos, which allow changing background blur after taking a photo.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for the [[AV1]] video codec, the [[HDR10+]] video format and the [[Opus (audio format)|Opus]] audio codec.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for [[AptX#aptX Adaptive|aptX Adaptive]], [[LHDC (codec)#LHDC|LHDC]], [[LHDC (codec)#LLAC|LLAC]], [[CELT]] and AAC LATM codecs&amp;lt;ref&amp;gt;{{Cite web |url=https://source.android.com/devices/audio/implement |title=Audio Implementation |website=Android Open Source Project |language=en |access-date=December 22, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144519/https://source.android.com/docs/core/audio/implement |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=https://porta-fi.com/android-10-devices-are-going-to-sound-better-with-lhdc/ |title=Android 10 devices are going to sound better with LHDC™ |last=Yeow |first=Goh Beng |date=October 22, 2019 |website=Porta-Fi™ |language=en-GB |access-date=December 22, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144928/https://porta-fi.com/android-10-devices-are-going-to-sound-better-with-lhdc/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* A native [[MIDI]] API, allowing interaction with music controllers.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Better support for [[biometric authentication]] in apps.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for the [[Wi-Fi Protected Access#WPA3|WPA3]] Wi-Fi security protocol.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for [[foldable phone]]s.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for Notification Bubbles.&amp;lt;ref name=&amp;quot;qbeta2&amp;quot;&amp;gt;{{cite web |last1=Burke |first1=Dave |title=Android Q Beta 2 update |url=https://android-developers.googleblog.com/2019/04/android-q-beta-2-update.html |website=Android Developers Blog |access-date=April 25, 2019 |date=April 3, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144944/https://android-developers.googleblog.com/2019/04/android-q-beta-2-update.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;notificationbubbles&amp;quot;&amp;gt;{{cite web |title=Bubbles |website=Android Developers |url=https://developer.android.com/preview/features/bubbles|access-date=April 25, 2019|archive-date=April 10, 2019|archive-url=https://web.archive.org/web/20190410052657/https://developer.android.com/preview/features/bubbles|url-status=dead}}&amp;lt;/ref&amp;gt; &amp;lt;!-- Replace the preview link with the final Bubbles link when Android Q is publicly released. --&amp;gt;&lt;br /&gt;
* New system-wide dark theme/mode&amp;lt;ref&amp;gt;{{Cite web |url=https://developer.android.com/guide/topics/ui/look-and-feel/darktheme |title=Dark theme |website=Android Developers |access-date=October 13, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144954/https://developer.android.com/develop/ui/views/theming/darktheme |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=https://9to5google.com/2019/10/10/google-dark-mode-apps-gallery/ |title=Google Dark Mode app roundup: Everything available so far |first=Ben |last=Schoon |work=9to5Google |date=October 10, 2019 |access-date=October 13, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144952/https://9to5google.com/2020/05/19/google-dark-mode-apps-gallery/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* TLS v1.3 support added.&lt;br /&gt;
* Project Mainline, allows core OS components to be updated via the [[Google Play Store]], without requiring a complete system update&amp;lt;ref&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html |title=Fresher OS with Projects Treble and Mainline |website=Android Developers Blog |language=en |access-date=January 6, 2020 |archive-date=February 20, 2020 |archive-url=https://web.archive.org/web/20200220093711/https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 11 ===&lt;br /&gt;
{{Main|Android 11}}&lt;br /&gt;
{{anchor|11|Android 11}}&lt;br /&gt;
&lt;br /&gt;
Android 11 is the eleventh major version of the Android operating system. It was first announced by Google on February 19, 2020, and the first developer preview released on the same day.&amp;lt;ref&amp;gt;{{Cite web |title=Turning it up to 11: the first Developer Preview of Android 11 |url=https://android-developers.googleblog.com/2020/02/Android-11-developer-preview.html |last=Burke |first=Dave |website=Android Developers Blog |language=en |access-date=May 11, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144915/https://android-developers.googleblog.com/2020/02/Android-11-developer-preview.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=Android 11 Developer Preview: All the changes we found from Android 10 so far! |url=https://www.xda-developers.com/android-11-developer-preview-changes/ |date=February 19, 2020 |last=Fedewa |first=Joe |website=xda-developers |language=en-US |access-date=May 11, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145014/https://www.xda-developers.com/android-11-developer-preview-changes/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;The launch of Android 11 Beta was postponed from June 3, 2020, to June 10, 2020.&amp;lt;ref name=&amp;quot;eleven-beta&amp;quot;&amp;gt;{{cite web |url=https://www.theverge.com/2020/5/30/21275399/google-delays-android-11-beta-announcement-protests-george-floyd |title=Google delays the Android 11 Beta announcement as protests roil US cities |website=www.theverge.com |access-date=June 8, 2020 |date=May 30, 2020 |archive-date=May 30, 2020 |archive-url=https://web.archive.org/web/20200530071708/https://www.theverge.com/2020/5/30/21275399/google-delays-android-11-beta-announcement-protests-george-floyd |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 11 (API 30)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| September 8, 2020&lt;br /&gt;
|&lt;br /&gt;
* Chat bubbles.&lt;br /&gt;
* Screen recorder.&lt;br /&gt;
* Notification history.&lt;br /&gt;
* New permissions controls.&lt;br /&gt;
* API distinction between standalone [[5G NR]] and non-standalone 5G.&lt;br /&gt;
* One-time permissions.&amp;lt;ref name=&amp;quot;unwrappingandroid11&amp;quot;&amp;gt;{{cite web |last1=Cuthbertso |first1=Stephanie |title=Unwrapping the Android 11 Beta, plus more developer updates |url=https://android-developers.googleblog.com/2020/06/unwrapping-android-11-beta-plus-more.html |website=Android Developers Blog |access-date=August 20, 2020 |date=June 10, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144916/https://android-developers.googleblog.com/2020/06/unwrapping-android-11-beta-plus-more.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Permissions auto-reset.&amp;lt;ref name=&amp;quot;unwrappingandroid11&amp;quot; /&amp;gt;&lt;br /&gt;
* Wireless [[Android Auto]] on devices with 5GHz Wi-Fi.&amp;lt;ref name=&amp;quot;Android 11 Product Page&amp;quot;&amp;gt;{{Cite web |title=Android 11 |url=https://www.android.com/android-11/ |access-date=September 25, 2020 |website=Android |language=en-US |archive-date=September 12, 2020 |archive-url=https://web.archive.org/web/20200912094615/https://www.android.com/android-11/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Increased number of updatable core OS components in Google Play from 12 to 21.&amp;lt;ref name=&amp;quot;unwrappingandroid11&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;mainline&amp;quot;&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2020/07/accelerating-android-updates.html |title=Accelerating Android Updates |access-date=March 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144946/https://android-developers.googleblog.com/2020/07/accelerating-android-updates.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Enterprise work profile privacy protections now apply on company-owned devices.&amp;lt;ref name=&amp;quot;Android 11 Enterprise Blog&amp;quot;&amp;gt;{{Cite web |last1=Marsanyi |first1=Ian |title=Championing employee privacy, productivity with Android 11 |url=https://blog.google/products/android-enterprise/android-11/ |website=Android Enterprise Blog |access-date=September 25, 2020 |date=September 8, 2020 |language=en-US |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145503/https://blog.google/products/android-enterprise/android-11/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Independent left and right edge sensitivity for gesture navigation.&amp;lt;ref&amp;gt;{{cite web |last1=Schoon |first1=Ben |title=Android 11 prepares new settings for Gesture Navigation |url=https://9to5google.com/2020/02/19/android-11-gesture-settings-menu/ |website=[[9to5Google]] |date=February 19, 2020 |access-date=May 15, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145534/https://9to5google.com/2020/02/19/android-11-gesture-settings-menu/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Since this version, apps no longer have access to other app&#039;s directories (including &amp;quot;Android/Data&amp;quot;).&amp;lt;ref&amp;gt;{{cite news |title=Android 11 : Scoped Storage |url=https://medium.com/dhiwise/android-11-scoped-storage-9e419ea5c934 |work=DhiWise |date=21 July 2021 |language=en |access-date=January 13, 2024 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145504/https://medium.com/dhiwise/android-11-scoped-storage-9e419ea5c934 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 12 ===&lt;br /&gt;
{{Main|Android 12}}&lt;br /&gt;
{{anchor|12|Android 12}}&lt;br /&gt;
&lt;br /&gt;
Android 12 is the twelfth major version of the Android operating system. It was first announced by Google on February 18, 2021, and the first developer preview was released on the same day.&amp;lt;ref&amp;gt;{{Cite web |title=Android S: the first Developer Preview of Android 12 |url=https://developer.android.com/about/versions/12 |website=Android Developers Blog |language=en |access-date=February 18, 2021 |archive-date=February 19, 2021 |archive-url=https://web.archive.org/web/20210219023916/https://developer.android.com/about/versions/12 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=Android 12 Developer Preview: First Developer preview |url=https://www.xda-developers.com/android-12-developer-preview-hands-on/ |date=February 18, 2021 |website=xda-developers |language=en-US |access-date=February 18, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145505/https://www.xda-developers.com/android-12-developer-preview-hands-on/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 12 (API 31)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| October 4, 2021&lt;br /&gt;
|&lt;br /&gt;
* Easier Wi-Fi sharing.&lt;br /&gt;
* [[AVIF]] image support.&lt;br /&gt;
* Material You, an updated design language based on [[Material Design]].&lt;br /&gt;
* Scrolling Screenshot.&amp;lt;ref&amp;gt;{{cite web |title=Android 12 To Finally Bring Scrolling Screenshots |url=https://techiai.com/android-12-to-finally-bring-scrolling-screenshots-how-it-would-work/ |website=TechiAI |date=August 15, 2021 |access-date=October 20, 2021 |archive-date=July 10, 2022 |archive-url=https://web.archive.org/web/20220710104625/https://techiai.com/android-12-to-finally-bring-scrolling-screenshots-how-it-would-work/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* One Handed Mode.&amp;lt;ref&amp;gt;{{cite web |title=Guide to enable One-Handed Mode on Android 12 |url=https://www.gizmochina.com/2021/03/28/guide-to-enable-one-handed-mode-on-android-12/ |website=Gizmochina |date=March 28, 2021 |access-date=October 20, 2021 |archive-date=July 4, 2022 |archive-url=https://web.archive.org/web/20220704194900/https://www.gizmochina.com/2021/03/28/guide-to-enable-one-handed-mode-on-android-12/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Android Runtime]] (ART) module added to the updatable core OS components via Google Play, added functionality to existing modules.&amp;lt;ref name=&amp;quot;Features&amp;quot;&amp;gt;{{cite web |title=Android 12 Features |url=https://www.androidauthority.com/android-12-features-1195735/ |website=androidauthority |access-date=February 18, 2021 |date=February 18, 2021 |archive-date=August 3, 2022 |archive-url=https://web.archive.org/web/20220803160940/https://www.androidauthority.com/android-12-features-1195735/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;12preview&amp;quot;&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2021/02/android-12-dp1.html |title=First preview of Android 12 |access-date=March 19, 2021 |archive-date=February 18, 2021 |archive-url=https://web.archive.org/web/20210218180352/https://android-developers.googleblog.com/2021/02/android-12-dp1.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Area Magnification can zoom in any content on device.&amp;lt;ref&amp;gt;{{cite web |title=Magnification feature now offers a useful floating window |url=https://9to5google.com/2021/02/19/android-12-magnification-tweak/ |website=[[9to5Google]] |date=February 19, 2021 |access-date=October 20, 2021 |archive-date=July 13, 2022 |archive-url=https://web.archive.org/web/20220713032843/https://9to5google.com/2021/02/19/android-12-magnification-tweak/amp/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;quot;Extra Dim&amp;quot; is a faint level of brightness not accessible by the brightness scale.&amp;lt;ref&amp;gt;{{cite web |title=Android 12 gets &#039;Extra Dim&#039; |url=https://www.androidpolice.com/2021/04/22/android-12-dp3-gets-extra-dim-and-no-thats-not-an-insult/amp/ |website=Android Police |date=April 22, 2021 |access-date=October 20, 2021 |archive-date=July 18, 2022 |archive-url=https://web.archive.org/web/20220718044005/https://www.androidpolice.com/2021/04/22/android-12-dp3-gets-extra-dim-and-no-thats-not-an-insult/amp/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Bold Text.&lt;br /&gt;
* Greyscale.&lt;br /&gt;
* A green dot at the top right of the screen shows when the camera or microphone is in use.&amp;lt;ref&amp;gt;{{cite web |last1=Raphael |first1=J. R. |title=How to take advantage of Android 12&#039;s new privacy options |url=https://www.theverge.com/22634128/privacy-android-12-dashboard-apps-sensors |website=The Verge |access-date=1 April 2024 |language=en |date=20 August 2021 |archive-date=April 1, 2024 |archive-url=https://web.archive.org/web/20240401123146/https://www.theverge.com/22634128/privacy-android-12-dashboard-apps-sensors |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Option to choose precise or approximate location.&amp;lt;ref&amp;gt;{{cite web |title=Android 12 features: Everything you need to know about Google&#039;s latest OS |url=https://www.androidauthority.com/android-12-features-1195735/ |website=Android Authority |date=October 19, 2021 |access-date=February 19, 2021 |archive-date=August 3, 2022 |archive-url=https://web.archive.org/web/20220803160940/https://www.androidauthority.com/android-12-features-1195735/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Privacy Dashboard.&amp;lt;ref&amp;gt;{{cite web |title=How to access and use the Android 12 Privacy Dashboard |url=https://www.androidcentral.com/how-access-and-use-android-12-privacy-dashboard?amp |website=Android Central |date=September 21, 2021 |access-date=October 20, 2021 |archive-date=November 7, 2021 |archive-url=https://web.archive.org/web/20211107025705/https://www.androidcentral.com/how-access-and-use-android-12-privacy-dashboard?amp |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Gestures can work in immersive mode.&amp;lt;ref&amp;gt;{{cite web |title=Android 12 fixes one of the most frustrating things about gesture navigation |url=https://www.androidpolice.com/2021/02/18/android-12s-gestures-navigation-works-better-in-full-screen-and-immersive-views/ |website=Android Police |date=February 19, 2021 |access-date=May 15, 2021 |archive-date=July 6, 2022 |archive-url=https://web.archive.org/web/20220706101016/https://www.androidpolice.com/2021/02/18/android-12s-gestures-navigation-works-better-in-full-screen-and-immersive-views/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Performance improvements to system services to improve transitions, power efficiency, and reduce app startup times.&amp;lt;ref&amp;gt;{{cite web |title=What&#039;s new in Android 12 Beta |url=https://android-developers.googleblog.com/2021/05/whats-new-in-android-12-beta.html |website=Android Developers Blog |access-date=July 22, 2021 |language=en |archive-date=June 22, 2021 |archive-url=https://web.archive.org/web/20210622112036/https://android-developers.googleblog.com/2021/05/whats-new-in-android-12-beta.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Third party app stores now have the ability to update apps without constantly asking the user for permission.&amp;lt;ref&amp;gt;{{Cite web |date=May 20, 2021 |title=Android 12 will finally let alternative app stores update apps on their own |url=https://www.xda-developers.com/android-12-alternative-app-stores-update-apps-background/ |access-date=September 21, 2021 |website=xda-developers |language=en-US |archive-date=June 22, 2022 |archive-url=https://web.archive.org/web/20220622223308/https://www.xda-developers.com/android-12-alternative-app-stores-update-apps-background/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 12L ====&lt;br /&gt;
{{Main|Android 12L}}&lt;br /&gt;
{{anchor|12L|Android 12L}}&lt;br /&gt;
&lt;br /&gt;
Android 12L{{efn|Released as &amp;quot;Android 12.1&amp;quot; for smartphones}} is an interim release for Android 12 that includes design tweaks for larger displays and minor stability changes to the operating system. It was announced in October 2021 alongside Beta releases with a stable version launching on March 7, 2022.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 12L (API 32)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 12L&lt;br /&gt;
| March 7, 2022&lt;br /&gt;
|&lt;br /&gt;
* Improvements specific for foldable phones, tablets, desktop-sized screens and Chromebooks, and modifications to the user interface to tailor it to larger screens.&amp;lt;ref&amp;gt;{{Cite web |title=12L and new Android APIs and tools for large screens |last=Burke |first=Dave |url=https://android-developers.googleblog.com/2021/10/12L-preview-large-screens.html |date=October 27, 2021 |website=Android Developers Blog |language=en |access-date=May 22, 2022 |archive-date=July 22, 2022 |archive-url=https://web.archive.org/web/20220722074255/https://android-developers.googleblog.com/2021/10/12L-preview-large-screens.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 13 ===&lt;br /&gt;
{{Main|Android 13}}&lt;br /&gt;
{{anchor|13|Android 13}}&lt;br /&gt;
&lt;br /&gt;
Android 13 is the thirteenth major version of the Android operating system.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 13 (API 33)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| August 15, 2022&lt;br /&gt;
|&lt;br /&gt;
* Apps are now required to request permission from the user before they are able to send notifications.&amp;lt;ref&amp;gt;{{Cite web |last=Li |first=Abner |date=March 17, 2022 |title=Here&#039;s everything new in Android 13 Developer Preview 2 [Gallery] |url=https://9to5google.com/2022/03/17/android-13-dp2-new-features/ |access-date=March 18, 2022 |website=[[9to5Google]] |language=en-US |archive-date=March 17, 2022 |archive-url=https://web.archive.org/web/20220317185828/https://9to5google.com/2022/03/17/android-13-dp2-new-features/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The number of active apps is now shown at the bottom of the notifications panel, a tap on it opens a detailed panel which lets the user stop each of them.&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=August 30, 2022 |title=Android 13 review: Plans for the future, but not much to offer today |url=https://arstechnica.com/gadgets/2022/08/android-13-review-plans-for-the-future-but-not-much-to-offer-today/ |access-date=August 31, 2022 |website=Ars Technica |language=en-us |archive-date=August 30, 2022 |archive-url=https://web.archive.org/web/20220830231050/https://arstechnica.com/gadgets/2022/08/android-13-review-plans-for-the-future-but-not-much-to-offer-today/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Support for [[Bluetooth Low Energy|Bluetooth LE]] Audio and the [[LC3 (codec)|LC3 audio codec]].&amp;lt;ref&amp;gt;{{Cite web |date=December 22, 2021 |title=Android 13 may finally bring full support for Bluetooth LE Audio |url=https://www.xda-developers.com/android-13-may-add-blueooth-le-audio-support/ |access-date=April 22, 2022 |website=xda-developers |language=en-US |archive-date=June 29, 2022 |archive-url=https://web.archive.org/web/20220629122229/https://www.xda-developers.com/android-13-may-add-blueooth-le-audio-support/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=New LC3 Encoder (I5f2f7627) |url=https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1891675 |access-date=April 22, 2022 |website=AOSP Gerrit |archive-date=January 9, 2022 |archive-url=https://web.archive.org/web/20220109172549/https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1891675 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=Add new LC3 decoder (I275ea8ba) |url=https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1936078 |access-date=April 22, 2022 |website=AOSP Gerrit}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Android Runtime|ART]] update with a new [[Garbage collection (computer science)|garbage collector]] utilizing the [[Linux kernel|Linux]] userfaultfd [[system call]].&amp;lt;ref name=&amp;quot;Gidra&amp;quot;&amp;gt;{{Citation |last=Gidra |first=Lokesh |title=What&#039;s new in app performance |date=May 12, 2022 |url=https://www.youtube.com/watch?v=DYdHLqLVspY |language=en |access-date=August 16, 2022}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite journal |last1=Gidra |first1=Lokesh |last2=Boehm |first2=Hans-J. |last3=Fernandes |first3=Joel |date=October 12, 2020 |title=Utilizing the Linux Userfaultfd System Call in a Compaction Phase of a Garbage Collection Process |url=https://www.tdcommons.org/dpubs_series/3671 |journal=Defensive Publications Series}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Android 13 is in AOSP&amp;quot;&amp;gt;{{Cite web |title=Android 13 is in AOSP! |url=https://android-developers.googleblog.com/2022/08/android-13-is-in-aosp.html |access-date=August 16, 2022 |website=Android Developers Blog |language=en}}&amp;lt;/ref&amp;gt; It reduces memory pressure, compiled code size and [[Jank (web)|jank]], and prevents the risk of killing apps because of low memory during garbage collection.&amp;lt;ref name=&amp;quot;Android 13 is in AOSP&amp;quot; /&amp;gt; Other changes also improve app startup, reduce jank and improve performance.&amp;lt;ref name=&amp;quot;Android 13 is in AOSP&amp;quot; /&amp;gt; Because of the Mainline project, Android 12 ART will also be updated.&amp;lt;ref name=&amp;quot;Gidra&amp;quot;/&amp;gt;&lt;br /&gt;
* Support of Themed icons by third-party apps and manufacturers.&amp;lt;ref&amp;gt;{{Cite web |last=Schoon |first=Ben |date=2022-12-09 |title=Android themed: These apps support Material You makeovers |url=https://9to5google.com/2022/12/09/android-13-themed-icons/ |access-date=2023-08-09 |website=[[9to5Google]]}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 14 ===&lt;br /&gt;
{{Main|Android 14}}&lt;br /&gt;
&lt;br /&gt;
Android 14 is the fourteenth major version of the Android operating system. Google announced Android 14 on February 8, 2023, with the first Developer Preview releasing on the same day.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 14 (API 34)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|October 4, 2023&lt;br /&gt;
|&lt;br /&gt;
* Installation of apps designed to target Android versions and SDKs older than [[Android Marshmallow|Marshmallow (6.0)]] is blocked to prevent malware.&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=February 8, 2023 |title=Android 14 Preview 1 is out, will officially ban installation of old apps |url=https://arstechnica.com/gadgets/2023/02/android-14-preview-1-is-out-will-officially-ban-installation-of-old-apps/ |url-status=live |archive-url=https://web.archive.org/web/20230208214958/https://arstechnica.com/gadgets/2023/02/android-14-preview-1-is-out-will-officially-ban-installation-of-old-apps/ |archive-date=February 8, 2023 |access-date=February 8, 2023 |website=[[Ars Technica]]}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=February 8, 2023 |title=22 Best Android 14 Features (New and Upcoming) |url=https://beebom.com/best-android-14-features/ |url-status=live |archive-url=https://web.archive.org/web/20230208214958/https://beebom.com/best-android-14-features/ |archive-date=February 8, 2023 |access-date=February 8, 2023 |website=[[Beebom]]}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 15 ===&lt;br /&gt;
{{Main|Android 15}}&lt;br /&gt;
&lt;br /&gt;
Android 15 is the fifteenth major version of the Android operating system. It was released on September 3, 2024 as part of the Android Open Source Project,&amp;lt;ref&amp;gt;{{Cite web |last=Matthew|first=McCullough |date=September 3, 2024 |url=https://android-developers.googleblog.com/2024/09/android-15-is-released-to-aosp.html |title=Android 15 is released to AOSP |website=Android Developer Blog |publisher=Google |access-date=October 16, 2024}}&amp;lt;/ref&amp;gt; and was first released to a device on September 30, 2024 by [[Vivo (technology company)|Vivo]].&amp;lt;ref&amp;gt;{{Cite web |last=Bonggolto |first=Jay |date=September 30, 2024 |url=https://www.androidcentral.com/apps-software/the-first-oem-to-drop-android-15-updates-is-one-youd-never-guess |title=The first OEM to drop Android 15 updates is one you&#039;d never guess |website=Android Central |publisher=Future US |access-date=October 16, 2024}}&amp;lt;/ref&amp;gt; Unlike previous versions of Android, the new update wasn&#039;t made available upon its release to Google&#039;s own Pixel line, instead being released on October 15, 2024.&amp;lt;ref&amp;gt;{{Cite web |last=Peters |first=Jay |date=October 15, 2024 |url=https://www.theverge.com/2024/10/15/24268043/google-android-15-pixel |title=Android 15 is now available for Pixels |website=The Verge |publisher=Vox Media |access-date=October 15, 2024}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 15 (API 35)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 15.0&lt;br /&gt;
| September 3, 2024&lt;br /&gt;
|&lt;br /&gt;
* Reintroduction of lock screen widgets on tablets, which were introduced in Android 4.2 and removed in Android 5.0.&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=2024-01-12 |title=Android 15 might bring back lock screen widgets |url=https://arstechnica.com/gadgets/2024/01/it-looks-like-lock-screen-widgets-are-making-a-comeback-in-android-15/ |access-date=2024-01-14 |website=Ars Technica |language=en-us}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 16 ===&lt;br /&gt;
{{Main|Android 16}}&lt;br /&gt;
Android 16 is the upcoming major release of [[Android (operating system)|Android]]. The first Developer Preview of Android 16 was released on 19 November 2024,&amp;lt;ref&amp;gt;{{Cite web |last=Weatherbed |first=Jess |date=2024-11-19 |title=Android 16 is now available for early testers |url=https://www.theverge.com/2024/11/19/24300673/android-16-developer-preview-availability-release-timeline |access-date=2024-11-20 |website=The Verge |language=en}}&amp;lt;/ref&amp;gt; [[Google]] expects the platform to reach beta stage in January 2025 with a final release expected in Q2 2025.&amp;lt;ref&amp;gt;{{Cite web |title=The First Developer Preview of Android 16 |url=https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html |access-date=2024-11-20 |website=Android Developers Blog |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 16 (API 36)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 16 DP1&lt;br /&gt;
| November 19, 2024&lt;br /&gt;
|&lt;br /&gt;
* Embedded photo picker&lt;br /&gt;
* Health records&lt;br /&gt;
* privacy sandbox on android.&amp;lt;ref&amp;gt;{{Cite web |title=The First Developer Preview of Android 16 |url=https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html |access-date=2024-11-20 |website=Android Developers Blog |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references group=&amp;quot;lower-alpha&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Cite_journal&amp;diff=1729</id>
		<title>Template:Cite journal</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Cite_journal&amp;diff=1729"/>
		<updated>2025-03-28T17:22:57Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Cite_journal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Citation/core&lt;br /&gt;
|Citation class=Journal&lt;br /&gt;
&lt;br /&gt;
|Surname1={{{last|{{{last1|{{{author|{{{author1|{{{authors|{{{surname|{{{surname1|}}}}}}}}}}}}}}}}}}}}}&lt;br /&gt;
|Surname2={{{last2|{{{author2|{{{surname2|}}}}}}}}}&lt;br /&gt;
|Surname3={{{last3|{{{author3|{{{surname3|}}}}}}}}}&lt;br /&gt;
|Surname4={{{last4|{{{author4|{{{surname4|}}}}}}}}}&lt;br /&gt;
|Surname5={{{last5|{{{author5|{{{surname5|}}}}}}}}}&lt;br /&gt;
|Surname6={{{last6|{{{author6|{{{surname6|}}}}}}}}}&lt;br /&gt;
|Surname7={{{last7|{{{author7|{{{surname7|}}}}}}}}}&lt;br /&gt;
|Surname8={{{last8|{{{author8|{{{surname8|}}}}}}}}}&lt;br /&gt;
|Surname9={{{last9|{{{author9|{{{surname9|}}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
|Given1={{{first|{{{first1|{{{given|{{{given1|}}}}}}}}}}}}&lt;br /&gt;
|Given2={{{first2|{{{given2|}}}}}}&lt;br /&gt;
|Given3={{{first3|{{{given3|}}}}}}&lt;br /&gt;
|Given4={{{first4|{{{given4|}}}}}}&lt;br /&gt;
|Given5={{{first5|{{{given5|}}}}}}&lt;br /&gt;
|Given6={{{first6|{{{given6|}}}}}}&lt;br /&gt;
|Given7={{{first7|{{{given7|}}}}}}&lt;br /&gt;
|Given8={{{first8|{{{given8|}}}}}}&lt;br /&gt;
|Given9={{{first9|{{{given9|}}}}}}&lt;br /&gt;
&lt;br /&gt;
|Authorlink1={{{authorlink|{{{authorlink1|{{{author-link|{{{author1-link|}}}}}}}}}}}}&lt;br /&gt;
|Authorlink2={{{authorlink2|{{{author2-link|}}}}}}&lt;br /&gt;
|Authorlink3={{{authorlink3|{{{author3-link|}}}}}}&lt;br /&gt;
|Authorlink4={{{authorlink4|{{{author4-link|}}}}}}&lt;br /&gt;
|Authorlink5={{{authorlink5|{{{author5-link|}}}}}}&lt;br /&gt;
|Authorlink6={{{authorlink6|{{{author6-link|}}}}}}&lt;br /&gt;
|Authorlink7={{{authorlink7|{{{author7-link|}}}}}}&lt;br /&gt;
|Authorlink8={{{authorlink8|{{{author8-link|}}}}}}&lt;br /&gt;
|Authorlink9={{{authorlink9|{{{author9-link|}}}}}}&lt;br /&gt;
&lt;br /&gt;
|Coauthors={{{coauthors|{{{coauthor|}}}}}}&lt;br /&gt;
&lt;br /&gt;
|Other={{{others|}}}&lt;br /&gt;
&lt;br /&gt;
|Year={{{year|{{    &amp;lt;!-- attempt to derive year from date, if possible --&amp;gt;&lt;br /&gt;
           #if: {{{date|}}}&lt;br /&gt;
           |{{&lt;br /&gt;
              #iferror:{{#time:Y|{{{date|}}} }}&lt;br /&gt;
              |{{#iferror:{{#time:Y|{{{publication-date|einval}}} }}||{{#time:Y|{{{publication-date|}}} }}}}&lt;br /&gt;
              |{{#time:Y|{{{date|}}} }}&lt;br /&gt;
            }}&lt;br /&gt;
           |{{{publication-date|}}} &amp;lt;!-- last resort --&amp;gt;&lt;br /&gt;
         }}&lt;br /&gt;
      }}}&lt;br /&gt;
|YearNote={{{origyear|}}}&lt;br /&gt;
|Date={{#if:{{{date|}}}|{{{date}}}|{{{day|}}} {{{month|}}} {{{year|{{{publication-date|}}}}}}}}&lt;br /&gt;
&lt;br /&gt;
|Title={{{title|}}}&lt;br /&gt;
|TransTitle={{{trans_title|}}}&lt;br /&gt;
|IncludedWorkTitle={{{chapter|{{{contribution|}}}}}}&lt;br /&gt;
|TitleType={{{type|}}}&lt;br /&gt;
|language={{{language|}}}&lt;br /&gt;
&lt;br /&gt;
|URL={{#if:{{{archiveurl|}}}&lt;br /&gt;
      |{{#ifeq: {{{deadurl|}}} | no | {{{url|}}} | {{{archiveurl|}}} }}&lt;br /&gt;
      |{{#if:{{{url|}}}&lt;br /&gt;
        |{{{url}}}&lt;br /&gt;
        |{{#if:{{{pmc|{{{PMC|}}}}}}&lt;br /&gt;
          |{{#ifexpr:{{#time: U}} &amp;gt; {{#time: U | {{{Embargo|2001-10-10}}} }}&lt;br /&gt;
            |{{hide in print|1=//www.ncbi.nlm.nih.gov/pmc/articles/PMC{{{pmc|{{{PMC|}}}}}}/}}&lt;br /&gt;
           }}&lt;br /&gt;
         }}&lt;br /&gt;
       }}&lt;br /&gt;
     }}&lt;br /&gt;
|IncludedWorkURL={{{chapter-url|{{{chapterurl|{{{contribution-url|}}}}}}}}}&lt;br /&gt;
|AccessDate={{{accessdate|}}}&lt;br /&gt;
|OriginalURL={{{url|}}}&lt;br /&gt;
|ArchiveURL={{{archiveurl|}}}&lt;br /&gt;
|ArchiveDate={{{archivedate|}}}&lt;br /&gt;
|DeadURL={{{deadurl|}}}&lt;br /&gt;
|format={{{format|}}}&lt;br /&gt;
&lt;br /&gt;
|Periodical={{{work|{{{journal|{{{newspaper|{{{magazine|{{{periodical|}}}}}}}}}}}}}}}&lt;br /&gt;
|Issue={{{issue|{{{number|}}}}}}&lt;br /&gt;
|TitleNote={{{department|}}}&lt;br /&gt;
&lt;br /&gt;
|At={{#if: {{{journal|{{{periodical|{{{magazine|{{{work|}}}}}}}}}}}}&lt;br /&gt;
        |{{{page|{{{pages|{{{at|}}}}}}}}}&lt;br /&gt;
          |{{#if: {{{page|}}}|{{#if:{{{nopp|}}}||p.&amp;amp;nbsp;}}{{{page}}}&lt;br /&gt;
            |{{#if: {{{pages|}}}|{{#if:{{{nopp|}}}||pp.&amp;amp;nbsp;}}{{{pages}}}&lt;br /&gt;
              |{{{at|}}} }} }} }}&lt;br /&gt;
&lt;br /&gt;
|Edition={{{edition|}}}&lt;br /&gt;
|Series={{{series|{{{version|}}}}}}&lt;br /&gt;
|Volume={{{volume|}}}&lt;br /&gt;
&lt;br /&gt;
|Publisher={{{publisher|}}}&lt;br /&gt;
|Place={{{location|{{{place|}}}}}}&lt;br /&gt;
|PublicationPlace={{{location|{{{place|{{{publication-place|}}}}}}}}}&lt;br /&gt;
|PublicationDate={{{publication-date|}}}&lt;br /&gt;
&lt;br /&gt;
|EditorSurname1={{{editor-last|{{{editor1-last|{{{editor|{{{editors|{{{editor-surname|{{{editor1-surname|}}}}}}}}}}}}}}}}}}&lt;br /&gt;
|EditorSurname2={{{editor2-last|{{{editor2-surname|}}}}}}&lt;br /&gt;
|EditorSurname3={{{editor3-last|{{{editor3-surname|}}}}}}&lt;br /&gt;
|EditorSurname4={{{editor4-last|{{{editor4-surname|}}}}}}&lt;br /&gt;
|EditorGiven1={{{editor-first|{{{editor1-first|{{{editor-given|{{{editor1-given|}}}}}}}}}}}}&lt;br /&gt;
|EditorGiven2={{{editor2-first|{{{editor2-given|}}}}}}&lt;br /&gt;
|EditorGiven3={{{editor3-first|{{{editor3-given|}}}}}}&lt;br /&gt;
|EditorGiven4={{{editor4-first|{{{editor4-given|}}}}}}&lt;br /&gt;
|Editorlink1={{{editor-link|{{{editor1-link|}}}}}}&lt;br /&gt;
|Editorlink2={{{editor2-link|}}}&lt;br /&gt;
|Editorlink3={{{editor3-link|}}}&lt;br /&gt;
|Editorlink4={{{editor4-link|}}}&lt;br /&gt;
&lt;br /&gt;
|ARXIV={{{arxiv|}}}&lt;br /&gt;
|ASIN={{{asin|{{{ASIN|}}}}}}&lt;br /&gt;
|ASIN-TLD={{{asin-tld|}}}&lt;br /&gt;
|BIBCODE={{{bibcode|}}}&lt;br /&gt;
|DOI={{{doi|{{{DOI|}}}}}}&lt;br /&gt;
|DoiBroken={{{doi_brokendate|{{{doi_inactivedate|}}}}}}&lt;br /&gt;
|ISBN={{{isbn|{{{ISBN|}}}}}}&lt;br /&gt;
|ISSN={{{issn|{{{ISSN|}}}}}}&lt;br /&gt;
|JFM={{{jfm|{{{JFM|}}}}}}&lt;br /&gt;
|JSTOR={{{jstor|{{{JSTOR|}}}}}}&lt;br /&gt;
|LCCN={{{lccn|{{{LCCN|}}}}}}&lt;br /&gt;
|MR={{{mr|{{{MR|}}}}}}&lt;br /&gt;
|OCLC={{{oclc|{{{OCLC|}}}}}}&lt;br /&gt;
|OL={{{ol|{{{OL|}}}}}}&lt;br /&gt;
|OSTI={{{osti|{{{OSTI|}}}}}}&lt;br /&gt;
|PMC={{{pmc|{{{PMC|}}}}}}&lt;br /&gt;
|PMID={{{pmid|{{{PMID|}}}}}}&lt;br /&gt;
|RFC={{{rfc|{{{RFC|}}}}}}&lt;br /&gt;
|SSRN={{{ssrn|{{{SSRN|}}}}}}&lt;br /&gt;
|ZBL={{{zbl|}}}&lt;br /&gt;
|ID={{{id|{{{ID|}}}}}}&lt;br /&gt;
&lt;br /&gt;
|laysummary={{{laysummary|}}}&lt;br /&gt;
|laydate={{{laydate|}}}&lt;br /&gt;
|laysource={{{laysource|}}}&lt;br /&gt;
&lt;br /&gt;
|quote={{{quote|}}}&lt;br /&gt;
&lt;br /&gt;
|Ref={{{ref|}}}&lt;br /&gt;
&lt;br /&gt;
|amp={{{lastauthoramp|}}}&lt;br /&gt;
|AuthorMask={{{author-mask|{{{authormask|}}}}}}&lt;br /&gt;
|AuthorSep={{#ifeq:{{{author-separator|}}}|;|&amp;amp;#059;|{{{author-separator|&amp;amp;#059;}}}}}&amp;amp;#32;&lt;br /&gt;
|NameSep={{{author-name-separator|,}}}&amp;amp;#32;&lt;br /&gt;
|PS={{#if:{{{quote|}}}||{{{postscript|.}}}}}&lt;br /&gt;
|Sep={{#ifeq:{{{separator|{{{seperator}}} }}}|;|&amp;amp;#059;|{{{separator|{{{seperator|.}}} }}} }}&lt;br /&gt;
|template doc demo={{{template doc demo|}}}&lt;br /&gt;
|Trunc={{#if:{{{display-authors|}}}|{{{display-authors}}}|8}}&lt;br /&gt;
}}{{#if:{{{access-date|}}}{{{accessdaymonth|}}}{{{accessday|}}}{{{accessmonthday|}}}{{{accessmonth|}}}{{{accessyear|}}}{{{dateformat|}}}{{{day|}}}{{{doilabel|}}}&lt;br /&gt;
|[[Category:Pages containing cite templates with deprecated parameters|{{NAMESPACE}} {{PAGENAME}}]]}}&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Cite_magazine&amp;diff=1717</id>
		<title>Template:Cite magazine</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Cite_magazine&amp;diff=1717"/>
		<updated>2025-03-28T14:10:03Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Cite_magazine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:Citation/CS1|citation&lt;br /&gt;
|CitationClass=magazine&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Wayback_Machine&amp;diff=1711</id>
		<title>Wayback Machine</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Wayback_Machine&amp;diff=1711"/>
		<updated>2025-03-28T14:07:23Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Wayback_Machine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Short description|Digital archive by the Internet Archive}}&lt;br /&gt;
{{For|the time machine from Peabody&#039;s Improbable History and its namesake|Wayback Machine (Peabody&#039;s Improbable History)}}&lt;br /&gt;
{{For|help citing the Wayback Machine in Wikipedia|Help:Using the Wayback Machine}}&lt;br /&gt;
{{Use mdy dates|date=October 2024}}&lt;br /&gt;
{{Infobox website&lt;br /&gt;
| name = Wayback Machine&lt;br /&gt;
| logo = Wayback Machine logo 2010.svg&lt;br /&gt;
| logo_size = &lt;br /&gt;
| logo_alt = Stylized text saying: &amp;quot;INTERNET ARCHIVE WAYBACK MACHINE&amp;quot;. The text is in black, except for &amp;quot;WAYBACK&amp;quot;, which is in red.&lt;br /&gt;
| url = {{Plainlist|&lt;br /&gt;
* {{URL|https://web.archive.org}}&lt;br /&gt;
}}&lt;br /&gt;
| type = Archive&lt;br /&gt;
| commercial = No&lt;br /&gt;
| registration = Optional&lt;br /&gt;
| programming_language = [[HTML]], [[CSS]], [[JavaScript]], [[Java (programming language)|Java]], [[Python (programming language)|Python]]&lt;br /&gt;
| area_served = Worldwide ([[Internet censorship in China|except China]], [[Internet censorship in India|India]]{{efn|Although it is formally blocked, enforcement is not consistent and depends on the region.&amp;lt;ref&amp;gt;{{Cite web|url=https://www.theverge.com/2017/8/9/16117578/wayback-machine-blocked-india-internet-archive|title=Wayback Machine has been blocked in India|first=Thuy|last=Ong|date=August 9, 2017|website=[[The Verge]]}}&amp;lt;/ref&amp;gt;}}, and [[Internet censorship in Bahrain|Bahrain]])&lt;br /&gt;
| owner = [[Internet Archive]]&lt;br /&gt;
| founded = {{ubl|{{start date and age|1995|05|8}} (private)|{{start date and age|2001|10|24}} (public)}}&lt;br /&gt;
| current_status = Active &amp;lt;!-- Do not change status unless the outage is multiple days long. isitdownrightnow.com is useful to track short duration outages. We are an encyclopedia, not a website health check with minute to minute updates. --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Wayback Machine&#039;&#039;&#039; is a digital archive of the [[World Wide Web]] founded by [[Internet Archive]], an [[501(c)(3) organization|American nonprofit organization]] based in [[San Francisco]], [[California]]. Pages have been saved in at least 1995, and the service was launched for public access in 2001. It allows users to go &amp;quot;back in time&amp;quot; to see how websites looked in the past. Founders [[Brewster Kahle]] and [[Bruce Gilliat]] developed the Wayback Machine to provide &amp;quot;universal access to all knowledge&amp;quot; by preserving archived copies of defunct web pages.&amp;lt;ref&amp;gt;{{Cite web |last=Kahle |first=Brewster |date=November 23, 2005 |title=Universal Access to all Knowledge |url=https://archive.org/details/SDForumBK |archive-date=August 14, 2022 |archive-url=https://web.archive.org/web/20220814164546/https://archive.org/details/SDForumBK |access-date=June 5, 2022 |website=[[Internet Archive]]}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Wayback Machine had saved more than 38.2 billion web pages by the end of 2009. As of November 2024, the Wayback Machine has archived more than 916 billion web pages and well over 100 [[petabytes]] of data.&amp;lt;ref name=&amp;quot;Homepage&amp;quot;&amp;gt;{{Cite web |date= |title=Internet Archive: Wayback Machine |url=https://web.archive.org/ |archive-url=https://web.archive.org/web/20230313021854/https://archive.org/web/ |archive-date=March 13, 2023 |access-date= |website=web.archive.org}} The current number of archived pages can be seen at the archive&#039;s [https://web.archive.org/ home page].&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Kahle&amp;quot;&amp;gt;{{cite web |last1=Kahle |first1=Brewster |title=A Message from Internet Archive Founder, Brewster Kahle |url=https://archive.org/donate |website=Internet Archive |access-date=January 10, 2024}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
The Internet Archive has been archiving [[Cache (computing)|cached]] web pages since at least 1995. One of the earliest known pages was archived on May 8, 1995.&amp;lt;ref&amp;gt;{{cite web&amp;lt;!-- NOTE: reference and work is to the Wayback snapshot --&amp;gt;|archive-url=https://web.archive.org/web/19950508213132/http://www.ci.eugene.or.us:80/Library/libhours.htm|title=Eugene Public Library Hours|work=[[Internet Archive]]/Wayback Machine|archive-date=May 8, 1995}}{{cbignore}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Internet Archive founders [[Brewster Kahle]] and [[Bruce Gilliat]] launched the Wayback Machine in [[San Francisco]], [[California]],&amp;lt;ref&amp;gt;{{Cite web |title=Wayback Machine General Information |url=https://help.archive.org/hc/en-us/articles/360004716091-Wayback-Machine-General-Information |access-date=March 2, 2021 |website=Internet Archive |archive-url=https://archive.today/20191205053755/https://help.archive.org/hc/en-us/articles/360004716091-Wayback-Machine-General-Information |archive-date=December 5, 2019}}&amp;lt;/ref&amp;gt; in October 2001,&amp;lt;ref&amp;gt;{{cite web |url=http://whois.domaintools.com/waybackmachine.org |title=WayBackMachine.org WHOIS, DNS, &amp;amp; Domain Info – DomainTools |work=[[WHOIS]] |access-date=March 13, 2016 |archive-date=May 14, 2020 |archive-url=https://web.archive.org/web/20200514175402/http://whois.domaintools.com/waybackmachine.org |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://whois.domaintools.com/internetarchive.org|title=InternetArchive.org WHOIS, DNS, &amp;amp; Domain Info – DomainTools|work=[[WHOIS]]|access-date=March 13, 2016|archive-date=May 12, 2020|archive-url=https://web.archive.org/web/20200512114745/http://whois.domaintools.com/internetarchive.org|url-status=live}}&amp;lt;/ref&amp;gt; primarily to address the problem of web content vanishing whenever it gets changed or when a website is shut down.&amp;lt;ref&amp;gt;{{Cite journal |last=Notess |first=Greg R. |date=March–April 2002 |title=The Wayback Machine: The Web&#039;s Archive |journal=Online |volume=26 |pages=59–61 |id={{INIST|13517724}} }}&amp;lt;/ref&amp;gt; The service enables users to see archived versions of [[web page]]s across time, which the archive calls a &amp;quot;three-dimensional index&amp;quot;.&amp;lt;ref&amp;gt;{{citation |title=Frequently Asked Questions|chapter-url=https://archive.org/about/faqs.php#The_Wayback_Machine |archive-url=https://web.archive.org/web/20180918131957/https://archive.org/about/faqs.php#The_Wayback_Machine |url-status=live |chapter=The Wayback Machine |access-date=September 18, 2018 |archive-date=September 18, 2018}}&amp;lt;/ref&amp;gt; Kahle and Gilliat created the machine hoping to archive the entire Internet and provide &amp;quot;universal access to all knowledge&amp;quot;.&amp;lt;ref name=&amp;quot;Internet Archive Blogs&amp;quot;&amp;gt;{{Cite web |url=https://blog.archive.org/2016/10/25/20000-hard-drives-on-a-mission/ |title=20,000 Hard Drives on a Mission |website=Internet Archive Blogs |date=October 25, 2016 |access-date=October 15, 2018 |archive-url=https://web.archive.org/web/20181020153727/https://blog.archive.org/2016/10/25/20000-hard-drives-on-a-mission/ |archive-date=October 20, 2018 |url-status=live }}&amp;lt;/ref&amp;gt; The name &amp;quot;Wayback Machine&amp;quot; is a reference to a fictional time-traveling device in the animated cartoon &#039;&#039;[[The Adventures of Rocky and Bullwinkle and Friends]]&#039;&#039; from the 1960s.&amp;lt;ref&amp;gt;{{Cite magazine |url=http://www.businessweek.com/technology/content/feb2002/tc20020228_1080.htm |title=A Library as Big as the World |last=Green |first=Heather |date=February 28, 2002 |archive-url=https://web.archive.org/web/20111220074306/http://www.businessweek.com/technology/content/feb2002/tc20020228_1080.htm |archive-date=December 20, 2011 |magazine=BusinessWeek}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite news |url= https://www.nytimes.com/2002/09/08/business/responsible-party-brewster-kahle-a-library-of-the-web-on-the-web.html |title=Responsible Party – Brewster Kahle; A Library Of the Web, On the Web |last=Tong |first=Judy |date=September 8, 2002 |work=[[The New York Times]] |access-date= August 15, 2011 |archive-url= https://web.archive.org/web/20110220181725/http://www.nytimes.com/2002/09/08/business/responsible-party-brewster-kahle-a-library-of-the-web-on-the-web.html |archive-date=February 20, 2011 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[[Keith Scott (voice actor)|Keith Scott]] (2000). &#039;&#039;[https://books.google.com/books?id=qdwcbJxM-HsC The Moose that Roared: The Story of Jay Ward, Bill Scott, a Flying Squirrel, and a Talking Moose]&#039;&#039;. [[St. Martin&#039;s Press]]. {{ISBN|0-312-19922-8}}&amp;lt;/ref&amp;gt; In a segment of the cartoon entitled &amp;quot;Peabody&#039;s Improbable History&amp;quot;, the characters [[Mister Peabody]] and Sherman use the &amp;quot;[[Wayback Machine (Peabody&#039;s Improbable History)|Wayback Machine]]&amp;quot; to travel back in time to witness and participate in famous historical events.&amp;lt;ref name=&amp;quot;Markstein&amp;quot;&amp;gt;{{cite web | last = Markstein | first = Don | authorlink = | title = Toonopedia: &amp;quot;Peabody&#039;s Improbable History&amp;quot;&lt;br /&gt;
| publisher = Toonpedia.com| date = | url = http://www.toonopedia.com/peabody.htm | doi = | accessdate = 2024-11-07 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From 1996 to 2001, the information was kept on digital tape, with Kahle occasionally allowing researchers and scientists to tap into the &amp;quot;clunky&amp;quot; [[database]].&amp;lt;ref&amp;gt;{{Cite news |last=Cook |first=John |title=Web site takes you way back in Internet history |url=http://www.seattlepi.com/news/article/Web-site-takes-you-way-back-in-Internet-history-1070534.php |access-date=August 15, 2011 |work=Seattle Post-Intelligencer |date=November 1, 2001 |url-status=live |archive-url=https://web.archive.org/web/20140812205508/http://www.seattlepi.com/news/article/Web-site-takes-you-way-back-in-Internet-history-1070534.php |archive-date=August 12, 2014}}&amp;lt;/ref&amp;gt; When the archive reached its fifth anniversary in 2001, it was unveiled and opened to the public in a ceremony at the [[University of California, Berkeley]].&amp;lt;ref&amp;gt;{{Cite magazine |url=https://www.wired.com/2001/10/wayback-goes-way-back-on-web/ |title=Wayback Goes Way Back on Web |magazine=Wired |date=October 28, 2001 |access-date=October 16, 2017 |url-status=live |archive-url=https://web.archive.org/web/20171016225914/https://www.wired.com/2001/10/wayback-goes-way-back-on-web/ |archive-date=October 16, 2017 |last1=Mayfield |first1=Kendra }}&amp;lt;/ref&amp;gt; By the time the Wayback Machine launched, it already contained over 10 billion archived pages.&amp;lt;ref name=&amp;quot;Arora&amp;quot; /&amp;gt; The data is stored on the Internet Archive&#039;s large cluster of [[Linux]] nodes.&amp;lt;ref name=&amp;quot;Internet Archive Blogs&amp;quot; /&amp;gt; It revisits and archives new versions of websites on occasion (see technical details below).&amp;lt;ref name=&amp;quot;Leetaru&amp;quot; /&amp;gt; Sites can also be captured manually by entering a website&#039;s [[URL]] into the search box, provided that the website allows the Wayback Machine to &amp;quot;[[Web crawler|crawl]]&amp;quot; it and save the data.&amp;lt;ref&amp;gt;{{Cite web |url=https://archive.org/web/ |title=Internet Archive: Wayback Machine |website=Internet Archive |access-date=October 15, 2018 |archive-url=https://web.archive.org/web/20140103004344/https://archive.org/web/ |archive-date=January 3, 2014 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On October 30, 2020, the Wayback Machine began fact-checking content.&amp;lt;ref&amp;gt;{{Cite web |last=Graham |first=Mark |date=October 30, 2020 |title=Fact Checks and Context for Wayback Machine Pages |url= http://blog.archive.org/2020/10/30/fact-checks-and-context-for-wayback-machine-pages/ |access-date=January 17, 2021 |website=Internet Archive Blogs}}&amp;lt;/ref&amp;gt; As of January 2022, domains of [[ad server]]s are disabled from capturing.&amp;lt;ref&amp;gt;Attempts to &#039;save page now&#039; domains such as tpc.googlesyndication.com or s0.2mdn.net or atdmt.com or adbrite.com result in &amp;quot;This URL is in our block list and cannot be captured.&amp;quot;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In May 2021, for Internet Archive&#039;s 25th anniversary, the Wayback Machine introduced the &amp;quot;Wayforward Machine&amp;quot; which allows users to &amp;quot;travel to the Internet in 2046, where knowledge is under [[siege]]&amp;quot;.&amp;lt;ref&amp;gt;{{Cite web|title=Internet Archive 25th Anniversary – Universal Access to All Knowledge|url=https://anniversary.archive.org/|access-date=January 13, 2022}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web|title=Wayforward Machine • Visit the future of the internet|url=https://wayforward.archive.org/|access-date=January 13, 2022|website=Way Forward Machine}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical information ==&lt;br /&gt;
The Wayback Machine&#039;s software has been developed to &amp;quot;[[Web crawler|crawl]]&amp;quot; the Web and download all publicly accessible information and data files on webpages, the [[Gopher (protocol)|Gopher]] hierarchy, the [[Usenet|Netnews]] (Usenet) bulletin board system, and software.&amp;lt;ref&amp;gt;{{cite web |last=Kahle |first=Brewster |title=Archiving the Internet |url=http://www.uibk.ac.at/voeb/texte/kahle.html |publisher=Scientific American – March 1997 Issue |access-date=August 19, 2011 |url-status=live |archive-url=https://web.archive.org/web/20120403042627/http://www.uibk.ac.at/voeb/texte/kahle.html |archive-date=April 3, 2012}}&amp;lt;/ref&amp;gt; The information collected by these &amp;quot;crawlers&amp;quot; does not include all the information available on the Internet, since much of the data is restricted by the publisher or stored in databases that are not accessible. To overcome inconsistencies in partially cached websites, Archive-It.org was developed in 2005 by the Internet Archive as a means of allowing institutions and content creators to voluntarily harvest and preserve collections of digital content, and create digital archives.&amp;lt;ref&amp;gt;{{cite web |url=https://blog.archive.org/2014/10/27/archive-it-crawling-the-web-together/ |title=Archive-It: Crawling the Web Together |work=Internet Archive Blogs |first=Jeff |last=Kaplan |date=October 27, 2014 |access-date=October 16, 2017 |url-status=live |archive-url=https://web.archive.org/web/20171012212827/http://blog.archive.org/2014/10/27/archive-it-crawling-the-web-together/ |archive-date=October 12, 2017 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crawls are contributed from various sources, some imported from third parties and others generated internally by the Archive.&amp;lt;ref name=&amp;quot;Leetaru&amp;quot;/&amp;gt; For example, crawls are contributed by the [[Alfred P. Sloan Foundation|Sloan Foundation]] and [[Alexa Internet|Alexa]], crawls run by Internet Archive on behalf of [[National Archives and Records Administration|NARA]] and the [[Internet Memory Foundation]], mirrors of [[Common Crawl]].&amp;lt;ref name=&amp;quot;Leetaru&amp;quot;/&amp;gt; The &amp;quot;Worldwide Web Crawls&amp;quot; have been running since 2010 and capture the global Web.&amp;lt;ref name=&amp;quot;Leetaru&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Crawls&amp;quot;&amp;gt;{{cite web |url=https://archive.org/details/widecrawl&amp;amp;tab=about |title=Worldwide Web Crawls |publisher=Internet Archive |access-date=October 16, 2017 |url-status=live |archive-url=https://web.archive.org/web/20171019222740/https://archive.org/details/widecrawl%26tab%3Dabout |archive-date=October 19, 2017 }}&amp;lt;/ref&amp;gt; In September 2020, the Internet Archive announced a partnership with [[Cloudflare]] – an American [[content delivery network]] service provider – to automatically index websites served via its &amp;quot;Always Online&amp;quot; services.&amp;lt;ref name=&amp;quot;archive-partners&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Documents and resources are stored with time stamp URLs such as &amp;lt;code&amp;gt;{{#time:YmdHis}}&amp;lt;/code&amp;gt;. Pages&#039; individual resources such as images and style sheets and scripts, as well as outgoing [[hyperlinks]], are linked to with the time stamp of the currently viewed page, so they are redirected automatically to their individual captures that are the closest in time.&amp;lt;ref name=&amp;quot;Using&amp;quot;&amp;gt;{{cite web |url=https://help.archive.org/help/using-the-wayback-machine/ |title=Using The Wayback Machine |website=Internet Archive |access-date=September 25, 2024}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The frequency of snapshot captures varies per website.&amp;lt;ref name=&amp;quot;Leetaru&amp;quot;/&amp;gt; Websites in the &amp;quot;Worldwide Web Crawls&amp;quot; are included in a &amp;quot;crawl list&amp;quot;, with the site archived once per crawl.&amp;lt;ref name=&amp;quot;Leetaru&amp;quot;/&amp;gt; A crawl can take months or even years to complete, depending on size.&amp;lt;ref name=&amp;quot;Leetaru&amp;quot;/&amp;gt; For example, &amp;quot;Wide Crawl Number 13&amp;quot; started on January 9, 2015, and completed on July 11, 2016.&amp;lt;ref&amp;gt;{{cite web |url=https://archive.org/details/wide00013?&amp;amp;sort=-publicdate&amp;amp;page=3 |title=Wide Crawl Number 13 |publisher=Internet Archive |access-date=October 16, 2017 |url-status=live |archive-url=https://web.archive.org/web/20171019223332/https://archive.org/details/wide00013?&amp;amp;sort=-publicdate&amp;amp;page=3 |archive-date=October 19, 2017 }}&amp;lt;/ref&amp;gt; However, there may be multiple crawls ongoing at any one time, and a site might be included in more than one crawl list, so how often a site is crawled varies widely.&amp;lt;ref name=&amp;quot;Leetaru&amp;quot;&amp;gt;{{cite web |url=https://www.forbes.com/sites/kalevleetaru/2016/01/18/the-internet-archive-turns-20-a-behind-the-scenes-look-at-archiving-the-web/#222f2e5682e0 |url-access=subscription |title=The Internet Archive Turns 20: A Behind the Scenes Look at Archiving the Web |work=Forbes |first=Kalev |last=Leetaru |date=January 28, 2016 |access-date=October 16, 2017 |url-status=live |archive-url=https://web.archive.org/web/20171016230439/https://www.forbes.com/sites/kalevleetaru/2016/01/18/the-internet-archive-turns-20-a-behind-the-scenes-look-at-archiving-the-web/#222f2e5682e0 |archive-date=October 16, 2017 }}{{cbignore}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A &amp;quot;Save Page Now&amp;quot; archiving feature was made available in October 2013,&amp;lt;ref name=&amp;quot;savepage&amp;quot;&amp;gt;{{cite web |author=Rossi, Alexis |date=October 25, 2013 |title=Fixing Broken Links on the Internet |url=https://blog.archive.org/2013/10/25/fixing-broken-links/ |url-status=live |archive-url=https://web.archive.org/web/20141107193437/http://blog.archive.org/2013/10/25/fixing-broken-links/ |archive-date=November 7, 2014 |access-date=December 29, 2013 |publisher=Internet Archive}}&amp;lt;/ref&amp;gt; accessible on the lower right of the Wayback Machine&#039;s main page.&amp;lt;ref&amp;gt;{{cite web |title=Wayback Machine main page |url=https://archive.org/web/ |url-status=live |archive-url=https://web.archive.org/web/20140103004344/https://archive.org/web/ |archive-date=January 3, 2014 |access-date=December 30, 2013 |publisher=Internet Archive}}&amp;lt;/ref&amp;gt; Once a target URL is entered and saved, the web page will become part of the Wayback Machine.&amp;lt;ref name=&amp;quot;savepage&amp;quot; /&amp;gt; Through the Internet address web.archive.org,&amp;lt;ref&amp;gt;{{cite web |title=Web.archive.org directory |url=https://web.archive.org |url-status=live |archive-url=https://web.archive.org/web/20120103040016/https://web.archive.org/ |archive-date=January 3, 2012 |access-date=March 2, 2014}}&amp;lt;/ref&amp;gt; users can upload to the Wayback Machine a large variety of contents, including [[PDF]] and [[data compression]] file formats. The Wayback Machine creates a permanent local URL of the upload content, that is accessible in the web, even if not listed while searching in the &amp;lt;nowiki&amp;gt;https://archive.org&amp;lt;/nowiki&amp;gt; official website.{{jargon inline|date=October 2024}}&lt;br /&gt;
&lt;br /&gt;
Starting in October 2019, users were [[data cap|limited]] to 15 archival requests and retrievals per minute.&amp;lt;ref&amp;gt;{{cite web |url=https://archive.org/details/toomanyrequests_20191110 |title=Too Many Requests |publisher=Internet Archive |date=November 10, 2019 |access-date=November 27, 2021}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Storage capacity and growth===&lt;br /&gt;
As technology has developed over the years, the storage capacity of the Wayback Machine has grown. In 2003, after only two years of public access, the Wayback Machine was growing at a rate of 12 terabytes per month. The data is stored on [[PetaBox]] rack systems custom designed by Internet Archive staff. The first 100TB rack became fully operational in June 2004, although it soon became clear that they would need much more storage than that.&amp;lt;ref&amp;gt;{{cite web |url=https://archive.org/web/petabox.php |title= Petabox |website=Internet Archive |access-date=October 25, 2018}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |url=http://news.zdnet.com/2100-9584_22-5808754.html |title=Big storage on the cheap |last=Kanellos |first=Michael |date=July 29, 2005 |access-date=July 29, 2007 |archive-url=https://web.archive.org/web/20070403030705/http://news.zdnet.com/2100-9584_22-5808754.html &amp;lt;!-- Bot retrieved archive --&amp;gt; |archive-date=April 3, 2007 |publisher=CNET News}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Internet Archive migrated its customized storage architecture to [[Sun Open Storage]] in 2009, and hosts a new data centre in a [[Sun Modular Datacenter]] on [[Sun Microsystems]]&#039; California campus.&amp;lt;ref&amp;gt;{{cite web |title=Internet Archive and Sun Microsystems Create Living History of the Internet |publisher=[[Sun Microsystems]] |date=March 25, 2009 |url=http://www.sun.com/aboutsun/pr/2009-03/sunflash.20090325.1.xml |access-date=March 27, 2009 |url-status=dead |archive-url=https://web.archive.org/web/20090326200212/http://www.sun.com/aboutsun/pr/2009-03/sunflash.20090325.1.xml |archive-date=March 26, 2009}}&amp;lt;/ref&amp;gt; {{As of|2009}}, the Wayback Machine contained approximately three [[petabyte]]s of data and was growing at a rate of 100 [[terabyte]]s each month.&amp;lt;ref&amp;gt;{{cite news |url=http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;taxonomyName=hardware&amp;amp;articleId=9130081&amp;amp;taxonomyId=12&amp;amp;intsrc=kc_top |title=Internet Archive to unveil massive Wayback Machine data center |last=Mearian |first=Lucas |date=March 19, 2009 |access-date=March 22, 2009 |archive-url=https://web.archive.org/web/20090323093002/http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;taxonomyName=hardware&amp;amp;articleId=9130081&amp;amp;taxonomyId=12&amp;amp;intsrc=kc_top |archive-date=March 23, 2009 |publisher=Computerworld}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A new, improved version of the Wayback Machine, with an updated interface and a fresher index of archived content, was made available for public testing in 2011, where captures appear in a calendar layout with circles whose width visualizes the number of crawls each day, but no marking of duplicates with asterisks or an advanced search page.&amp;lt;ref&amp;gt;{{cite web |title=Updated Wayback Machine in Beta Testing |url=http://iawebarchiving.wordpress.com/2011/01/24/updated-wayback-machine-in-beta-testing/ |author=gojomo |date=January 24, 2011 |access-date=August 19, 2011 |url-status=dead |archive-url=https://web.archive.org/web/20110823040310/http://iawebarchiving.wordpress.com/2011/01/24/updated-wayback-machine-in-beta-testing/ |archive-date=August 23, 2011 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=Advanced Search |url=https://web.archive.org/collections/web/advanced.html |website=Wayback Machine |access-date=April 3, 2022 |archive-url=https://web.archive.org/web/20100131104918/https://web.archive.org/collections/web/advanced.html |archive-date=January 31, 2010}}&amp;lt;/ref&amp;gt; A top [[toolbar]] was added to facilitate navigating between captures. A bar chart visualizes the frequency of captures per month over the years.&amp;lt;ref&amp;gt;{{cite web |title=What&#039;s the difference between the classic Wayback Machine and the new Beta version? |url=http://faq.waybackmachine.org/whats-the-difference-between-the-classic-wayback-machine-and-the-new-beta-version |url-status=dead |archive-url=https://web.archive.org/web/20101225023945/http://faq.waybackmachine.org/whats-the-difference-between-the-classic-wayback-machine-and-the-new-beta-version |access-date=November 17, 2021 |archive-date=December 25, 2010 }}&amp;lt;/ref&amp;gt; Features like &amp;quot;Changes&amp;quot;, &amp;quot;Summary&amp;quot;, and a graphical site map were added subsequently.&lt;br /&gt;
&lt;br /&gt;
In March that year, it was said on the Wayback Machine forum that &amp;quot;the Beta of the new Wayback Machine has a more complete and up-to-date index of all crawled materials into 2010, and will continue to be updated regularly. The index driving the classic Wayback Machine only has a little bit of material past 2008, and no further index updates are planned, as it will be phased out this year.&amp;quot;&amp;lt;ref&amp;gt;{{cite web |url=https://www.archive.org/post/350738/updated-wayback-machine-in-beta-testing |title=Beta Wayback Machine, in forum |access-date=April 16, 2014 |url-status=live |archive-url=https://web.archive.org/web/20140417082107/https://archive.org/post/350738/updated-wayback-machine-in-beta-testing |archive-date=April 17, 2014}}&amp;lt;/ref&amp;gt; Also in 2011, the Internet Archive installed their sixth pair of PetaBox racks which increased the Wayback Machine&#039;s storage capacity by 700 terabytes.&amp;lt;ref&amp;gt;{{cite web |url=https://archive.org/post/353721/6th-pair-of-racks-go-into-service-over-2pb-of-data-space-used |title=Internet Archive Forums: 6th pair of racks go into service: over 2PB of data space used |website=Internet Archive |access-date=October 25, 2018 |archive-url=https://web.archive.org/web/20161024144627/https://archive.org/post/353721/6th-pair-of-racks-go-into-service-over-2pb-of-data-space-used |archive-date=October 24, 2016 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In January 2013, the company announced a milestone of 240 billion URLs.&amp;lt;ref&amp;gt;{{cite web |url=http://blog.archive.org/2013/01/09/updated-wayback/ |title=Wayback Machine: Now with 240,000,000,000 URLs &amp;amp;#124; Internet Archive Blogs |date=January 9, 2013 |access-date=April 16, 2014 |url-status=live |archive-url=https://web.archive.org/web/20140414221120/http://blog.archive.org/2013/01/09/updated-wayback/ |archive-date=April 14, 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In October 2013, the company introduced the &amp;quot;Save a Page&amp;quot; feature, which allows any Internet user to archive the contents of a URL, and quickly generates a [[permanent link]] unlike the preceding &#039;&#039;liveweb&#039;&#039; feature.&amp;lt;ref&amp;gt;{{cite web |url=https://blog.archive.org/2013/10/25/fixing-broken-links/ |title=Fixing Broken Links on the Internet |last=Rossi |first=Alexis |date=October 25, 2013 |website=Internet Archive |publisher=Collections Team, the Internet Archive |location=San Francisco, CA, US |archive-url=https://web.archive.org/web/20141107193437/http://blog.archive.org/2013/10/25/fixing-broken-links/ |archive-date=November 7, 2014 |url-status=live |access-date=March 25, 2015 |quote=We have added the ability to archive a page instantly and get back a permanent URL for that page in the Wayback Machine. This service allows anyone – wikipedia editors, scholars, legal professionals, students, or home cooks like me – to create a stable URL to cite, share or bookmark any information they want to still have access to in the future.}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |first=Alexander |last=Baron |title=((The new Internet Archive Wayback Machine now online)) |url=http://www.digitaljournal.com/article/360776 |website=Digital Journal |date=October 23, 2013 |access-date=November 19, 2020 |archive-date=November 19, 2020 |archive-url=https://web.archive.org/web/20201119071411/http://www.digitaljournal.com/article/360776}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In December 2014, the Wayback Machine contained 435 [[billion]] web pages—almost nine petabytes of data, and was growing at about 20 terabytes a week.&amp;lt;ref name=&amp;quot;Arora&amp;quot;&amp;gt;{{cite journal |last1=Arora |first1=Sanjay K. |last2=Li |first2=Yin |last3=Youtie |first3=Jan |last4=Shapira |first4=Philip |date=May 5, 2015 |title=Using the wayback machine to mine websites in the social sciences: A methodological resource |journal=Journal of the Association for Information Science and Technology |volume=67 |issue=8 |pages=1904–1915 |doi=10.1002/asi.23503 |issn=2330-1635|doi-access=free |hdl=10.1002/asi.23503 |hdl-access=free }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Internet Archive Frequently Asked Questions |url=https://archive.org/about/faqs.php |access-date=January 17, 2015 |url-status=live |archive-url=https://web.archive.org/web/20091021003552/https://archive.org/about/faqs.php |archive-date=October 21, 2009}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://archive.org/about/faqs.php |archive-url=https://web.archive.org/web/20141218203115/https://archive.org/about/faqs.php |url-status=dead |archive-date=December 18, 2014 |title=Internet Archive Frequently Asked Questions |date=December 18, 2014 |access-date=December 13, 2018}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In July 2016, the Wayback Machine reportedly contained around 15 petabytes of data.&amp;lt;ref&amp;gt;{{cite web |title=Can the manipulation of big data change the way the world thinks? |work=The National |url=http://www.thenational.ae/opinion/comment/can-the-manipulation-of-big-data-change-the-way-the-world-thinks |access-date=May 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170112060354/http://www.thenational.ae/opinion/comment/can-the-manipulation-of-big-data-change-the-way-the-world-thinks |archive-date=January 12, 2017}}&amp;lt;/ref&amp;gt; In October 2016, it was announced that the way web pages are counted would be changed, resulting in the decrease of the archived pages counts shown. Embedded objects such as pictures, videos, style sheets, JavaScripts are no longer counted as a &amp;quot;web page&amp;quot;, whereas HTML, PDF, and plain text documents remain counted.&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;{{cite web |author=Goel, Vinay |date=October 23, 2016 |title=Defining Web pages, Web sites and Web captures |url=https://blog.archive.org/2016/10/23/defining-web-pages-web-sites-and-web-captures/ |url-status=live |archive-url=https://web.archive.org/web/20181209195730/https://blog.archive.org/2016/10/23/defining-web-pages-web-sites-and-web-captures/ |archive-date=December 9, 2018 |access-date=December 9, 2018 |publisher=Internet Archive}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In September 2018, the Wayback Machine contained over 25 petabytes of data.&amp;lt;ref&amp;gt;{{cite news |url=https://thehustle.co/inside-wayback-machine-internet-archive |title=Inside Wayback Machine, the internet&#039;s time capsule |last=Crockett |first=Zachary |date=September 28, 2018 |work=The Hustle |access-date=October 26, 2018 |archive-url=https://web.archive.org/web/20181002145800/https://thehustle.co/inside-wayback-machine-internet-archive |archive-date=October 2, 2018 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite magazine |url=https://www.wired.com/story/wired25-virginia-heffernan-internet-archive-wayback-machine/ |url-access=limited |title=Things Break and Decay on the Internet—That&#039;s a Good Thing |last=Heffernan |first=Virginia |date=September 18, 2018 |magazine=WIRED |access-date=October 26, 2018 |archive-url=https://web.archive.org/web/20180925130510/https://www.wired.com/story/wired25-virginia-heffernan-internet-archive-wayback-machine/ |archive-date=September 25, 2018 |url-status=live }}&amp;lt;/ref&amp;gt; As of December 2020, the Wayback Machine contained over 70 petabytes of data.&amp;lt;ref&amp;gt;{{cite web |url=https://blog.adafruit.com/2020/12/01/donate-to-the-internet-archive-digital-library-of-free-borrowable-books-movies-music-wayback-machine-internetarchive/ |title=Donate to the Internet Archive: Digital Library of Free &amp;amp; Borrowable Books, Movies, Music &amp;amp; Wayback Machine @internetarchive |date=December 1, 2020 |publisher=adafruit |access-date=December 2, 2020 |archive-date=December 2, 2020 |archive-url=https://web.archive.org/web/20201202065323/https://blog.adafruit.com/2020/12/01/donate-to-the-internet-archive-digital-library-of-free-borrowable-books-movies-music-wayback-machine-internetarchive/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bar chart&lt;br /&gt;
| title = Wayback Machine growth&amp;lt;ref&amp;gt;{{cite web |url=https://blog.archive.org/2014/05/09/wayback-machine-hits-400000000000 |title=Wayback Machine Hits 400,000,000,000! |author=michelle |publisher=Internet Archive |date=May 9, 2014 |archive-url=https://web.archive.org/web/20140826191225/http://blog.archive.org/2014/05/09/wayback-machine-hits-400000000000/ |archive-date=August 26, 2014 |url-status=live |access-date=March 25, 2015}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://www.archive.org/ |archive-url=https://web.archive.org/web/20201231000610/https://archive.org/ |title=Internet Archive |archive-date=December 31, 2020 |url-status=dead |publisher=Internet Archive |access-date=March 8, 2021}}&amp;lt;!-- Update me at end of 2021 --&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
| label_type = Wayback Machine by year&lt;br /&gt;
| data_type = Pages archived&lt;br /&gt;
| bar_width = 45&lt;br /&gt;
| width_units = em&lt;br /&gt;
| data_max = 900000000000&lt;br /&gt;
| label1 = 2004&lt;br /&gt;
| data1 = 30000000000&lt;br /&gt;
| label2 = 2005&lt;br /&gt;
| data2 = 40000000000&lt;br /&gt;
| label3 = 2008&lt;br /&gt;
| data3 = 85000000000&lt;br /&gt;
| label4 = 2012&lt;br /&gt;
| data4 = 150000000000&lt;br /&gt;
| label5 = 2013&lt;br /&gt;
| data5 = 373000000000&lt;br /&gt;
| label6 = 2014&lt;br /&gt;
| data6 = 400000000000&lt;br /&gt;
|label7=2015|data7=452000000000|label8=2016|data8=459000000000|label9=2017|data9=279000000000|data10=310000000000|label10=2018|data11=345000000000|label11=2019|data12=405000000000|label12=2020|label13=2021|data13=514000000000|label14=2022|data14=640000000000|color1=lightblue|color2=lightblue|color3=lightblue|color4=yellow|color5=yellow|color6=yellow|color7=orange|color8=orange|color9=yellow|color10=yellow|color11=yellow|color12=yellow|color13=orange|color14=red|comment1=0–100B: Light blue|comment4=100B–450B: Yellow|comment7=450B–600B: Orange|comment14=600B–: Red|data15=866000000000|label15=2024|color15=Red}}&lt;br /&gt;
&lt;br /&gt;
===Wayback Machine APIs===&lt;br /&gt;
The Wayback Machine service offers three public APIs, SavePageNow, Availability, and CDX.&amp;lt;ref&amp;gt;{{Cite web|url=https://archive.org/help/wayback_api.php|title=Wayback Machine APIs |website=Internet Archive}}&amp;lt;/ref&amp;gt; SavePageNow can be used to archive web pages. Availability API for checking the archive availability status for a web page,&amp;lt;ref&amp;gt;{{GitHub |akamhy/waybackpy}}&amp;lt;/ref&amp;gt; checking whether an archive for the web page exists or not. CDX API is for complex querying, filtering, and analysis of captured data.&amp;lt;ref&amp;gt;{{cite web | url=https://blog.archive.org/developers/ | title=Developers | date=August 22, 2014 |website=Internet Archive Blogs |url-status=live |archive-url=https://web.archive.org/web/20240212160820/https://blog.archive.org/developers/ |archive-date= February 12, 2024 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web | url=http://blog.archive.org/2018/12/13/documentation-for-public-apis-at-the-internet-archive/ | title=Documentation for Public APIs at the Internet Archive | date=December 13, 2018 |website=Internet Archive Blogs |first1=John |last1=Gonzalez |url-status=live |archive-url= https://web.archive.org/web/20240113211453/https://blog.archive.org/2018/12/13/documentation-for-public-apis-at-the-internet-archive/ |archive-date= January 13, 2024 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Website exclusion policy===&lt;br /&gt;
Historically, the Wayback Machine has respected the [[robots exclusion standard]] (robots.txt) in determining if a website would be crawled – or if already crawled, if its archives would be publicly viewable. Website owners had the option to opt out of Wayback Machine through the use of robots.txt. It applied robots.txt rules retroactively; if a site blocked the Internet Archive, any previously archived pages from the domain were immediately rendered unavailable as well. In addition, the Internet Archive stated that &amp;quot;Sometimes, a website owner will contact us directly and ask us to stop crawling or archiving a site. We comply with these requests.&amp;quot;&amp;lt;ref&amp;gt;{{cite web|url=https://web.archive.org/collections/web/faqs.html#exclusions |title=FAQs – Some sites are not available because of Robots.txt or other exclusions. What does that mean? |website=Internet Archive Wayback Machine |archive-url=https://web.archive.org/web/20110415130934/https://web.archive.org/collections/web/faqs.html#exclusions |archive-date=April 15, 2011}}&amp;lt;/ref&amp;gt; In addition, the website says: &amp;quot;The Internet Archive is not interested in preserving or offering access to Web sites or other internet documents of persons who do not want their materials in the collection.&amp;quot;&amp;lt;ref&amp;gt;{{cite web|url=https://www.archive.org/about/faqs.php#2 |title= Frequently Asked Questions |website=Internet Archive |archive-url=https://web.archive.org/web/20140417122600/https://archive.org/about/faqs.php |archive-date=April 17, 2014|url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |url=https://motherboard.vice.com/en_us/article/nekzzq/wayback-machine-deleting-evidence-flexispy |website=Vice |title=The Wayback Machine Is Deleting Evidence of Malware Sold to Stalkers |last=Cox |first=Joseph |date=May 22, 2018 |access-date=May 23, 2018 |archive-url=https://archive.today/20180522192132/https://motherboard.vice.com/en_us/article/nekzzq/wayback-machine-deleting-evidence-flexispy |archive-date=May 22, 2018 |url-status=live}}{{cbignore}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On April 17, 2017, reports surfaced of sites that had gone defunct and became [[parked domain]]s that were using robots.txt to exclude themselves from search engines, resulting in them being inadvertently excluded from the Wayback Machine.&amp;lt;ref&amp;gt;{{cite web |title=Robots.txt meant for search engines don&#039;t work well for web archives |url=https://blog.archive.org/2017/04/17/robots-txt-meant-for-search-engines-dont-work-well-for-web-archives/ |website=Internet Archive |date=April 17, 2017 |access-date=June 29, 2019}}&amp;lt;/ref&amp;gt; Following this, the Internet Archive changed the policy to require an explicit exclusion request to remove sites from the Wayback Machine.&amp;lt;ref name=&amp;quot;Using&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====The Oakland Archive Policy====&lt;br /&gt;
Wayback&#039;s retroactive exclusion policy is based in part upon &#039;&#039;Recommendations for Managing Removal Requests and Preserving Archival Integrity&#039;&#039;, known as &#039;&#039;The Oakland Archive Policy&#039;&#039;, published by the School of Information Management and Systems at [[University of California, Berkeley]] in 2002, which gives a website owner the right to block access to the site&#039;s archives.&amp;lt;ref&amp;gt;{{cite web |title=Recommendations for Managing Removal Requests And Preserving Archival Integrity |date=December 14, 2002 |publisher=[[University of California]] |url=http://www2.sims.berkeley.edu/research/conferences/aps/removal-policy.html |access-date=October 20, 2024 |url-status=dead |archive-url=https://web.archive.org/web/20030502165937/http://sims.berkeley.edu/research/conferences/aps/removal-policy.html |archive-date=May 2, 2003}}&amp;lt;/ref&amp;gt; Wayback has complied with this policy to help avoid expensive litigation.&amp;lt;ref&amp;gt;{{cite web |title=Retroactive robots.txt removal of past crawls AKA Oakland Archive Policy |date=July 7, 2014 |publisher=Internet Archive |url=https://archive.org/post/1019415/retroactive-robotstxt-removal-of-past-crawls-aka-oakland-archive-policy |access-date=September 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20171010124036/https://archive.org/post/1019415/retroactive-robotstxt-removal-of-past-crawls-aka-oakland-archive-policy |archive-date=October 10, 2017 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Wayback retroactive exclusion policy began to relax in 2017, when it stopped honoring robots on U.S. government and military web sites for both crawling and displaying web pages. As of April 2017, Wayback is ignoring robots.txt more broadly, not just for U.S. government websites.&amp;lt;ref&amp;gt;{{cite web |url=http://blog.archive.org/2017/04/17/robots-txt-meant-for-search-engines-dont-work-well-for-web-archives/ |title=Robots.txt meant for search engines don&#039;t work well for web archives |work=Internet Archive Blogs |first=Mark |last=Graham |date=April 17, 2017 |access-date=April 16, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170417131508/http://blog.archive.org/2017/04/17/robots-txt-meant-for-search-engines-dont-work-well-for-web-archives/ |archive-date=April 17, 2017}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Archivierung des Internets: Internet Archive ignoriert künftig robots.txt |date=April 25, 2017 |url=https://www.heise.de/newsticker/meldung/Archivierung-des-Internets-Internet-Archive-ignoriert-kuenftig-robots-txt-3693558.html |publisher=heise online |access-date=May 14, 2017 |language=de |url-status=live |archive-url=https://web.archive.org/web/20170427035659/https://www.heise.de/newsticker/meldung/Archivierung-des-Internets-Internet-Archive-ignoriert-kuenftig-robots-txt-3693558.html |archive-date=April 27, 2017}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Suchmaschinen: Internet Archive will künftig Robots.txt-Einträge ignorieren – Golem.de |url=https://www.golem.de/news/suchmaschinen-internet-archive-will-kuenftig-robots-txt-eintraege-ignorieren-1704-127446.html |access-date=May 14, 2017 |language=de |url-status=live |archive-url=https://web.archive.org/web/20170619210648/https://www.golem.de/news/suchmaschinen-internet-archive-will-kuenftig-robots-txt-eintraege-ignorieren-1704-127446.html |archive-date=June 19, 2017}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |title=Internet Archive will ignore robots.txt files to keep historical record accurate |url=https://www.digitaltrends.com/computing/internet-archive-robots-txt/ |newspaper=Digital Trends |access-date=May 14, 2017 |date=April 24, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170516130029/https://www.digitaltrends.com/computing/internet-archive-robots-txt/ |archive-date=May 16, 2017}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uses==&lt;br /&gt;
From its public launch in 2001, the Wayback Machine has been studied by scholars both for the ways it stores and collects data as well as for the actual pages contained in its archive. As of 2013, scholars had written about 350 articles on the Wayback Machine, mostly from the [[information technology]], [[Library and information science|library science]], and [[social science]] fields. Social science scholars have used the Wayback Machine to analyze how the development of websites from the mid-1990s to the present has affected the company&#039;s growth.&amp;lt;ref name=&amp;quot;Arora&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the Wayback Machine archives a page, it usually includes most of the hyperlinks, keeping those links active when they just as easily could have been broken by the Internet&#039;s instability. Researchers in India studied the effectiveness of the Wayback Machine&#039;s ability to save hyperlinks in online scholarly publications and found that it saved slightly more than half of them.&amp;lt;ref&amp;gt;{{cite journal |last1=Sampath Kumar |first1=B.T. |last2=Prithviraj |first2=K.R. |date=October 21, 2014 |title=Bringing life to dead: Role of Wayback Machine in retrieving vanished URLs |journal=Journal of Information Science |volume=41 |issue=1 |pages=71–81 |doi=10.1177/0165551514552752 |s2cid=28320982 |issn=0165-5515}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Journalists use the Wayback Machine to view dead websites, dated news reports, and changes to website contents. Its content has been used to hold politicians accountable and expose battlefield lies.&amp;quot;&amp;lt;ref name=&amp;quot;Nelson&amp;quot;&amp;gt;{{cite web |url=https://www.usnews.com/news/articles/2016-08-17/wayback-machine-wont-censor-archive-for-taste-director-says-after-olympics-article-scrubbed |first1=Steven |last1=Nelson |date=August 17, 2016 |website=U.S. News &amp;amp; World Report |title=Wayback Machine Won&#039;t Censor Archive for Taste, Director Says After Olympics Article Scrubbed |archive-url=https://web.archive.org/web/20170106151933/http://www.usnews.com/news/articles/2016-08-17/wayback-machine-wont-censor-archive-for-taste-director-says-after-olympics-article-scrubbed |archive-date=January 6, 2017 |url-status=live |access-date=May 14, 2017}}&amp;lt;/ref&amp;gt; In 2014, an archived social media page of [[Igor Girkin]], a separatist rebel leader in Ukraine, showed him boasting about his troops having shot down a suspected Ukrainian military airplane before it became known that the plane actually was a civilian Malaysian Airlines jet ([[Malaysia Airlines Flight 17]]), after which he deleted the post and blamed Ukraine&#039;s military for downing the plane.&amp;lt;ref name=&amp;quot;Nelson&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;{{cite magazine |title=What the Web Said Yesterday |url=https://www.newyorker.com/magazine/2015/01/26/cobweb |url-access=limited |magazine=[[The New Yorker]] |access-date=May 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20150125141230/http://www.newyorker.com/magazine/2015/01/26/cobweb |archive-date=January 25, 2015&lt;br /&gt;
|first=Jill |last=Lepore | author-link=Jill Lepore | date=January 26, 2015&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; In 2017, the [[March for Science]] originated from a discussion on [[Reddit]] that indicated someone had visited Archive.org and discovered that all references to [[climate change]] had been deleted from the White House website. In response, a user commented, &amp;quot;There needs to be a Scientists&#039; March on Washington&amp;quot;.&amp;lt;ref&amp;gt;{{cite news |title=The March for Science began with this person&#039;s &#039;throwaway line&#039; on Reddit |url=https://www.washingtonpost.com/news/speaking-of-science/wp/2017/04/21/the-march-for-science-began-with-this-persons-throwaway-line-on-reddit/ |date=April 21, 2017 |first1= Ben |last1=Guarino |newspaper=Washington Post |access-date=April 23, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170423081417/https://www.washingtonpost.com/news/speaking-of-science/wp/2017/04/21/the-march-for-science-began-with-this-persons-throwaway-line-on-reddit/ |archive-date=April 23, 2017}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |url=https://www.washingtonpost.com/news/speaking-of-science/wp/2017/01/24/are-scientists-going-to-march-on-washington/ |url-access=subscription |date=January 25, 2017 |first1=Sarah |last1=Kaplan |title=Are scientists going to march on Washington? |newspaper=The Washington Post |access-date=January 31, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170131152535/https://www.washingtonpost.com/news/speaking-of-science/wp/2017/01/24/are-scientists-going-to-march-on-washington/ |archive-date=January 31, 2017}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |last1=Foley |first1=Katherine Ellen |title=The global March for Science started with a single Reddit thread |url=https://qz.com/965485/the-global-march-for-science-started-with-a-single-reddit-thread/ |date=April 22, 2017 |work=Quartz |access-date=April 23, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170424004314/https://qz.com/965485/the-global-march-for-science-started-with-a-single-reddit-thread/ |archive-date=April 24, 2017}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The site is used heavily for verification, providing access to references and content creation by [[Wikipedia community|Wikipedia editors]].&amp;lt;ref name=&amp;quot;Graham&amp;quot;&amp;gt;{{Cite web|url=http://blog.archive.org/2018/10/01/more-than-9-million-broken-links-on-wikipedia-are-now-rescued/|title=More than 9 million broken links on Wikipedia are now rescued|first=Mark|last=Graham|date=October 1, 2018 |website=Internet Archive Blogs |url-status=live |archive-url= https://archive.today/20230408194542/http://blog.archive.org/2018/10/01/more-than-9-million-broken-links-on-wikipedia-are-now-rescued/ |archive-date= April 8, 2023 }}&amp;lt;/ref&amp;gt; When new URLs are added to Wikipedia, the Internet Archive has been archiving them.&amp;lt;ref name=&amp;quot;Graham&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In September 2020, a partnership was announced with [[Cloudflare]] to automatically archive websites served via its &amp;quot;Always Online&amp;quot; service, which will also allow it to direct users to its copy of the site if it cannot reach the original host.&amp;lt;ref name=&amp;quot;archive-partners&amp;quot;&amp;gt;{{Cite web |last=Graham |first=Mark |date=September 17, 2020 |title=Cloudflare and the Wayback Machine, joining forces for a more reliable Web |url= http://blog.archive.org/2020/09/17/internet-archive-partners-with-cloudflare-to-help-make-the-web-more-useful-and-reliable/ |access-date=September 17, 2020 |website= Internet Archive Blogs}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
In 2014, there was a six-month lag time between when a website was crawled and when it became available for viewing in the Wayback Machine.&amp;lt;ref&amp;gt;{{cite web |url=https://archive.org/about/faqs.php |title=Internet Archive Frequently Asked Questions |date=April 2, 2014 |website=Internet Archive |archive-url=https://web.archive.org/web/20140402223358/https://archive.org/about/faqs.php |archive-date=April 2, 2014|url-status=dead|access-date=November 23, 2018}}&amp;lt;/ref&amp;gt; As of 2024, the lag time is 3 to 10 hours.&amp;lt;ref name=&amp;quot;Using&amp;quot; /&amp;gt; The Wayback Machine offers only limited search facilities. Its &amp;quot;Site Search&amp;quot; feature allows users to find a site based on words describing the site, rather than words found on the web pages themselves.&amp;lt;ref name=&amp;quot;Bates&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Wayback Machine does not include every web page ever made due to the limitations of its web crawler. The Wayback Machine cannot completely archive web pages that contain interactive features such as Flash platforms and forms written in JavaScript and [[progressive web application]]s, because those functions require interaction with the host website. This means that, since approximately July 9, 2013, the Wayback Machine has been unable to display YouTube comments when saving videos&#039; watch pages, as, according to the Archive Team, comments are no longer &amp;quot;loaded within the page itself.&amp;quot;&amp;lt;ref&amp;gt;{{cite web|url=https://www.archiveteam.org/index.php?title=YouTube#Comment_loading|website=archiveteam.org|title=YouTube – Archiveteam|access-date=August 6, 2020|archive-date=August 5, 2020|archive-url=https://web.archive.org/web/20200805184742/https://www.archiveteam.org/index.php?title=YouTube#Comment_loading|url-status=live}}&amp;lt;/ref&amp;gt; The Wayback Machine&#039;s web crawler has difficulty extracting anything not coded in HTML or one of its variants, which can often result in broken hyperlinks and missing images. Due to this, the web crawler cannot archive &amp;quot;orphan pages&amp;quot; that are not linked to by other pages.&amp;lt;ref name=&amp;quot;Bates&amp;quot;&amp;gt;{{cite journal |last=Bates |first=Mary Ellen |date=2002 |title=The Wayback Machine |journal=Online |volume=26 |pages=80 }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://archive.org/about/faqs.php |title=Internet Archive Frequently Asked Questions |website=Internet Archive |access-date=October 18, 2018 |archive-url=https://web.archive.org/web/20130420213122/https://archive.org/about/faqs.php |archive-date=April 20, 2013 |url-status=live }}&amp;lt;/ref&amp;gt; The Wayback Machine&#039;s crawler only follows a predetermined number of hyperlinks based on a preset depth limit, so it cannot archive every hyperlink on every page.&amp;lt;ref name=&amp;quot;Crawls&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===In legal evidence===&lt;br /&gt;
====Civil litigation====&lt;br /&gt;
=====&#039;&#039;Netbula LLC v. Chordiant Software Inc.&#039;&#039;=====&lt;br /&gt;
In a 2009 case, &#039;&#039;Netbula, LLC v. Chordiant Software Inc.&#039;&#039;, defendant Chordiant filed a motion to compel Netbula to disable the [[robots.txt]] file on its website that was causing the Wayback Machine to retroactively remove access to previous versions of pages it had archived from Netbula&#039;s site, pages that Chordiant believed would support its case.&amp;lt;ref name=&amp;quot;Lloyd&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Netbula objected to the motion on the ground that defendants were asking to alter Netbula&#039;s website and that they should have subpoenaed Internet Archive for the pages directly.&amp;lt;ref&amp;gt;{{cite web |last=Cortes |first=Antonio |date=October 2009 |title=Motion Opposing Removal of Robots.txt |url=http://www.american-justice.org/index.cgi/Page/116/OPPOSITION-TO-MOTION-TO-COMPEL-REMOVAL-OF-ROBOT-TXT-FILE-FROM-WEBSITE/ |access-date=October 15, 2009 |url-status=dead |archive-url=https://web.archive.org/web/20101027050350/http://www.american-justice.org/index.cgi/Page/116/OPPOSITION-TO-MOTION-TO-COMPEL-REMOVAL-OF-ROBOT-TXT-FILE-FROM-WEBSITE |archive-date=October 27, 2010 }}&amp;lt;/ref&amp;gt; An employee of Internet Archive filed a sworn statement supporting Chordiant&#039;s motion, however, stating that it could not produce the web pages by any other means &amp;quot;without considerable burden, expense and disruption to its operations.&amp;quot;&amp;lt;ref name=&amp;quot;Lloyd&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Magistrate Judge Howard Lloyd in the Northern District of California, San Jose Division, rejected Netbula&#039;s arguments and ordered them to disable the robots.txt blockage temporarily in order to allow Chordiant to retrieve the archived pages that they sought.&amp;lt;ref name=&amp;quot;Lloyd&amp;quot;&amp;gt;{{cite web |last=Lloyd |first=Howard |date=October 2009 |title=Order to Disable Robots.txt |url=http://www.american-justice.org/upload/page/123/69/docket-187-order-on-IA-motion.pdf |access-date=October 15, 2009 |archive-url=https://web.archive.org/web/20190808173832/http://www.american-justice.org/upload/page/123/69/docket-187-order-on-IA-motion.pdf |archive-date=August 8, 2019 |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;Telewizja Polska USA, Inc. v. Echostar Satellite&#039;&#039;=====&lt;br /&gt;
In an October 2004 case, &#039;&#039;[[Telewizja Polska|Telewizja Polska USA, Inc.]] v. Echostar Satellite&#039;&#039;, No. 02 C 3293, 65 Fed. R. Evid. Serv. 673 (N.D. Ill. October 15, 2004), a litigant attempted to use the Wayback Machine archives as a source of admissible evidence, perhaps for the first time. Telewizja Polska is the provider of [[TVP Polonia]] and [[EchoStar]] operates the [[Dish Network]]. Prior to the trial proceedings, EchoStar indicated that it intended to offer Wayback Machine snapshots as proof of the past content of Telewizja Polska&#039;s website. Telewizja Polska brought a motion &#039;&#039;[[in limine]]&#039;&#039; to suppress the snapshots on the grounds of [[hearsay]] and unauthenticated source, but Magistrate Judge Arlander Keys rejected Telewizja Polska&#039;s assertion of hearsay and denied TVP&#039;s motion &#039;&#039;in limine&#039;&#039; to exclude the evidence at trial.&amp;lt;ref&amp;gt;{{cite journal |last=Gelman |first=Lauren |date=November 17, 2004 |title=Internet Archive&#039;s Web Page Snapshots Held Admissible as Evidence |journal=Packets |volume=2 |issue=3 |url=http://cyberlaw.stanford.edu/packets002728.shtml |access-date=January 4, 2007 |archive-url=https://web.archive.org/web/20110430095339/http://cyberlaw.stanford.edu/packets002728.shtml |archive-date=April 30, 2011 |url-status=dead }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite journal |last=Howell |first=Beryl A. |date=February 2006 |title=Proving Web History: How to use the Internet Archive |journal=Journal of Internet Law |pages=3–9 |url=http://www.strozfriedberg.com/files/Publication/fee98a34-d739-478b-a7db-6af37b757714/Presentation/PublicationAttachment/aae88469-9835-4fe4-ae5f-38637924314f/BAHPROVINGWEBHISTORY.pdf |archive-url=https://web.archive.org/web/20100705043226/http://www.strozfriedberg.com/files/Publication/fee98a34-d739-478b-a7db-6af37b757714/Presentation/PublicationAttachment/aae88469-9835-4fe4-ae5f-38637924314f/BAHPROVINGWEBHISTORY.pdf |url-status=dead |archive-date=July 5, 2010 |access-date=August 6, 2008}}&amp;lt;/ref&amp;gt; At the trial, however, District Court Judge Ronald Guzman, the trial judge, overruled Magistrate Keys&#039; findings, and held that neither the affidavit of the Internet Archive employee nor the underlying pages (i.e., the Telewizja Polska website) were admissible as evidence. Judge Guzman reasoned that the employee&#039;s affidavit contained both hearsay and inconclusive supporting statements, and the purported web page, printouts were not self-authenticating.&amp;lt;ref&amp;gt;{{cite web |title=Looking For Evidence in Virtual Places Admissibility of Internet Evidence |url=https://www.netforlawyers.com/page/looking-evidence-virtual-places-admissibility-internet-evidence |access-date=June 14, 2020 |archive-url=https://web.archive.org/web/20190701055139/https://www.netforlawyers.com/page/looking-evidence-virtual-places-admissibility-internet-evidence |archive-date=July 1, 2019 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book |last1=Levitt |first1=Carole A. |last2=Rosch |first2=Mark E. |title=Find Info Like a Pro: Mining the Internet&#039;s Publicly Available Resources for Investigative Research, Tom 1 |date=2010 |publisher=American Bar Association |isbn=978-1-60442-890-2 |pages=194–196 |url=https://books.google.com/books?id=SUErZdbvcOkC |access-date=June 14, 2020 |archive-date=December 18, 2020 |archive-url=https://web.archive.org/web/20201218143732/https://books.google.com/books?id=SUErZdbvcOkC |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Patent law====&lt;br /&gt;
{{Main|Internet as a source of prior art}}&lt;br /&gt;
The [[United States Patent and Trademark Office]] and the [[European Patent Office]] will accept date stamps from the Internet Archive as evidence of when a given Web page was accessible to the public. These dates are used to determine if a Web page is available as [[prior art]] for instance in examining a patent application.&amp;lt;ref&amp;gt;{{cite web |title=Prior Art in the Field of Business Method Patents – When is an Electronic Document a Printed Publication for Prior Art Purposes? |first=Wynn W. |last=Coggins |date=Fall 2002 |url=http://www.uspto.gov/patents/resources/methods/aiplafall02paper.jsp |work=USPTO |url-status=dead |archive-url=https://web.archive.org/web/20120921083344/http://www.uspto.gov/patents/resources/methods/aiplafall02paper.jsp |archive-date=September 21, 2012 |access-date=August 15, 2012 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Limitations of utility====&lt;br /&gt;
There are technical limitations to archiving a website, and as a consequence, opposing parties in litigation can misuse the results provided by website archives. This problem can be exacerbated by the practice of submitting screenshots of web pages in complaints, answers, or expert witness reports when the underlying links are not exposed and therefore, can contain errors. For example, archives such as the Wayback Machine do not fill out forms and therefore, do not include the contents of non-[[Semantic URL|RESTful]] e-commerce databases in their archives.&amp;lt;ref&amp;gt;{{cite web |url=http://www.practice.com/2008/12/29/debunking-the-wayback-machine |title=Debunking the Wayback Machine |archive-url=https://web.archive.org/web/20100629050840/http://www.practice.com/2008/12/29/debunking-the-wayback-machine |archive-date=June 29, 2010}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Legal status==&lt;br /&gt;
In Europe, the Wayback Machine could be interpreted as violating [[copyright]] laws. Only the content creator can decide where their content is published or duplicated so the Archive would have to delete pages from its system upon request of the creator.&amp;lt;ref&amp;gt;{{cite journal |last1=Bahr |first1=Martin |url=http://www.jurpc.de/aufsatz/20020029.htm |title=The Wayback Machine und Google Cache – eine Verletzung deutschen Urheberrechts? |journal=JurPC |pages=9 |year=2002 |language=de |archive-url=https://web.archive.org/web/20090823062928/http://www.jurpc.de/aufsatz/20020029.htm |archive-date=August 23, 2009 |url-status=live |doi=10.7328/jurpcb/20021719}}&amp;lt;/ref&amp;gt; The exclusion policies for the Wayback Machine may be found in the FAQ section of the site.&amp;lt;ref&amp;gt;{{cite web |url=https://www.archive.org/about/faqs.php |title=Internet Archive FAQ |access-date=April 16, 2014 |url-status=live |archive-url=https://web.archive.org/web/20140417122600/https://archive.org/about/faqs.php |archive-date=April 17, 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some cases have been brought against the Internet Archive specifically for its Wayback Machine archiving efforts.&amp;lt;!--See [[Internet Archive#Controversies and legal disputes|Internet Archive controversies and legal disputes]].--&amp;gt; &amp;lt;!-- Wayback Machine-specific issues moved here, for clarity. See [[Talk:Internet Archive#Merger proposal - Wayback Machine]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Archived content legal issues==&lt;br /&gt;
&lt;br /&gt;
===Scientology===&lt;br /&gt;
{{See also|Scientology and the Internet}}&lt;br /&gt;
&lt;br /&gt;
In late 2002, the Internet Archive removed various sites that were critical of [[Scientology]] from the Wayback Machine.&amp;lt;ref&amp;gt;{{cite news |first=Lisa M |last=Bowman |title=Net archive silences Scientology critic |url=http://news.cnet.com/2100-1023-959236.html |publisher=CNET News |date=September 24, 2002 |access-date=January 4, 2007 |archive-url=https://web.archive.org/web/20120515210932/http://news.cnet.com/2100-1023-959236.html|archive-date=May 15, 2012}}&amp;lt;/ref&amp;gt; An error message stated that this was in response to a &amp;quot;request by the site owner&amp;quot;.&amp;lt;ref&amp;gt;{{cite web |url=https://www.archive.org/iathreads/post-view.php?id=778 |title=exclusions from the Wayback Machine |access-date=January 4, 2007 |author=Jeff |date=September 23, 2002 |format=Blog |work=Wayback Machine Forum |publisher=Internet Archive |url-status=live |archive-url=https://web.archive.org/web/20070211155138/http://www.archive.org/iathreads/post-view.php?id=778 |archive-date=February 11, 2007}} &#039;&#039;Author and Date indicate initiation of forum thread&#039;&#039;.&amp;lt;/ref&amp;gt; Later, it was clarified that lawyers from the [[Church of Scientology]] had demanded the removal and that the site owners did not want their material removed.&amp;lt;ref&amp;gt;{{cite web |url=http://research.yale.edu/lawmeme/modules.php?name=News&amp;amp;file=article&amp;amp;sid=350 |title=Sherman, Set the Wayback Machine for Scientology |access-date=January 4, 2007 |last=Miller |first=Ernest |format=Blog |work=LawMeme |publisher=Yale Law School |url-status=dead |archive-date=November 16, 2012 |archive-url=https://web.archive.org/web/20121116072812/http://lawmeme.research.yale.edu/modules.php?name=News&amp;amp;file=article&amp;amp;sid=350}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Healthcare Advocates, Inc.===&lt;br /&gt;
In 2003, Harding Earley Follmer &amp;amp; Frailey defended a client from a trademark dispute using the Archive&#039;s Wayback Machine. The attorneys were able to demonstrate that the claims made by the plaintiff were invalid, based on the content of their website from several years prior. The plaintiff, Healthcare Advocates, then amended their complaint to include the Internet Archive, accusing the organization of copyright infringement as well as violations of the [[Digital Millennium Copyright Act|DMCA]] and the [[Computer Fraud and Abuse Act]]. Healthcare Advocates claimed that, since they had installed a [[robots.txt]] file on their website, even if after the initial lawsuit was filed, the Archive should have removed all previous copies of the plaintiff website from the Wayback Machine, however, some material continued to be publicly visible on Wayback.&amp;lt;ref&amp;gt;{{cite journal |last=Dye |first=Jessica |year=2005 |title=Website Sued for Controversial Trip into Internet Past |series=28 |journal=EContent |volume=11 |pages=8–9}}&amp;lt;/ref&amp;gt; The lawsuit was settled out of court after Wayback fixed the problem.&amp;lt;ref&amp;gt;{{cite journal |last=Bangeman |first=Eric |date=August 31, 2006 |title=Internet Archive Settles Suit Over Wayback Machine |journal=Ars Technica |url=https://arstechnica.com/news.ars/post/20060831-7634.html |access-date=November 29, 2007 |url-status=live |archive-url=https://web.archive.org/web/20071105205430/http://arstechnica.com/news.ars/post/20060831-7634.html |archive-date=November 5, 2007}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Suzanne Shell===&lt;br /&gt;
Activist [[Suzanne Shell]] filed suit in December 2005, demanding Internet Archive pay her US$100,000 for archiving her website profane-justice.org between 1999 and 2004.&amp;lt;ref name=&amp;quot;Justia&amp;quot;&amp;gt;{{cite court |litigants=Internet Archive v. Shell |vol=505 F.Supp.2d 755 |reporter=at justia.com |opinion= |pinpoint=1:2006cv01726 |court=[[United States District Court for the District of Colorado|Colorado District Court]] |date=August 31, 2006 |url=http://dockets.justia.com/docket/colorado/codce/1:2006cv01726/98194 |access-date=April 3, 2022 |quote=&#039;April 25, 2007 Settlement agreement announced.&#039; Filing 65, 2007-04-30: &#039;...therefore ORDERED that this matter shall be DISMISSED WITH PREJUDICE...&#039;}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Babcock&amp;quot;&amp;gt;{{cite web |last=Babcock |first=Lewis T. |date=February 13, 2007 |url=http://blog.ericgoldman.org/archives/waybackshell.pdf |title=&#039;&#039;Internet Archive v. Shell&#039;&#039; Civil Action No. 06cv01726LTBCBS |archive-url=https://web.archive.org/web/20140125143809/http://blog.ericgoldman.org/archives/waybackshell.pdf |archive-date=January 25, 2014 |url-status=live |access-date=March 25, 2015 |quote=1) Internet Archive&#039;s motion to dismiss Shell&#039;s counterclaim for conversion and civil theft (Second Cause of Action) is GRANTED, 2) Internet Archive&#039;s motion to dismiss Shell&#039;s counterclaim for breach of contract (Third Cause of Action) is DENIED; 3) Internet Archive&#039;s motion to dismiss Shell&#039;s counterclaim for Racketeering under RICO and COCCA (Fourth Cause of Action) is GRANTED.}}&amp;lt;/ref&amp;gt; Internet Archive filed a [[declaratory judgment]] action in the [[United States District Court for the Northern District of California]] on January 20, 2006, seeking a judicial determination that Internet Archive did not violate Shell&#039;s [[copyright]]. Shell responded and brought a [[countersuit]] against Internet Archive for archiving her site, which she alleges is in violation of her [[terms of service]].&amp;lt;ref&amp;gt;{{cite news |first=Thomas |last=Claburn |title=Colorado Woman Sues To Hold Web Crawlers To Contracts |publisher=[[InformationWeek]], UBM Tech, UBM LLC |location=New York, New York, US |date=March 16, 2007 |url=http://www.informationweek.com/colorado-woman-sues-to-hold-web-crawlers-to-contracts/d/d-id/1053075 |archive-url=https://web.archive.org/web/20140904170742/http://www.informationweek.com/colorado-woman-sues-to-hold-web-crawlers-to-contracts/d/d-id/1053075 |archive-date=September 4, 2014 |url-status=live |access-date=March 25, 2015 |quote=Computers can enter into contracts on behalf of people. The Uniform Electronic Transactions Act (UETA) says that a &#039;contract may be formed by the interaction of electronic agents of the parties, even if no individual was aware of or reviewed the electronic agents&#039; actions or the resulting terms and agreements.&#039;}}&amp;lt;/ref&amp;gt; On February 13, 2007, a judge for the [[United States District Court for the District of Colorado]] dismissed all counterclaims except [[breach of contract]].&amp;lt;ref name=&amp;quot;Babcock&amp;quot; /&amp;gt; The Internet Archive did not move to dismiss the [[copyright infringement]] claims that Shell asserted arose out of its copying activities, which would also go forward.&amp;lt;ref&amp;gt;{{cite web |url=http://www.internetlibrary.com/cases/lib_case456.cfm |title=Internet Archive v. Suzanne Shell |last=Samson |first=Martin H. |year=2007&amp;lt;!-- This article has no date. I looked everywhere. --&amp;gt; |publisher=Internet Library of Law and Court Decisions |archive-url=https://web.archive.org/web/20140803002113/http://www.internetlibrary.com/cases/lib_case456.cfm |archive-date=August 3, 2014 |url-status=live |access-date=March 25, 2015 |quote=More importantly, held the court, Internet Archive&#039;s mere copying of Shell&#039;s site, and display thereof in its database, did not constitute the requisite exercise of dominion and control over defendant&#039;s property. Importantly, noted the court, the defendant at all times owned and operated her own site. Said the Court: &#039;Shell has failed to allege facts showing that Internet Archive exercised dominion or control over her website, since Shell&#039;s complaint states explicitly that she continued to own and operate the website while it was archived on the Wayback machine. Shell identifies no authority supporting the notion that copying documents is by itself enough of a deprivation of use to support conversion. Conversely, numerous circuits have determined that it is not.&#039;}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On April 25, 2007, Internet Archive and Suzanne Shell jointly announced the settlement of their lawsuit.&amp;lt;ref name=&amp;quot;Justia&amp;quot; /&amp;gt; The Internet Archive said it &amp;quot;...has no interest in including materials in the Wayback Machine of persons who do not wish to have their Web content archived. We recognize that Ms. Shell has a valid and enforceable copyright in her Web site and we regret that the inclusion of her Web site in the Wayback Machine resulted in this litigation.&amp;quot; Shell said, &amp;quot;I respect the historical value of Internet Archive&#039;s goal. I never intended to interfere with that goal nor cause it any harm.&amp;quot;&amp;lt;ref&amp;gt;{{cite web |url=https://archive.org/post/119669/lawsuit-settled |title=Internet Archive and Suzanne Shell Settle Lawsuit |author=brewster |date=April 25, 2007 |website=Internet Archive |location=Denver, CO, US |archive-url=https://web.archive.org/web/20101205074057/https://archive.org/post/119669/lawsuit-settled |archive-date=December 5, 2010 |url-status=live |access-date=March 25, 2015 |quote=Both parties sincerely regret any turmoil that the lawsuit may have caused for the other. Neither Internet Archive nor Ms. Shell condones any conduct which may have caused harm to either party arising out of the public attention to this lawsuit. The parties have not engaged in such conduct and request that the public response to the amicable resolution of this litigation be consistent with their wishes that no further harm or turmoil be caused to either party.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Daniel Davydiuk===&lt;br /&gt;
Between 2013 and 2016, a [[pornographic actor]] named Daniel Davydiuk tried to remove archived images of himself from the Wayback Machine&#039;s archive, first by sending multiple [[DMCA request]]s to the archive, and then by appealing to the [[Federal Court of Canada]].&amp;lt;ref&amp;gt;{{cite web |url=http://www.mondaq.com/canada/x/358282/Trade%20Secrets/Copyright%20Implications%20of%20a%20Right%20to%20be%20Forgotten%20Or%20How%20to%20TakeDown%20the%20Internet%20Archive |title=Copyright Implications Of A &amp;quot;Right To Be Forgotten&amp;quot;? Or How To Take-Down The Internet Archive. |date=December 5, 2014 |first=Richard |last=Stobbe |access-date=March 8, 2019 |work=Mondaq |archive-date=November 18, 2018 |archive-url=https://web.archive.org/web/20181118095257/http://www.mondaq.com/canada/x/358282/Trade%20Secrets/Copyright%20Implications%20of%20a%20Right%20to%20be%20Forgotten%20Or%20How%20to%20TakeDown%20the%20Internet%20Archive |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://canlii.ca/t/gf3d7 |title=Davydiuk v. Internet Archive Canada, 2014 FC 944 |date=October 16, 2014 |access-date=March 8, 2019 |work=[[CanLII]] |publisher=[[Federation of Law Societies of Canada]] |first=Glennys |last=McVeigh |author-link=Glennys McVeigh |editor-first=James |editor-last=Philpott |editor2-first=Adam |editor2-last=Weissman |editor3-first=Ren |editor3-last=Bucholz |editor4-first=Brent |editor4-last=Kettles |editor5-first=Aaron |editor5-last=Pearl |archive-date=December 18, 2020 |archive-url=https://web.archive.org/web/20201218143737/https://www.canlii.org/en/ca/fct/doc/2014/2014fc944/2014fc944.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://www.canlii.org/en/ca/fct/doc/2016/2016fc1313/2016fc1313.html |title=Davydiuk v. Internet Archive Canada and Internet Archive, 2016 FC 1313 (CanLII) |date=November 30, 2016 |access-date=March 8, 2019 |location=Ottawa, Ontario |work=[[CanLII]] |first=Richard F. |last=Southcott |publisher=[[Federation of Law Societies of Canada]] |editor-first=John |editor-last=Philpott |editor2-first=Alex |editor2-last=Alton |editor3-first=Ren |editor3-last=Bucholz |archive-date=June 29, 2019 |archive-url=https://web.archive.org/web/20190629215557/https://www.canlii.org/en/ca/fct/doc/2016/2016fc1313/2016fc1313.html |url-status=live }}&amp;lt;/ref&amp;gt; The images were removed from the website in 2017.&lt;br /&gt;
&lt;br /&gt;
=== FlexiSpy ===&lt;br /&gt;
In 2018, archives of [[Stalkerware|stalkerware application]] FlexiSpy&#039;s website were removed from the Wayback Machine. The company claimed to have contacted the Internet Archive, presumably to remove the archives of its website.&amp;lt;ref&amp;gt;{{Cite web|last=Cox|first=Joseph|date=May 22, 2018|title=The Wayback Machine Is Deleting Evidence of Malware Sold to Stalkers|url=https://www.vice.com/en/article/nekzzq/wayback-machine-deleting-evidence-flexispy|access-date=January 24, 2022|website=[[Vice News|Vice]]|archive-date=January 24, 2022|archive-url=https://web.archive.org/web/20220124045413/https://www.vice.com/en/article/nekzzq/wayback-machine-deleting-evidence-flexispy|url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Censorship and other threats==&lt;br /&gt;
Archive.org is [[Internet censorship in China|blocked in China]].&amp;lt;ref&amp;gt;{{cite news |last1=Conger |first1=Kate |title=Backing up the history of the internet in Canada to save it from Trump |date=December 8, 2016 |url=https://techcrunch.com/2016/12/08/backing-up-the-history-of-the-internet-in-canada-to-save-it-from-trump/ |work=TechCrunch |access-date=May 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20161227100714/https://techcrunch.com/2016/12/08/backing-up-the-history-of-the-internet-in-canada-to-save-it-from-trump/ |archive-date=December 27, 2016}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Where to find what&#039;s disappeared online, and a whole lot more: the Internet Archive |date=February 23, 2017 |url=https://www.pri.org/stories/2017-02-23/where-find-whats-disappeared-online-and-whole-lot-more-internet-archive |publisher=Public Radio International |access-date=May 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170328092846/https://www.pri.org/stories/2017-02-23/where-find-whats-disappeared-online-and-whole-lot-more-internet-archive |archive-date=March 28, 2017}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |date=October 22, 2023 |title=Online Censorship In China |url=https://en.greatfire.org/archive.org |access-date=October 22, 2023 |website=[[GreatFire]]}}&amp;lt;/ref&amp;gt; The Internet Archive was [[Internet censorship in Russia|blocked in its entirety in Russia]] in 2015–16, ostensibly for hosting a Jihad outreach video.&amp;lt;ref name=&amp;quot;Nelson&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;{{cite web |last1=Chirgwin |first1=Richard |title=There&#039;s no Wayback in Russia: Putin blocks Archive.org |date=September 1, 2015 |website=[[The Register]] |url=https://www.theregister.co.uk/2015/09/01/russias_putin_blocks_archiveorg/ |access-date=May 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20161007165431/http://www.theregister.co.uk/2015/09/01/russias_putin_blocks_archiveorg |archive-date=October 7, 2016}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Russia won&#039;t go Wayback, blocks the Internet Archive |url=https://www.digitaltrends.com/web/russia-censors-wayback-machines-485-billion-archived-web-pages/ |publisher=Digital Trends |access-date=May 14, 2017 |date=June 26, 2015 |url-status=live |archive-url=https://web.archive.org/web/20160417125727/http://www.digitaltrends.com/web/russia-censors-wayback-machines-485-billion-archived-web-pages/ |archive-date=April 17, 2016}}&amp;lt;/ref&amp;gt; Since 2016, the website has been back, available in its entirety, although in 2016 Russian commercial lobbyists were suing the Internet Archive to ban it on copyright grounds.&amp;lt;ref&amp;gt;{{Cite web|title=В России разблокирован крупнейший интернет-архив|url=https://rg.ru/2016/04/18/v-rossii-razblokirovan-krupnejshij-internet-arhiv.html|access-date=October 18, 2020|website=Российская газета|date=April 18, 2016 |language=ru|archive-date=April 5, 2019|archive-url=https://web.archive.org/web/20190405031631/https://rg.ru/2016/04/18/v-rossii-razblokirovan-krupnejshij-internet-arhiv.html|url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In March 2015, it was published that security researchers became aware of the threat posed by the service&#039;s unintentional [[Drive-by download|hosting of malicious binaries]] from archived sites.&amp;lt;ref&amp;gt;{{cite web |author=The VirusTotal Team |date=March 25, 2015 |title=207.241.226.190 IP address information |url=https://www.virustotal.com/en/ip-address/207.241.226.190/information/ |url-status=live |archive-url=https://web.archive.org/web/20140714232311/https://www.virustotal.com/en/ip-address/207.241.226.190/information/ |archive-date=July 14, 2014 |access-date=March 25, 2015 |website=virustotal.com |publisher=[[VirusTotal]] |quote=2015-03-25: Latest URLs hosted in this IP address detected by at least one URL scanner or malicious URL dataset. ... 2/62 2015-03-25 16:14:12 [complete URL redacted]/Renegotiating_TLS.pdf ... 1/62 2015-03-25 04:46:34 [complete URL redacted]/CBLightSetup.exe |location=Dublin, Ireland}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |date=March 25, 2015 |title=Safe Browsing Diagnostic page for archive.org |url=https://www.google.com/safebrowsing/diagnostic?site=archive.org |url-status=live |archive-url=https://web.archive.org/web/20150406101743/http://www.google.com/safebrowsing/diagnostic?site=archive.org |archive-date=April 6, 2015 |access-date=March 25, 2015 |website=google.com/safebrowsing |quote=2015-03-25: Part of this site was listed for suspicious activity 138 time(s) over the past 90 days. ... What happened when Google visited this site? ... Of the 42410 pages we tested on the site over the past 90 days, 450 page(s) resulted in malicious software being downloaded and installed without user consent. The last time Google visited this site was on 2015-03-25, and the last time suspicious content was found on this site was on 2015-03-25. ... Malicious software includes 169 trojan(s), 126 virus, 43 backdoor(s). |location=Mountain View, CA, US}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Alison Macrina]], director of the [[Library Freedom Project]], notes that &amp;quot;while librarians deeply value individual privacy, we also strongly oppose censorship&amp;quot;.&amp;lt;ref name=&amp;quot;Nelson&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is at least one case in which an article was removed from the archive shortly after it had been removed from its original website. A &#039;&#039;[[The Daily Beast|Daily Beast]]&#039;&#039; reporter had written an article that outed several gay Olympian athletes in 2016 after the reporter had made a fake profile posing as a gay man on a dating app. &#039;&#039;The Daily Beast&#039;&#039; removed the article after it was met with widespread furor; not long after, the Internet Archive soon did as well, but emphatically stated that they did so for no other reason than to protect the safety of the outed athletes.&amp;lt;ref name=&amp;quot;Nelson&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other threats include natural disasters,&amp;lt;ref&amp;gt;{{cite web |title=Help Us Keep the Archive Free, Accessible, and Reader Private {{!}} Internet Archive Blogs |date=November 29, 2016 |url=https://blog.archive.org/2016/11/29/help-us-keep-the-archive-free-accessible-and-private/ |access-date=May 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170521080543/http://blog.archive.org/2016/11/29/help-us-keep-the-archive-free-accessible-and-private/ |archive-date=May 21, 2017}}&amp;lt;/ref&amp;gt; destruction (both remote and physical),&amp;lt;ref&amp;gt;{{Cite web |url=https://www.engadget.com/2013-11-07-wayback-machine-internet-archive-fire.html |title=Wayback Machine web archive survives destructive fire but needs help to recover |last=Sakr |first=Sharif |date=November 7, 2013 |access-date=April 3, 2022 |archive-date=November 9, 2020 |archive-url=https://web.archive.org/web/20201109025136/https://www.engadget.com/2013-11-07-wayback-machine-internet-archive-fire.html}}&amp;lt;/ref&amp;gt; manipulation of the archive&#039;s contents, problematic copyright laws,&amp;lt;ref&amp;gt;{{cite web |title=Internet Archive: Proposed Changes To DMCA Would Make Us &amp;quot;Censor The Web&amp;quot; |url=https://consumerist.com/2016/06/07/internet-archive-proposed-changes-to-dmca-would-make-us-censor-the-web/ |publisher=Consumerist |access-date=May 14, 2017 |date=June 7, 2016 |url-status=live|archive-url=https://web.archive.org/web/20161111161239/https://consumerist.com/2016/06/07/internet-archive-proposed-changes-to-dmca-would-make-us-censor-the-web/ |archive-date=November 11, 2016}}&amp;lt;/ref&amp;gt; and surveillance of the site&#039;s users.&amp;lt;ref&amp;gt;{{cite web |last1=Herb |first1=Ulrich |title=Die Trump-Angst grassiert |date=December 6, 2016 |trans-title=The Trump fear is rampant |url=https://www.heise.de/tp/features/Die-Trump-Angst-grassiert-3549579.html |url-status=live |archive-url=https://web.archive.org/web/20161207164413/https://www.heise.de/tp/features/Die-Trump-Angst-grassiert-3549579.html |archive-date=December 7, 2016 |access-date=May 14, 2017 |publisher=heise online |language=de |quote=Die Betreiber des Archives fürchten neben Zensur und Manipulation der digitalen Aufzeichnungen demnach auch die Überwachung der Archive-Nutzer. [The operators of the archive fear not only censorship and manipulation of the digital recordings, but also the surveillance of the archive users].}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alexander Rose, executive director of the [[Long Now Foundation]], suspects that in the long term of multiple generations &amp;quot;next to nothing&amp;quot; will survive in a useful way, stating, &amp;quot;If we have continuity in our technological civilization, I suspect a lot of the bare data will remain findable and searchable. But I suspect almost nothing of the format in which it was delivered will be recognizable&amp;quot; because sites &amp;quot;with deep back-ends of content-management systems like Drupal and Ruby and Django&amp;quot; are harder to archive.&amp;lt;ref&amp;gt;{{cite journal |last1=LaFrance |first1=Adrienne |title=The Internet&#039;s Dark Ages |url=https://www.theatlantic.com/technology/archive/2015/10/raiders-of-the-lost-web/409210/ |journal=The Atlantic |date=October 14, 2015 |access-date=May 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20170507173716/https://www.theatlantic.com/technology/archive/2015/10/raiders-of-the-lost-web/409210/ |archive-date=May 7, 2017}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 2016, in an article reflecting on the preservation of human knowledge, &#039;&#039;[[The Atlantic]]&#039;&#039; has commented that the Internet Archive, which describes itself to be built for the long-term,&amp;lt;ref&amp;gt;{{cite web|title=The Entire Internet Will Be Archived In Canada to Protect It From Trump |url=https://motherboard.vice.com/en_us/article/the-entire-internet-will-be-archived-in-canada-to-protect-it-from-trump |publisher=Motherboard |access-date=May 14, 2017 |url-status=live|archive-url=https://web.archive.org/web/20170516221604/https://motherboard.vice.com/en_us/article/the-entire-internet-will-be-archived-in-canada-to-protect-it-from-trump |archive-date=May 16, 2017 |date=November 29, 2016 }}&amp;lt;/ref&amp;gt; &amp;quot;is working furiously to capture data before it disappears without any long-term infrastructure to speak of.&amp;quot;&amp;lt;ref&amp;gt;{{cite web|last1=LaFrance |first1=Adrienne |title=The Human Fear of Total Knowledge |url=https://www.theatlantic.com/technology/archive/2016/06/knowledge-compendia/485507/ |website=The Atlantic |access-date=May 14, 2017 |url-status=live |archive-url=https://web.archive.org/web/20161202040113/http://www.theatlantic.com/technology/archive/2016/06/knowledge-compendia/485507/ |archive-date=December 2, 2016 |date=June 3, 2016 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{wikinews|Data breach and DDOS attacks bring down Wayback Machine}}&lt;br /&gt;
In September 2024, the Internet Archive suffered a data breach that exposed 31 million records containing personal information, including email addresses and [[Cryptographic hash function|hashed]] passwords.&amp;lt;ref&amp;gt;{{Cite web |last=Shaikh |first=Roshan |date=October 10, 2024 |title=Internet Archive hacked and 31 million user accounts leaked — hacking group &#039;SN_Blackmeta&#039; claims responsibility |url=https://www.tomshardware.com/tech-industry/cyber-security/internet-archive-hacked-and-31-million-user-accounts-leaked-hacking-group-sn-blackmeta-claims-responsibility |access-date=December 30, 2024 |website=[[Tom&#039;s Hardware]]}}&amp;lt;/ref&amp;gt; On October 9, 2024, the site went down due to a [[distributed denial-of-service attack]].&amp;lt;ref&amp;gt;{{cite web|url=https://arstechnica.com/information-technology/2024/10/archive-org-a-repository-storing-the-entire-history-of-the-internet-has-been-hacked/|title=Archive.org, a repository of the history of the Internet, has a data breach|last=Goodin|first=Dan|date=October 9, 2024|work=[[Ars Technica]]|archive-url=https://archive.today/20241010115326/https://arstechnica.com/information-technology/2024/10/archive-org-a-repository-storing-the-entire-history-of-the-internet-has-been-hacked/|archive-date=October 10, 2024|url-status=live|access-date=October 10, 2024}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |last=Warren |first=Tom |title=The Internet Archive is back as a read-only service after cyberattacks |website=[[The Verge]] |date=October 14, 2024 |url=https://www.theverge.com/2024/10/14/24269741/internet-archive-online-read-only-data-breach-outage |access-date=October 14, 2024}}&amp;lt;/ref&amp;gt; On October 14, the site returned online, but it remained in read-only mode until November 4, during which time &amp;quot;Save Page Now&amp;quot; was disabled, replaced with a &amp;quot;Temporarily Unavailable&amp;quot; banner.&amp;lt;ref&amp;gt;{{cite web|url=https://web.archive.org/|title=Wayback Machine Homepage|date=October 24, 2024|archive-url=https://web.archive.org/web/20241024041605/https://web.archive.org/ |archive-date=October 24, 2024 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Div col}}&lt;br /&gt;
* [[Anna&#039;s Archive]]&lt;br /&gt;
* [[archive.today]]&lt;br /&gt;
* [[Heritrix]]&lt;br /&gt;
* [[Library Genesis]]&lt;br /&gt;
* [[Link rot]]&lt;br /&gt;
* [[List of Web archiving initiatives]]&lt;br /&gt;
* [[Time capsule]]&lt;br /&gt;
* [[Z-Library]]&lt;br /&gt;
{{Div col end}}&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{notelist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
{{Commons}}&lt;br /&gt;
{{Wiktionary|Wayback Machine}}&lt;br /&gt;
* {{Official website}}&lt;br /&gt;
* {{Cite video |title=Internet history is fragile. This archive is making sure it doesn&#039;t disappear |url=https://www.youtube.com/watch?v=K8I28erYFLc |archive-url=https://web.archive.org/web/20220106023827/https://www.youtube.com/watch?v=K8I28erYFLc |archive-date=January 6, 2022 |url-status=live |work=[[PBS Newshour]] |access-date=5 November 2024}}&lt;br /&gt;
&lt;br /&gt;
{{DigitalPreservation}}&lt;br /&gt;
{{Internet Archive navbox}}&lt;br /&gt;
&lt;br /&gt;
[[Category:1996 establishments in California]]&lt;br /&gt;
[[Category:501(c)(3) organizations]]&lt;br /&gt;
[[Category:History of the Internet|Archive]]&lt;br /&gt;
[[Category:Internet Archive projects]]&lt;br /&gt;
[[Category:Internet properties established in 1996]]&lt;br /&gt;
[[Category:Non-profit organizations based in San Francisco]]&lt;br /&gt;
[[Category:Web archiving initiatives]]&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Wayback_machine&amp;diff=1709</id>
		<title>Wayback machine</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Wayback_machine&amp;diff=1709"/>
		<updated>2025-03-28T14:06:50Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Wayback_machine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Wayback Machine]]&lt;br /&gt;
&lt;br /&gt;
{{Redirect category shell|&lt;br /&gt;
{{R from miscapitalisation}}&lt;br /&gt;
{{R from move}}&lt;br /&gt;
{{R unprintworthy}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Cite_web&amp;diff=1707</id>
		<title>Template:Cite web</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Cite_web&amp;diff=1707"/>
		<updated>2025-03-28T14:05:54Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Cite_web&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{&lt;br /&gt;
#if: {{#if: {{{url|}}} | {{#if: {{{title|}}} |1}}}}&lt;br /&gt;
  ||You must specify  &#039;&#039;&#039;&#039;&#039;title = &#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;url = &#039;&#039;&#039;&#039;&#039; when using {{[[Template:cite web|cite web]]}}.&lt;br /&gt;
{{#if: {{NAMESPACE}}|| [[Category:Articles with broken citations]]}}&lt;br /&gt;
}}{{&lt;br /&gt;
#if: {{{archiveurl|}}}{{{archivedate|}}} &lt;br /&gt;
  | {{#if: {{#if: {{{archiveurl|}}}| {{#if: {{{archivedate|}}} |1}}}}&lt;br /&gt;
    ||You must specify &#039;&#039;&#039;&#039;&#039;archiveurl = &#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;archivedate = &#039;&#039;&#039;&#039;&#039; when using {{[[Template:cite web|cite web]]}}.&lt;br /&gt;
{{#if: {{NAMESPACE}}|| [[Category:Articles with broken citations]]}}&lt;br /&gt;
}}&lt;br /&gt;
}}{{#if: {{{author|}}}{{{last|}}}&lt;br /&gt;
  | {{#if: {{{authorlink|}}}&lt;br /&gt;
    | [[{{{authorlink}}}|{{#if: {{{last|}}}&lt;br /&gt;
      | {{{last}}}{{#if: {{{first|}}} | , {{{first}}} }}&lt;br /&gt;
      | {{{author}}}&lt;br /&gt;
    }}]]&lt;br /&gt;
    | {{#if: {{{last|}}}&lt;br /&gt;
      | {{{last}}}{{#if: {{{first|}}} | , {{{first}}} }}&lt;br /&gt;
      | {{{author}}}&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
}}{{#if: {{{author|}}}{{{last|}}}&lt;br /&gt;
  | {{#if: {{{coauthors|}}}| &amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;&amp;amp;#32;{{{coauthors}}} }}&lt;br /&gt;
}}{{#if: {{{author|}}}{{{last|}}}|&lt;br /&gt;
    {{#if: {{{date|}}}&lt;br /&gt;
    | &amp;amp;#32;({{{date}}})&lt;br /&gt;
    | {{#if: {{{year|}}}&lt;br /&gt;
      | {{#if: {{{month|}}}&lt;br /&gt;
        | &amp;amp;#32;({{{month}}} {{{year}}})&lt;br /&gt;
        | &amp;amp;#32;({{{year}}})&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
  |}}&lt;br /&gt;
}}{{#if: {{{last|}}}{{{author|}}}&lt;br /&gt;
  | .&amp;amp;#32;}}{{&lt;br /&gt;
  #if: {{{editor|}}}&lt;br /&gt;
  | &amp;amp;#32;{{{editor}}}: &lt;br /&gt;
}}&amp;quot;{{#if: {{{archiveurl|}}}&lt;br /&gt;
   | {{#if: {{{archiveurl|}}} | {{#if: {{{title|}}} | [{{{archiveurl}}} {{{title}}}] }}}}&lt;br /&gt;
   | {{#if: {{{url|}}} | {{#if: {{{title|}}} | [{{{url}}} {{{title}}}] }}}}&lt;br /&gt;
}}&amp;quot;{{#if: {{{format|}}} | &amp;amp;#32;({{{format}}}) &lt;br /&gt;
}}{{#if:{{{language|}}} &lt;br /&gt;
  | &amp;amp;#32;(in {{{language}}})&lt;br /&gt;
}}{{#if: {{{work|}}}&lt;br /&gt;
  | .&amp;amp;#32;&#039;&#039;{{{work}}}&#039;&#039;&lt;br /&gt;
}}{{#if: {{{pages|}}}&lt;br /&gt;
  | &amp;amp;#32;{{{pages}}}&lt;br /&gt;
}}{{#if: {{{publisher|}}}&lt;br /&gt;
  | .&amp;amp;#32; {{#if: {{{location|}}}&lt;br /&gt;
    | {{{location}}}:&amp;amp;#32;&lt;br /&gt;
  }} {{{publisher}}}{{#if: {{{author|}}}{{{last|}}}&lt;br /&gt;
    | &lt;br /&gt;
    | {{#if: {{{date|}}}{{{year|}}}{{{month|}}} || }}&lt;br /&gt;
  }}&lt;br /&gt;
}}{{#if: {{{author|}}}{{{last|}}}&lt;br /&gt;
  ||{{#if: {{{date|}}}&lt;br /&gt;
    | &amp;amp;#32;({{{date}}})&lt;br /&gt;
    | {{#if: {{{year|}}}&lt;br /&gt;
      | {{#if: {{{month|}}}&lt;br /&gt;
        | &amp;amp;#32;({{{month}}} {{{year}}})&lt;br /&gt;
        | &amp;amp;#32;({{{year}}})&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
}}.{{#if: {{{archivedate|}}}&lt;br /&gt;
  | &amp;amp;#32;Archived from [{{{url}}} the original] on {{{archivedate}}}.&lt;br /&gt;
}}{{#if: {{{doi|}}} &lt;br /&gt;
  | &amp;amp;#32;[[Digital object identifier|doi]]:[http://dx.doi.org/{{{doi|{{{doilabel|}}}}}} {{{doi}}}].&lt;br /&gt;
}}{{#if: {{{accessdate|}}}&lt;br /&gt;
  | &amp;amp;#32;Retrieved on {{{accessdate}}}{{#if: {{{accessyear|}}} | , {{{accessyear}}} }}.&lt;br /&gt;
}}{{#if: {{{accessmonthday|}}}&lt;br /&gt;
  | &amp;amp;#32;Retrieved on {{{accessmonthday}}}{{#if: {{{accessyear|}}} | , {{{accessyear}}} }}.&lt;br /&gt;
}}{{#if: {{{accessdaymonth|}}}&lt;br /&gt;
  | &amp;amp;#32;Retrieved on {{{accessdaymonth}}}{{#if: {{{accessyear|}}} | &amp;amp;#32;{{{accessyear}}} }}.&lt;br /&gt;
}}{{#if: {{{quote|}}} &lt;br /&gt;
  | &amp;amp;nbsp;&amp;quot;{{{quote}}}&amp;quot;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Loop&amp;diff=1701</id>
		<title>Template:Loop</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Loop&amp;diff=1701"/>
		<updated>2025-03-28T14:02:25Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Loop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:String|rep|1={{{2|}}}|2={{{1|&amp;lt;noinclude&amp;gt;1&amp;lt;/noinclude&amp;gt;}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go in Wikidata --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Citation/identifier&amp;diff=1699</id>
		<title>Template:Citation/identifier</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Citation/identifier&amp;diff=1699"/>
		<updated>2025-03-28T14:02:25Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Citation/identifier&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch:{{{identifier}}}&lt;br /&gt;
 |arxiv=[[w:arXiv|arXiv]]:[https://arxiv.org/abs/{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |asin=[[w:Amazon Standard Identification Number|ASIN]]&amp;amp;nbsp;[https://www.amazon.&amp;lt;!--&lt;br /&gt;
     --&amp;gt;{{#switch: {{{input2|}}}&lt;br /&gt;
          |ca=ca&lt;br /&gt;
          |cn=cn&lt;br /&gt;
          |de=de&lt;br /&gt;
          |ed=es&lt;br /&gt;
          |fr=fr&lt;br /&gt;
          |it=it&lt;br /&gt;
          |jp=co.jp&lt;br /&gt;
          |co.jp=co.jp&lt;br /&gt;
          |uk=co.uk&lt;br /&gt;
          |co.uk=co.uk&lt;br /&gt;
          |#default=com&lt;br /&gt;
         }}/dp/{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |bibcode=[[w:Bibcode|Bibcode]] [https://adsabs.harvard.edu/abs/{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |doi={{#ifeq:{{str left|{{{input1|}}}|3}}|10.&lt;br /&gt;
         |{{#if:{{{input2|}}}&lt;br /&gt;
           |[[w:Digital object identifier|doi]]:{{{input1|}}} (inactive {{{input2|}}}) &amp;lt;!--&lt;br /&gt;
            --&amp;gt;{{#ifeq:{{NAMESPACE}}|{{ns:0}}&lt;br /&gt;
                |[[Category:Pages with DOIs inactive since {{#time: Y | {{{input2|}}} }}]]&lt;br /&gt;
                |&lt;br /&gt;
               }}&lt;br /&gt;
           |[[w:Digital object identifier|doi]]:[https://dx.doi.org/{{urlencode:{{{input1|}}}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
          }}&lt;br /&gt;
         |{{citation error|nocat={{{input3|}}}|cat=Pages with DOI errors|Bad DOI specified}}&lt;br /&gt;
        }}&lt;br /&gt;
&lt;br /&gt;
 |isbn={{ISBN|{{{input1|}}}}}&lt;br /&gt;
&lt;br /&gt;
 |issn=[[w:International Standard Serial Number|ISSN]]&amp;amp;nbsp;[https://www.worldcat.org/issn/{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |jfm=[[w:Jahrbuch über die Fortschritte der Mathematik|JFM]]&amp;amp;nbsp;[http://www.zentralblatt-math.org/zmath/en/search/?q{{=}}an:{{{input1|}}}&amp;amp;format{{=}}complete {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |jstor=[[w:JSTOR|JSTOR]]&amp;amp;nbsp;[http://www.jstor.org/stable/{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |lccn=[[w:Library of Congress Control Number|LCCN]]&amp;amp;nbsp;[http://lccn.loc.gov/{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |mr=[[w:Mathematical Reviews|MR]]&amp;amp;nbsp;[http://www.ams.org/mathscinet-getitem?mr{{=}}{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |oclc=[[w:OCLC|OCLC]]&amp;amp;nbsp;[https://www.worldcat.org/oclc/{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |ol={{#if:{{str endswith|{{{input1|}}}|A}}&lt;br /&gt;
          |[[w:Open Library|OL]][http://openlibrary.org/authors/OL{{urlencode:{{{input1|}}}}} {{{input1|}}}]&lt;br /&gt;
          |{{#if:{{str endswith|{{{input1|}}}|M}}&lt;br /&gt;
            |[[w:Open Library|OL]][http://openlibrary.org/books/OL{{urlencode:{{{input1|}}}}} {{{input1|}}}]&lt;br /&gt;
            |{{#if:{{str endswith|{{{input1|}}}|W}}&lt;br /&gt;
              |[[w:Open Library|OL]][http://openlibrary.org/works/OL{{urlencode:{{{input1|}}}}} {{{input1|}}}]&lt;br /&gt;
              |&amp;lt;includeonly&amp;gt;[[Category:Pages with OL errors]]&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Error: Bad OL specified!&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
             }}&lt;br /&gt;
           }}&lt;br /&gt;
         }}&lt;br /&gt;
&lt;br /&gt;
 |osti=[[w:Office of Scientific and Technical Information|OSTI]]&amp;amp;nbsp;[http://www.osti.gov/energycitations/product.biblio.jsp?osti_id{{=}}{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |pmc=[[w:PubMed Central|PMC]]&amp;amp;nbsp;[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |pmid=[[w:PubMed Identifier|PMID]]&amp;amp;nbsp;[https://www.ncbi.nlm.nih.gov/pubmed/{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |rfc=[[w:Request for Comments|RFC]]&amp;amp;nbsp;[https://tools.ietf.org/html/rfc{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |ssrn=[[w:Social Science Research Network|SSRN]]&amp;amp;nbsp;[http://ssrn.com/abstract{{=}}{{{input1|}}} {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
 |zbl=[[w:Zentralblatt MATH|Zbl]]&amp;amp;nbsp;[http://www.zentralblatt-math.org/zmath/en/search/?q{{=}}an:{{{input1|}}}&amp;amp;format{{=}}complete {{#tag:nowiki|{{{input1|}}}}}]&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Str_left&amp;diff=1695</id>
		<title>Template:Str left</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Str_left&amp;diff=1695"/>
		<updated>2025-03-28T14:02:25Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Str_left&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{safesubst:padleft:|{{{2|1}}}|{{{1}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Cite_book/doc&amp;diff=1693</id>
		<title>Template:Cite book/doc</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Cite_book/doc&amp;diff=1693"/>
		<updated>2025-03-28T14:02:25Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Cite_book/doc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
When citing an article in a periodical, use {{tl|cite journal}}.&lt;br /&gt;
{{Dependencies|Template:Citation/core}}&lt;br /&gt;
== Usage ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; style=&amp;quot;overflow:scroll;&amp;quot;&amp;gt;{{cite book |last1= |first1= |authorlink1= |last2= |first2= |authorlink2= |editor1-first= |editor1-last= |editor1-link= |others= |title= |trans_title= |url= |archiveurl= |archivedate= |format= |accessdate= |type= |edition= |series= |volume= |date= |year= |month= |origyear= |publisher= |location= |language= |isbn= |oclc= |doi= |id= |page= |pages= |at= |trans_chapter= |chapter= |chapterurl= |quote= |ref= |bibcode= |laysummary= |laydate= |author-mask= |author-name-separator= |author-separator= |display-authors= |separator= |postscript= |lastauthoramp=}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Common use: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last= |first= |authorlink= |title= |url= |accessdate= |year= |publisher= |location= |isbn= |page= |pages=}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Common use (dd mmm yyyy): &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last= |first= |authorlink= |title= |url= |accessdate={{subst:CURRENTDAY2}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}} |year= |publisher= |location= |isbn= |page= |pages=}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Common use (mmm dd, yyyy): &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last= |first= |authorlink= |title= |url= |accessdate={{subst:CURRENTMONTHNAME}} {{subst:CURRENTDAY2}}, {{subst:CURRENTYEAR}} |year= |publisher= |location= |isbn= |page= |pages=}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Substing the [[w:Help:Magic words|Magic words]]: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{subst:CURRENTDAY2}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; will automatically convert this to the current date as : {{CURRENTDAY2}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;margin:0px;&amp;quot;&amp;gt;&lt;br /&gt;
{{cite book&lt;br /&gt;
| last                  =&lt;br /&gt;
| first                 =&lt;br /&gt;
| authorlink            =&lt;br /&gt;
| last[n]               =&lt;br /&gt;
| first[n]              =&lt;br /&gt;
| authorlink[n]         =&lt;br /&gt;
| editor-last           =&lt;br /&gt;
| editor-first          =&lt;br /&gt;
| editor-link           =&lt;br /&gt;
| editor[n]-last        =&lt;br /&gt;
| editor[n]-first       =&lt;br /&gt;
| editor[n]-link        =&lt;br /&gt;
| others                =&lt;br /&gt;
| title                 =&lt;br /&gt;
| trans_title           =&lt;br /&gt;
| url                   =&lt;br /&gt;
| archiveurl            =&lt;br /&gt;
| archivedate           =&lt;br /&gt;
| format                =&lt;br /&gt;
| accessdate            =&lt;br /&gt;
| type                  =&lt;br /&gt;
| edition               =&lt;br /&gt;
| series                =&lt;br /&gt;
| volume                =&lt;br /&gt;
| date                  =&lt;br /&gt;
| origyear              =&lt;br /&gt;
| year                  =&lt;br /&gt;
| month                 =&lt;br /&gt;
| publisher             =&lt;br /&gt;
| location              =&lt;br /&gt;
| language              =&lt;br /&gt;
| isbn                  =&lt;br /&gt;
| oclc                  =&lt;br /&gt;
| lccn                  =&lt;br /&gt;
| doi                   =&lt;br /&gt;
| bibcode               =&lt;br /&gt;
| id                    =&lt;br /&gt;
| page                  =&lt;br /&gt;
| pages                 =&lt;br /&gt;
| nopp                  =&lt;br /&gt;
| at                    =&lt;br /&gt;
| chapter               =&lt;br /&gt;
| trans_chapter         =&lt;br /&gt;
| chapterurl            =&lt;br /&gt;
| quote                 =&lt;br /&gt;
| ref                   =&lt;br /&gt;
| laysummary            =&lt;br /&gt;
| laydate               =&lt;br /&gt;
| author-mask           =&lt;br /&gt;
| author-name-separator =&lt;br /&gt;
| author-separator      =&lt;br /&gt;
| display-authors       =&lt;br /&gt;
| separator             =&lt;br /&gt;
| postscript            =&lt;br /&gt;
| lastauthoramp         =&lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;FULL Documentation can be found [https://en.wikipedia.org/w/index.php?title=Template:Cite_book/doc&amp;amp;oldid=525424080 here]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&#039;&#039;&#039;Title&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |title=Mysterious book}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |title=Mysterious book}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Title and year&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |title=Mysterious book |year=1901}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |title=Mysterious book |year=1901}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic usage (single author)&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last=Bloggs |first=Joe |authorlink=Joe Bloggs |year=1974 |title=Book of Bloggs}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last=Bloggs |first=Joe |authorlink=Joe Bloggs |year=1974 |title=Book of Bloggs}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic usage (two authors)&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last1=Bloggs |first1=Joe |authorlink1=Joe Bloggs |last2=Bloggs |first2=Fred |authorlink2=Fred Bloggs |year=1974 |title=Book of Bloggs}}:&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last1=Bloggs |first1=Joe |authorlink1=Joe Bloggs |last2=Bloggs |first2=Fred |authorlink2=Fred Bloggs |year=1974 |title=Book of Bloggs}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Basic usage with url (and accessdate) and edition&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last=Bloggs |first=Joe |authorlink=Joe Bloggs |year=1974 |title=Book of Bloggs |edition=1st |url=http://en.wikipedia.org/ |accessdate=February 17, 2006}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last=Bloggs |first=Joe |authorlink=Joe Bloggs |year=1974 |title=Book of Bloggs |edition=1st |url=http://en.wikipedia.org/ |accessdate=February 17, 2006}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Citing a chapter in a book with different authors for different chapters and an editor&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last=Bloggs |first=Fred |editor-first=John |editor-last=Doe |title=Big Compilation Book With Many Chapters and distinct chapter authors |publisher=Book Publishers |date=January 1, 2001 |pages=100–110 |chapter=Chapter 2: The History Of The Bloggs Family |isbn=1234567890}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last=Bloggs |first=Fred |editor-first=John |editor-last=Doe |title=Big Compilation Book With Many Chapters and distinct chapter authors |publisher=Book Publishers |date=January 1, 2001 |pages=100–110 |chapter=Chapter 2: The History Of The Bloggs Family |isbn=1234567890}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Citing a chapter in a book with two joint authors and an editor&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last1=Bloggs |first1=Joe |last2=Egg |first2=Fred |editor-last=Doe |editor-first=John |title=Big Book With Many Chapters and two co-authors |publisher=Book Publishers |date=January 1, 2001 |origyear=1st. Pub. 1986 |pages=100–110 |chapter=Chapter 6: Getting There |chapterurl=http://en.wikipedia.org/ |isbn=1234567890 |lastauthoramp=y}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last1=Bloggs |first1=Joe |last2=Egg |first2=Fred |editor-last=Doe |editor-first=John |title=Big Book With Many Chapters and two co-authors |publisher=Book Publishers |date=January 1, 2001 |origyear=1st. Pub. 1986 |pages=100–110 |chapter=Chapter 6: Getting There |chapterurl=http://en.wikipedia.org/ |isbn=1234567890 |lastauthoramp=y}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Three authors, title with a piped wikilink, edition&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last1=Bloggs |first1=Joe |authorlink1=Joe Bloggs |first2=John |last2=Smith |first3=Jim |last3=Smythe |title=[[A Thousand Acres|1000 Acres]] |edition=2nd}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last1=Bloggs |first1=Joe |authorlink1=Joe Bloggs |first2=John |last2=Smith |first3=Jim |last3=Smythe |title=[[A Thousand Acres|1000 Acres]] |edition=2nd}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Complex usage showing effect of using volume parameter and lastauthoramp parameter (without volume and lastauthoramp)&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |first2=Commander G.M.S |last2=Stitt |first3=Brigadier C.J.C. |last3=Molony |first4=Air Vice-Marshal S.E. |last4=Toomer |editor-first=J.R.M |editor-last=Butler |series=History of the Second World War, United Kingdom Military Series |title=Mediterranean and Middle East. Volume I: The Early Successes Against Italy (to May 1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2007 |origyear=1st. pub. [[HMSO]]:1954 |isbn=1-845740-65-3}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |first2=Commander G.M.S |last2=Stitt |first3=Brigadier C.J.C. |last3=Molony |first4=Air Vice-Marshal S.E. |last4=Toomer |editor-first=J.R.M |editor-last=Butler |series=History of the Second World War, United Kingdom Military Series |title=Mediterranean and Middle East. Volume I: The Early Successes Against Italy (to May 1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2007 |origyear=1st. pub. [[HMSO]]:1954 |isbn=1-845740-65-3}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Complex usage showing effect of using volume parameter and lastauthoramp parameter (with volume and lastauthoramp)&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |first2=Commander G.M.S |last2=Stitt |first3=Brigadier C.J.C. |last3=Molony |first4=Air Vice-Marshal S.E. |last4=Toomer |editor-first=J.R.M |editor-last=Butler |series=History of the Second World War, United Kingdom Military Series |title=Mediterranean and Middle East |volume=Volume I: The Early Successes Against Italy (to May 1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2007 |origyear=1st. pub. [[HMSO]]:1954 |isbn=1-845740-65-3 |lastauthoramp=y}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |first2=Commander G.M.S |last2=Stitt |first3=Brigadier C.J.C. |last3=Molony |first4=Air Vice-Marshal S.E. |last4=Toomer |editor-first=J.R.M |editor-last=Butler |series=History of the Second World War, United Kingdom Military Series |title=Mediterranean and Middle East |volume=Volume I: The Early Successes Against Italy (to May 1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2007 |origyear=1st. pub. [[HMSO]]:1954 |isbn=1-845740-65-3 |lastauthoramp=y}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Date without day, wikilinked title and publisher, pages, edition, location&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last1=Cordell |first1=Bruce R. |last2=Grubb |first2=Jeff |last3=Noonan |first3=David |year=2001 |month=September |title=[[Manual of the Planes]] |edition=3rd |publisher=[[Wizards of the Coast]] |location=Renton, Wash. |isbn=0-7869-1850-0 |pages=134–137}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last1=Cordell |first1=Bruce R. |last2=Grubb |first2=Jeff |last3=Noonan |first3=David |year=2001 |month=September |title=[[Manual of the Planes]] |edition=3rd |publisher=[[Wizards of the Coast]] |location=Renton, Wash. |isbn=0-7869-1850-0 |pages= 134–137}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other language&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last=Bloggs |first=Jean |year=1974 |title=Livre de Bloggs |edition=1st |language=French |trans_title=Book of Bloggs |url=http://en.wikipedia.org/ |accessdate=February 17, 2006}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last=Bloggs |first=Jean |year=1974 |title=Livre de Bloggs |edition=1st |language=French |trans_title=Book of Bloggs |url=http://en.wikipedia.org/ |accessdate=February 17, 2006}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using a [[Digital object identifier|DOI]]&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |last=Mumford |first=David |authorlink=David Mumford |year=1999 |title=The Red Book of Varieties and Schemes: Includes the Michigan Lectures (1974) on Curves and Their Jacobians |edition=2nd |publisher=[[Springer-Verlag]] |doi=10.1007/b62130 |isbn=354063293X}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |last=Mumford |first=David |authorlink=David Mumford |year=1999 |title=The Red Book of Varieties and Schemes: Includes the Michigan Lectures (1974) on Curves and Their Jacobians |edition=2nd |publisher=[[Springer-Verlag]] |doi=10.1007/b62130 |isbn=354063293X}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using author-mask parameter&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |last2=Stitt |first2=Commander G.M.S |last3=Molony |first3=Brigadier C.J.C. |last4=Toomer |first4=Air Vice-Marshal S.E. |editor-last=Butler |editor-first=J.R.M |editor-link=James Ramsay Montagu Butler |series=History of the Second World War, United Kingdom Military Series |title=Mediterranean and Middle East Volume I: The Early Successes Against Italy (to May 1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2004 |origyear=1st. pub. [[HMSO]]:1954 |isbn=1-845740-65-3 |lastauthoramp=y}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |last2=Flynn |first2=Captain F.C. (R.N.) |last3=Molony |first3=Brigadier C.J.C. |last4=Toomer |first4=Air Vice-Marshal S.E. |editor-last=Butler |editor-first=J.R.M |editor-link=James Ramsay Montagu Butler |series=History of the Second World War, United Kingdom Military Series |title=The Mediterranean and Middle East, Volume II: The Germans come to the help of their Ally (1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2004 |origyear=1st. pub. [[HMSO]]:1956 |isbn=1-845740-66-1 |lastauthoramp=y |author-mask=2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |last2=Flynn |first2=Captain F.C. (R.N.) |last3=Molony |first3=Brigadier C.J.C. |last4=Gleave |first4=Group Captain T.P. |editor-last=Butler |editor-first=Sir James |editor-link=James Ramsay Montagu Butler |series=History of the Second World War, United Kingdom Military Series |title=The Mediterranean and Middle East, Volume III: British Fortunes reach their Lowest Ebb (September 1941 to September 1942) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2004 |origyear=1st. pub. [[HMSO]]:1960 |isbn=1-845740-67-X |lastauthoramp=y |author-mask=2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=I. S. O. Playfair |last2=Stitt |first2=Commander G.M.S |last3=Molony |first3=Brigadier C.J.C. |last4=Toomer |first4=Air Vice-Marshal S.E. |editor-last=Butler |editor-first=J.R.M |editor-link=James Ramsay Montagu Butler |series=History of the Second World War, United Kingdom Military Series |title=Mediterranean and Middle East Volume I: The Early Successes Against Italy (to May 1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2004 |origyear=1st. pub. [[HMSO]]:1954 |isbn=1-845740-65-3 |lastauthoramp=y}}&lt;br /&gt;
:{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |last2=Flynn |first2=Captain F.C. (R.N.) |last3=Molony |first3=Brigadier C.J.C. |last4=Toomer |first4=Air Vice-Marshal S.E. |editor-last=Butler |editor-first=J.R.M |editor-link=James Ramsay Montagu Butler |series=History of the Second World War, United Kingdom Military Series |title=The Mediterranean and Middle East, Volume II: The Germans come to the help of their Ally (1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2004 |origyear=1st. pub. [[HMSO]]:1956 |isbn=1-845740-66-1 |lastauthoramp=y |author-mask=2}}&lt;br /&gt;
:{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |last2=Flynn |first2=Captain F.C. (R.N.) |last3=Molony |first3=Brigadier C.J.C. |last4=Gleave |first4=Group Captain T.P. |editor-last=Butler |editor-first=Sir James |editor-link=James Ramsay Montagu Butler |series=History of the Second World War, United Kingdom Military Series |title=The Mediterranean and Middle East, Volume III: British Fortunes reach their Lowest Ebb (September 1941 to September 1942) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2004 |origyear=1st. pub. [[HMSO]]:1960 |isbn=1-845740-67-X |lastauthoramp=y |author-mask=2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Using display-authors parameter&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |last2=Stitt |first2=Commander G.M.S |last3=Molony |first3=Brigadier C.J.C. |last4=Toomer |first4=Air Vice-Marshal S.E. |editor-last=Butler |editor-first=J.R.M |editor-link=James Ramsay Montagu Butler |series=History of the Second World War, United Kingdom Military Series |title=Mediterranean and Middle East Volume I: The Early Successes Against Italy (to May 1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2004 |origyear=1st. pub. [[HMSO]]:1954 |isbn=1-845740-65-3 |display-authors=1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:{{cite book |first1=Major-General I.S.O. |last1=Playfair |authorlink1=Ian Stanley Ord Playfair |last2=Stitt |first2=Commander G.M.S |last3=Molony |first3=Brigadier C.J.C. |last4=Toomer |first4=Air Vice-Marshal S.E. |editor-last=Butler |editor-first=J.R.M |editor-link=James Ramsay Montagu Butler |series=History of the Second World War, United Kingdom Military Series |title=Mediterranean and Middle East Volume I: The Early Successes Against Italy (to May 1941) |publisher=Naval &amp;amp; Military Press |location=Uckfield, UK |year=2004 |origyear=1st. pub. [[HMSO]]:1954 |isbn=1-845740-65-3 |display-authors=1}}&lt;br /&gt;
&lt;br /&gt;
==Citation Templates==&lt;br /&gt;
* [[Template:Citation]]&lt;br /&gt;
* [[Template:Cite book]]&lt;br /&gt;
* [[Template:Cite journal]]&lt;br /&gt;
* [[Template:Cite news]]&lt;br /&gt;
* [[Template:Cite web]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Citation templates]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:ISBN&amp;diff=1691</id>
		<title>Template:ISBN</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:ISBN&amp;diff=1691"/>
		<updated>2025-03-28T14:02:25Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:ISBN&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;ISBN [[Special:BookSources/{{{1}}}|{{{1}}}]]&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Tl&amp;diff=1687</id>
		<title>Template:Tl</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Tl&amp;diff=1687"/>
		<updated>2025-03-28T14:02:24Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Tl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Template link]]&lt;br /&gt;
&lt;br /&gt;
{{Redirect category shell|&lt;br /&gt;
{{R from move}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Template_link&amp;diff=1685</id>
		<title>Template:Template link</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Template_link&amp;diff=1685"/>
		<updated>2025-03-28T14:02:24Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Template_link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;&amp;amp;#123;&amp;amp;#123;&amp;lt;/span&amp;gt;[[Template:{{{1}}}|{{{1}}}]]&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;&amp;amp;#125;&amp;amp;#125;&amp;lt;/span&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Documentation_subpage&amp;diff=1683</id>
		<title>Template:Documentation subpage</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Documentation_subpage&amp;diff=1683"/>
		<updated>2025-03-28T14:02:24Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Documentation_subpage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{#ifeq:{{lc:{{SUBPAGENAME}}}} |{{{override|doc}}}&lt;br /&gt;
     | &amp;lt;!--(this template has been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#ifeq:{{{doc-notice|show}}} |show&lt;br /&gt;
          | {{Mbox&lt;br /&gt;
             | type = notice&lt;br /&gt;
             | style = margin-bottom:1.0em;&lt;br /&gt;
             | image = [[File:Edit-copy green.svg|40px|alt=|link=]]&lt;br /&gt;
             | text =&lt;br /&gt;
{{strong|This is a [[Wikipedia:Template documentation|documentation]] [[Wikipedia:Subpages|subpage]]}} for {{terminate sentence|{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}}}&amp;lt;br /&amp;gt;It may contain usage information, [[Wikipedia:Categorization|categories]] and other content that is not part of the original {{#if:{{{text2|}}} |{{{text2}}} |{{#if:{{{text1|}}} |{{{text1}}} |{{#ifeq:{{SUBJECTSPACE}} |{{ns:User}} |{{lc:{{SUBJECTSPACE}}}} template page |{{#if:{{SUBJECTSPACE}} |{{lc:{{SUBJECTSPACE}}}} page|article}}}}}}}}. &lt;br /&gt;
            }}&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#if:{{{inhibit|}}} |&amp;lt;!--(don&#039;t categorize)--&amp;gt;&lt;br /&gt;
          |   &amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
               --&amp;gt;{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}}&lt;br /&gt;
                   | [[Category:{{#switch:{{SUBJECTSPACE}} |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]&lt;br /&gt;
                   | [[Category:Documentation subpages without corresponding pages]]&lt;br /&gt;
                  }}&amp;lt;!--&lt;br /&gt;
           --&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
(completing initial #ifeq: at start of template:)&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
     | &amp;lt;!--(this template has not been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
    }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Cite_book&amp;diff=1681</id>
		<title>Template:Cite book</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Cite_book&amp;diff=1681"/>
		<updated>2025-03-28T14:02:24Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Cite_book&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Citation/core |Citation class=book&lt;br /&gt;
|Surname1={{{last|{{{last1|{{{author|{{{author1|{{{authors|{{{surname|{{{surname1|}}}}}}}}}}}}}}}}}}}}}&lt;br /&gt;
|Surname2={{{last2|{{{author2|{{{surname2|}}}}}}}}}&lt;br /&gt;
|Surname3={{{last3|{{{author3|{{{surname3|}}}}}}}}}&lt;br /&gt;
|Surname4={{{last4|{{{author4|{{{surname4|}}}}}}}}}&lt;br /&gt;
|Surname5={{{last5|{{{author5|{{{surname5|}}}}}}}}}&lt;br /&gt;
|Surname6={{{last6|{{{author6|{{{surname6|}}}}}}}}}&lt;br /&gt;
|Surname7={{{last7|{{{author7|{{{surname7|}}}}}}}}}&lt;br /&gt;
|Surname8={{{last8|{{{author8|{{{surname8|}}}}}}}}}&lt;br /&gt;
|Surname9={{{last9|{{{author9|{{{surname9|}}}}}}}}}&lt;br /&gt;
|Given1={{{first|{{{first1|{{{given|{{{given1|}}}}}}}}}}}}&lt;br /&gt;
|Given2={{{first2|{{{given2|}}}}}}&lt;br /&gt;
|Given3={{{first3|{{{given3|}}}}}}&lt;br /&gt;
|Given4={{{first4|{{{given4|}}}}}}&lt;br /&gt;
|Given5={{{first5|{{{given5|}}}}}}&lt;br /&gt;
|Given6={{{first6|{{{given6|}}}}}}&lt;br /&gt;
|Given7={{{first7|{{{given7|}}}}}}&lt;br /&gt;
|Given8={{{first8|{{{given8|}}}}}}&lt;br /&gt;
|Given9={{{first9|{{{given9|}}}}}}&lt;br /&gt;
|Authorlink1={{{authorlink|{{{authorlink1|{{{author-link|{{{author1-link|}}}}}}}}}}}}&lt;br /&gt;
|Authorlink2={{{authorlink2|{{{author2-link|}}}}}}&lt;br /&gt;
|Authorlink3={{{authorlink3|{{{author3-link|}}}}}}&lt;br /&gt;
|Authorlink4={{{authorlink4|{{{author4-link|}}}}}}&lt;br /&gt;
|Authorlink5={{{authorlink5|{{{author5-link|}}}}}}&lt;br /&gt;
|Authorlink6={{{authorlink6|{{{author6-link|}}}}}}&lt;br /&gt;
|Authorlink7={{{authorlink7|{{{author7-link|}}}}}}&lt;br /&gt;
|Authorlink8={{{authorlink8|{{{author8-link|}}}}}}&lt;br /&gt;
|Authorlink9={{{authorlink9|{{{author9-link|}}}}}}&lt;br /&gt;
|Coauthors={{{coauthors|{{{coauthor|}}}}}}&lt;br /&gt;
|Other={{{others|}}}&lt;br /&gt;
|Year={{{year|{{    &amp;lt;!-- attempt to derive year from date, if possible --&amp;gt;&lt;br /&gt;
           #if: {{{date|}}}&lt;br /&gt;
           |{{&lt;br /&gt;
              #iferror:{{#time:Y|{{{date|}}} }}&lt;br /&gt;
              |{{#iferror:{{#time:Y|{{{publication-date|einval}}} }}||{{#time:Y|{{{publication-date|}}} }}}}&lt;br /&gt;
              |{{#time:Y|{{{date|}}} }}&lt;br /&gt;
            }}&lt;br /&gt;
           |{{{publication-date|}}} &amp;lt;!-- last resort --&amp;gt;&lt;br /&gt;
         }}&lt;br /&gt;
      }}}&lt;br /&gt;
|YearNote={{{origyear|}}}&lt;br /&gt;
|Date={{#if:{{{date|}}}|{{{date}}}|{{{day|}}} {{{month|}}} {{{year|{{{publication-date|}}}}}}}}&lt;br /&gt;
|Title={{{title|}}}&lt;br /&gt;
|TransTitle={{{trans_chapter|}}}&lt;br /&gt;
|TransItalic={{{trans_title|}}}&lt;br /&gt;
|IncludedWorkTitle={{{chapter|{{{contribution|{{{section|}}}}}}}}}&lt;br /&gt;
|TitleType={{{type|}}}&lt;br /&gt;
|language={{{language|}}}&lt;br /&gt;
|URL={{#if:{{{archiveurl|}}}&lt;br /&gt;
       |{{#ifeq: {{{deadurl|}}} | no | {{{url|}}} | {{{archiveurl|}}}}}&lt;br /&gt;
       |{{{url|}}}&lt;br /&gt;
     }}&lt;br /&gt;
|IncludedWorkURL={{{chapter-url|{{{chapterurl|{{{contribution-url|{{{sectionurl|}}}}}}}}}}}}&lt;br /&gt;
|AccessDate={{{accessdate|}}}&lt;br /&gt;
|OriginalURL={{{url|}}}&lt;br /&gt;
|ArchiveURL={{{archiveurl|}}}&lt;br /&gt;
|ArchiveDate={{{archivedate|}}}&lt;br /&gt;
|DeadURL={{{deadurl|}}}&lt;br /&gt;
|format={{{format|}}}&lt;br /&gt;
|At={{#if: {{{page|}}}|{{#if:{{{nopp|}}}||p.&amp;amp;nbsp;}}{{{page}}}&lt;br /&gt;
      |{{#if: {{{pages|}}}|{{#if:{{{nopp|}}}||pp.&amp;amp;nbsp;}}{{{pages}}}&lt;br /&gt;
      |{{{at|}}}}}&lt;br /&gt;
    }}&lt;br /&gt;
|Edition={{{edition|}}}&lt;br /&gt;
|Series={{{series|{{{version|}}}}}}&lt;br /&gt;
|Volume={{{volume|}}}&lt;br /&gt;
|Publisher={{{publisher|}}}&lt;br /&gt;
|Place={{{location|{{{place|}}}}}}&lt;br /&gt;
|PublicationPlace={{{location|{{{place|{{{publication-place|}}}}}}}}}&lt;br /&gt;
|PublicationDate={{{publication-date|}}}&lt;br /&gt;
|EditorSurname1={{{editor-last|{{{editor1-last|{{{editor|{{{editors|{{{editor-surname|{{{editor1-surname|}}}}}}}}}}}}}}}}}}&lt;br /&gt;
|EditorSurname2={{{editor2-last|{{{editor2-surname|}}}}}}&lt;br /&gt;
|EditorSurname3={{{editor3-last|{{{editor3-surname|}}}}}}&lt;br /&gt;
|EditorSurname4={{{editor4-last|{{{editor4-surname|}}}}}}&lt;br /&gt;
|EditorGiven1={{{editor-first|{{{editor1-first|{{{editor-given|{{{editor1-given|}}}}}}}}}}}}&lt;br /&gt;
|EditorGiven2={{{editor2-first|{{{editor2-given|}}}}}}&lt;br /&gt;
|EditorGiven3={{{editor3-first|{{{editor3-given|}}}}}}&lt;br /&gt;
|EditorGiven4={{{editor4-first|{{{editor4-given|}}}}}}&lt;br /&gt;
|Editorlink1={{{editor-link|{{{editor1-link|}}}}}}&lt;br /&gt;
|Editorlink2={{{editor2-link|}}}&lt;br /&gt;
|Editorlink3={{{editor3-link|}}}&lt;br /&gt;
|Editorlink4={{{editor4-link|}}}&lt;br /&gt;
|ARXIV={{{arxiv|}}}&lt;br /&gt;
|ASIN={{{asin|{{{ASIN|}}}}}}&lt;br /&gt;
|ASIN-TLD={{{asin-tld|}}}&lt;br /&gt;
|BIBCODE={{{bibcode|}}}&lt;br /&gt;
|DOI={{{doi|{{{DOI|}}}}}}&lt;br /&gt;
|DoiBroken={{{doi_brokendate|{{{doi_inactivedate|}}}}}}&lt;br /&gt;
|ISBN={{{isbn|{{{ISBN|}}}}}}&lt;br /&gt;
|ISSN={{{issn|{{{ISSN|}}}}}}&lt;br /&gt;
|JFM={{{jfm|{{{JFM|}}}}}}&lt;br /&gt;
|JSTOR={{{jstor|{{{JSTOR|}}}}}}&lt;br /&gt;
|LCCN={{{lccn|{{{LCCN|}}}}}}&lt;br /&gt;
|MR={{{mr|{{{MR|}}}}}}&lt;br /&gt;
|OCLC={{{oclc|{{{OCLC|}}}}}}&lt;br /&gt;
|OL={{{ol|{{{OL|}}}}}}&lt;br /&gt;
|OSTI={{{osti|{{{OSTI|}}}}}}&lt;br /&gt;
|PMC={{{pmc|{{{PMC|}}}}}}&lt;br /&gt;
|PMID={{{pmid|{{{PMID|}}}}}}&lt;br /&gt;
|RFC={{{rfc|{{{RFC|}}}}}}&lt;br /&gt;
|SSRN={{{ssrn|{{{SSRN|}}}}}}&lt;br /&gt;
|ZBL={{{zbl|}}}&lt;br /&gt;
|ID={{{id|{{{ID|}}}}}}&lt;br /&gt;
|laysummary={{{laysummary|}}}&lt;br /&gt;
|laydate={{{laydate|}}}&lt;br /&gt;
|laysource={{{laysource|}}}&lt;br /&gt;
|quote={{{quote|}}}&lt;br /&gt;
|Ref={{{ref|}}}&lt;br /&gt;
|amp={{{lastauthoramp|}}}&lt;br /&gt;
|AuthorMask={{{author-mask|{{{authormask|}}}}}}&lt;br /&gt;
|AuthorSep={{#ifeq:{{{author-separator|}}}|;|&amp;amp;#059;|{{{author-separator|&amp;amp;#059;}}}}}&amp;amp;#32;&lt;br /&gt;
|NameSep={{{author-name-separator|,}}}&amp;amp;#32;&lt;br /&gt;
|PS={{#if:{{{quote|}}}||{{{postscript|.}}}}}&lt;br /&gt;
|Sep={{#ifeq:{{{separator|{{{seperator}}} }}}|;|&amp;amp;#059;|{{{separator|{{{seperator|.}}} }}} }}&lt;br /&gt;
|template doc demo={{{template doc demo|}}}&lt;br /&gt;
|Trunc={{#if:{{{display-authors|}}}|{{{display-authors}}}|8}}&lt;br /&gt;
}}{{#if:{{{access-date|}}}{{{accessdaymonth|}}}{{{accessday|}}}{{{accessmonthday|}}}{{{accessmonth|}}}{{{accessyear|}}}{{{dateformat|}}}{{{day|}}}{{{doilabel|}}}&lt;br /&gt;
|[[Category:Pages containing cite templates with deprecated parameters|{{NAMESPACE}} {{PAGENAME}}]]}}&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:How_to_export&amp;diff=1679</id>
		<title>Template:How to export</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:How_to_export&amp;diff=1679"/>
		<updated>2025-03-28T14:01:14Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:How_to_export&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;&lt;br /&gt;
  padding: 1%;&lt;br /&gt;
  background: #faf3eb;&lt;br /&gt;
  color: black;&lt;br /&gt;
  border: 1px solid #ffc200;&lt;br /&gt;
  border-radius: 5px;&lt;br /&gt;
&amp;quot; class=&amp;quot;how-to-export&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;How to add this template to your wiki&#039;&#039;&#039;&lt;br /&gt;
# Go to Special:Import on your wiki (for example, if your wiki was meta.miraheze.org, you would go to meta.miraheze.org/wiki/Special:Import)&lt;br /&gt;
# Scroll until you see &amp;quot;&amp;lt;code&amp;gt;{{int:importinterwiki}}&amp;lt;/code&amp;gt;&amp;quot;&lt;br /&gt;
# In &amp;quot;&amp;lt;code&amp;gt;{{int:import-interwiki-sourcewiki}}&amp;lt;/code&amp;gt;&amp;quot;, press the dropdown box, and select &amp;quot;dev&amp;quot;&lt;br /&gt;
# In &amp;quot;&amp;lt;code&amp;gt;{{int:import-interwiki-sourcepage}}&amp;lt;/code&amp;gt;&amp;quot;, write &amp;quot;&amp;lt;code&amp;gt;{{FULLPAGENAME}}&amp;lt;/code&amp;gt;&amp;quot;&lt;br /&gt;
# Leave the other settings as they are and press &amp;quot;&amp;lt;code&amp;gt;{{int:import-interwiki-submit}}&amp;lt;/code&amp;gt;&amp;quot;&lt;br /&gt;
{{#if:{{{commoncss|}}}|# Copy-paste the content of [[MediaWiki:Common.css]] into the MediaWiki:Common.css page of your own wiki (for example, if your wiki was meta.miraheze.org, you would go to meta.miraheze.org/wiki/MediaWiki:Common.css)|&lt;br /&gt;
}}&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation|noexportinstructions=yes}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Dependencies&amp;diff=1673</id>
		<title>Template:Dependencies</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Dependencies&amp;diff=1673"/>
		<updated>2025-03-28T14:01:13Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Dependencies&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background: lightyellow; margin-bottom:3px; font-weight:bold;&amp;quot;&amp;gt;{{trim|&lt;br /&gt;
Dependencies:&lt;br /&gt;
* [[{{{1}}}]]&lt;br /&gt;
{{#if:{{{2|}}}|* [[{{{2}}}]]}}&lt;br /&gt;
{{#if:{{{3|}}}|* [[{{{3}}}]]}}&lt;br /&gt;
{{#if:{{{4|}}}|* [[{{{4}}}]]}}&lt;br /&gt;
{{#if:{{{5|}}}|* [[{{{5}}}]]}}&lt;br /&gt;
{{#if:{{{6|}}}|* [[{{{6}}}]]}}&lt;br /&gt;
{{#if:{{{7|}}}|* [[{{{7}}}]]}}&lt;br /&gt;
{{#if:{{{8|}}}|* [[{{{8}}}]]}}&lt;br /&gt;
{{#if:{{{9|}}}|* [[{{{9}}}]]}}&lt;br /&gt;
{{#if:{{{10|}}}|* [[{{{10}}}]]}}&lt;br /&gt;
{{#if:{{{11|}}}|* [[{{{11}}}]]}}&lt;br /&gt;
{{#if:{{{12|}}}|* [[{{{12}}}]]}}&lt;br /&gt;
{{#if:{{{13|}}}|* [[{{{13}}}]]}}&lt;br /&gt;
{{#if:{{{14|}}}|* [[{{{14}}}]]}}&lt;br /&gt;
{{#if:{{{15|}}}|* [[{{{15}}}]]}}&lt;br /&gt;
{{#if:{{{16|}}}|* [[{{{16}}}]]}}&lt;br /&gt;
{{#if:{{{17|}}}|* [[{{{17}}}]]}}&lt;br /&gt;
{{#if:{{{18|}}}|* [[{{{18}}}]]}}&lt;br /&gt;
{{#if:{{{19|}}}|* [[{{{19}}}]]}}&lt;br /&gt;
{{#if:{{{20|}}}|* [[{{{20}}}]]}}&lt;br /&gt;
{{#if:{{{21|}}}|* [[{{{21}}}]]}}&lt;br /&gt;
{{#if:{{{22|}}}|* [[{{{22}}}]]}}&lt;br /&gt;
{{#if:{{{23|}}}|* [[{{{23}}}]]}}&lt;br /&gt;
{{#if:{{{24|}}}|* [[{{{24}}}]]}}&lt;br /&gt;
{{#if:{{{25|}}}|* [[{{{25}}}]]}}&lt;br /&gt;
{{#if:{{{26|}}}|* [[{{{26}}}]]}}&lt;br /&gt;
{{#if:{{{27|}}}|* [[{{{27}}}]]}}&lt;br /&gt;
{{#if:{{{28|}}}|* [[{{{28}}}]]}}&lt;br /&gt;
{{#if:{{{29|}}}|* [[{{{29}}}]]}}&lt;br /&gt;
{{#if:{{{30|}}}|* [[{{{30}}}]]}}&lt;br /&gt;
}}&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;{{doc|content=Indicates which other templates (or modules) from this wiki the given template depends on. If you export this template to another wiki, you will need to export those too.&lt;br /&gt;
&lt;br /&gt;
== usage ==&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Dependencies| | | | | }}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
; [[Template:Bible]]&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Dependencies|Template:Bible/V |Template:Bible/Verselink }}&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Dependencies|Template:Bible/V |Template:Bible/Verselink }}&lt;br /&gt;
&lt;br /&gt;
}}[[Category:Templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Trim&amp;diff=1671</id>
		<title>Template:Trim</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Trim&amp;diff=1671"/>
		<updated>2025-03-28T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Trim&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{safesubst:#if:1|{{{1|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Para&amp;diff=1669</id>
		<title>Template:Para</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Para&amp;diff=1669"/>
		<updated>2025-03-28T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Para&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;code class=&amp;quot;tpl-para&amp;quot; style=&amp;quot;word-break:break-word;{{SAFESUBST:&amp;lt;noinclude /&amp;gt;#if:{{{plain|}}}|border: none; background-color: inherit;}} {{SAFESUBST:&amp;lt;noinclude /&amp;gt;#if:{{{plain|}}}{{{mxt|}}}{{{green|}}}{{{!mxt|}}}{{{red|}}}|color: {{SAFESUBST:&amp;lt;noinclude /&amp;gt;#if:{{{mxt|}}}{{{green|}}}|#006400|{{SAFESUBST:&amp;lt;noinclude /&amp;gt;#if:{{{!mxt|}}}{{{red|}}}|#8B0000|inherit}}}};}} {{SAFESUBST:&amp;lt;noinclude /&amp;gt;#if:{{{style|}}}|{{{style}}}}}&amp;quot;&amp;gt;&amp;amp;#124;{{SAFESUBST:&amp;lt;noinclude /&amp;gt;#if:{{{1|}}}|{{{1}}}&amp;amp;#61;}}{{{2|}}}&amp;lt;/code&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!--Categories and interwikis go near the bottom of the /doc subpage.--&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Module:Documentation/styles.css&amp;diff=1667</id>
		<title>Module:Documentation/styles.css</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Module:Documentation/styles.css&amp;diff=1667"/>
		<updated>2025-03-28T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Module:Documentation/styles.css&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp|small=yes}} */&lt;br /&gt;
.documentation,&lt;br /&gt;
.documentation-metadata {&lt;br /&gt;
	border: 1px solid var( --border-color-base, #a2a9b1 );&lt;br /&gt;
	background-color: #ecfcf4;&lt;br /&gt;
	clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.documentation {&lt;br /&gt;
	margin: 1em 0 0 0;&lt;br /&gt;
	padding: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.documentation-metadata {&lt;br /&gt;
	margin: 0.2em 0; /* same margin left-right as .documentation */&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    padding: 0.4em 1em; /* same padding left-right as .documentation */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.documentation-startbox {&lt;br /&gt;
	padding-bottom: 3px;&lt;br /&gt;
	border-bottom: 1px solid var( --border-color-base, #a2a9b1 );&lt;br /&gt;
	margin-bottom: 1ex;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.documentation-heading {&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	font-size: 125%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.documentation-clear { /* Don&#039;t want things to stick out where they shouldn&#039;t. */&lt;br /&gt;
	clear: both;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.documentation-toolbar {&lt;br /&gt;
	font-style: normal;&lt;br /&gt;
	font-size: 85%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
    html.skin-theme-clientpref-night .documentation,&lt;br /&gt;
	html.skin-theme-clientpref-night .documentation-metadata {&lt;br /&gt;
	    background-color: #0b1e1c;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@media screen and ( prefers-color-scheme: dark ) {&lt;br /&gt;
    html.skin-theme-clientpref-os .documentation,&lt;br /&gt;
    html.skin-theme-clientpref-os .documentation-metadata {&lt;br /&gt;
        background-color: #0b1e1c;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Module:Documentation/config&amp;diff=1665</id>
		<title>Module:Documentation/config</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Module:Documentation/config&amp;diff=1665"/>
		<updated>2025-03-28T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Module:Documentation/config&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;
--&lt;br /&gt;
--                               Configuration for Module:Documentation&lt;br /&gt;
--&lt;br /&gt;
-- Here you can set the values of the parameters and messages used in Module:Documentation to&lt;br /&gt;
-- localise it to your wiki and your language. Unless specified otherwise, values given here&lt;br /&gt;
-- should be string values.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = {} -- Do not edit this line.&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Protection template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;protection-reason-edit&#039;]&lt;br /&gt;
-- The protection reason for edit-protected templates to pass to&lt;br /&gt;
-- [[Module:Protection banner]].&lt;br /&gt;
cfg[&#039;protection-reason-edit&#039;] = &#039;template&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox notice configuration&lt;br /&gt;
--&lt;br /&gt;
-- On sandbox pages the module can display a template notifying users that the current page is a&lt;br /&gt;
-- sandbox, and the location of test cases pages, etc. The module decides whether the page is a&lt;br /&gt;
-- sandbox or not based on the value of cfg[&#039;sandbox-subpage&#039;]. The following settings configure the&lt;br /&gt;
-- messages that the notices contains.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-notice-image&#039;]&lt;br /&gt;
-- The image displayed in the sandbox notice.&lt;br /&gt;
cfg[&#039;sandbox-notice-image&#039;] = &#039;[[File:Sandbox.svg|50px|alt=|link=]]&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-template&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-other&#039;]&lt;br /&gt;
-- The page type of the sandbox page. The message that is displayed depends on the current subject&lt;br /&gt;
-- namespace. This message is used in either cfg[&#039;sandbox-notice-blurb&#039;] or&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-template&#039;] = &#039;[[Wikipedia:Template test cases|template sandbox]] page&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-module&#039;] = &#039;[[Wikipedia:Template test cases|module sandbox]] page&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-other&#039;] = &#039;sandbox page&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-display&#039;]&lt;br /&gt;
-- Either cfg[&#039;sandbox-notice-blurb&#039;] or cfg[&#039;sandbox-notice-diff-blurb&#039;] is the opening sentence&lt;br /&gt;
-- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page&lt;br /&gt;
-- type, which is either cfg[&#039;sandbox-notice-pagetype-template&#039;],&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;] or cfg[&#039;sandbox-notice-pagetype-other&#039;] depending what&lt;br /&gt;
-- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between&lt;br /&gt;
-- the sandbox and the main template. The display value of the diff link is set by &lt;br /&gt;
-- cfg[&#039;sandbox-notice-compare-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-blurb&#039;] = &#039;This is the $1 for $2.&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-diff-blurb&#039;] = &#039;This is the $1 for $2 ($3).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-compare-link-display&#039;] = &#039;diff&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit. $1 is a link to the test cases page.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;] is the display value for that link.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test&lt;br /&gt;
-- cases page, and $2 is a link to the page to run it.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] is the display value for the link to run the test&lt;br /&gt;
-- cases.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-blurb&#039;] = &#039;See also the companion subpage for $1.&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-link-display&#039;] = &#039;test cases&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] = &#039;See also the companion subpage for $1 ($2).&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] = &#039;run&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-category&#039;] - A category to add to all template sandboxes.&lt;br /&gt;
-- cfg[&#039;module-sandbox-category&#039;] - A category to add to all module sandboxes.&lt;br /&gt;
-- cfg[&#039;module-sandbox-category&#039;] - A category to add to all sandboxe not in templates or modules.&lt;br /&gt;
cfg[&#039;sandbox-category&#039;] = &#039;Template sandboxes&#039;&lt;br /&gt;
cfg[&#039;module-sandbox-category&#039;] = &#039;Module sandboxes&#039;&lt;br /&gt;
cfg[&#039;other-sandbox-category&#039;] = &#039;Sandboxes outside of template or module namespace&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Start box configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;documentation-icon-wikitext&#039;]&lt;br /&gt;
-- The wikitext for the icon shown at the top of the template.&lt;br /&gt;
cfg[&#039;documentation-icon-wikitext&#039;] = &#039;[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the template namespace.&lt;br /&gt;
cfg[&#039;template-namespace-heading&#039;] = &#039;Template documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the module namespace.&lt;br /&gt;
cfg[&#039;module-namespace-heading&#039;] = &#039;Module documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the file namespace.&lt;br /&gt;
cfg[&#039;file-namespace-heading&#039;] = &#039;Summary&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;other-namespaces-heading&#039;]&lt;br /&gt;
-- The heading shown in other namespaces.&lt;br /&gt;
cfg[&#039;other-namespaces-heading&#039;] = &#039;Documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;view-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;view&amp;quot; links.&lt;br /&gt;
cfg[&#039;view-link-display&#039;] = &#039;view&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;edit-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;edit-link-display&#039;] = &#039;edit&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;history-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;history&amp;quot; links.&lt;br /&gt;
cfg[&#039;history-link-display&#039;] = &#039;history&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;purge-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;purge&amp;quot; links.&lt;br /&gt;
cfg[&#039;purge-link-display&#039;] = &#039;purge&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;create-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;create-link-display&#039;] = &#039;create&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Link box (end box) configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;transcluded-from-blurb&#039;]&lt;br /&gt;
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.&lt;br /&gt;
cfg[&#039;transcluded-from-blurb&#039;] = &#039;The above [[Wikipedia:Template documentation|documentation]] is [[Help:Transclusion|transcluded]] from $1.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;create-module-doc-blurb&#039;]&lt;br /&gt;
-- Notice displayed in the module namespace when the documentation subpage does not exist.&lt;br /&gt;
-- $1 is a link to create the documentation page with the preload cfg[&#039;module-preload&#039;] and the&lt;br /&gt;
-- display cfg[&#039;create-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;create-module-doc-blurb&#039;] = &#039;You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Experiment blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;experiment-blurb-template&#039;]&lt;br /&gt;
-- cfg[&#039;experiment-blurb-module&#039;]&lt;br /&gt;
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.&lt;br /&gt;
-- It is only shown in the template and module namespaces. With the default English settings, it&lt;br /&gt;
-- might look like this:&lt;br /&gt;
--&lt;br /&gt;
-- Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&lt;br /&gt;
--&lt;br /&gt;
-- In this example, &amp;quot;sandbox&amp;quot;, &amp;quot;edit&amp;quot;, &amp;quot;diff&amp;quot;, &amp;quot;testcases&amp;quot;, and &amp;quot;edit&amp;quot; would all be links.&lt;br /&gt;
--&lt;br /&gt;
-- There are two versions, cfg[&#039;experiment-blurb-template&#039;] and cfg[&#039;experiment-blurb-module&#039;], depending&lt;br /&gt;
-- on what namespace we are in.&lt;br /&gt;
-- &lt;br /&gt;
-- Parameters:&lt;br /&gt;
--&lt;br /&gt;
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-edit-link-display&#039;] | cfg[&#039;compare-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- If the sandbox doesn&#039;t exist, it is in the format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-create-link-display&#039;] | cfg[&#039;mirror-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- The link for cfg[&#039;sandbox-create-link-display&#039;] link preloads the page with cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- or cfg[&#039;module-sandbox-preload&#039;], depending on the current namespace. The link for cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- loads a default edit summary of cfg[&#039;mirror-edit-summary&#039;].&lt;br /&gt;
--&lt;br /&gt;
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-edit-link-display&#039;] | cfg[&#039;testcases-run-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, it is in the format:&lt;br /&gt;
-- &lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-create-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, the link for cfg[&#039;testcases-create-link-display&#039;] preloads the&lt;br /&gt;
-- page with cfg[&#039;template-testcases-preload&#039;] or cfg[&#039;module-testcases-preload&#039;], depending on the current&lt;br /&gt;
-- namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;experiment-blurb-template&#039;] = &amp;quot;Editors can experiment in this template&#039;s $1 and $2 pages.&amp;quot;&lt;br /&gt;
cfg[&#039;experiment-blurb-module&#039;] = &amp;quot;Editors can experiment in this module&#039;s $1 and $2 pages.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-subpage&#039;] = &#039;sandbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for template sandbox pages.&lt;br /&gt;
cfg[&#039;template-sandbox-preload&#039;] = &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module sandbox pages.&lt;br /&gt;
cfg[&#039;module-sandbox-preload&#039;] = &#039;Template:Documentation/preload-module-sandbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;sandbox&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-link-display&#039;] = &#039;sandbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-edit-link-display&#039;] = &#039;edit&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-create-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-create-link-display&#039;] = &#039;create&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;compare-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;compare&amp;quot; links.&lt;br /&gt;
cfg[&#039;compare-link-display&#039;] = &#039;diff&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-edit-summary&#039;]&lt;br /&gt;
-- The default edit summary to use when a user clicks the &amp;quot;mirror&amp;quot; link. $1 is a wikilink to the&lt;br /&gt;
-- template page.&lt;br /&gt;
cfg[&#039;mirror-edit-summary&#039;] = &#039;Create sandbox version of $1&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;mirror&amp;quot; links.&lt;br /&gt;
cfg[&#039;mirror-link-display&#039;] = &#039;mirror&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-preload&#039;]&lt;br /&gt;
-- The page to preload when a user clicks the &amp;quot;mirror&amp;quot; link.&lt;br /&gt;
cfg[&#039;mirror-link-preload&#039;] = &#039;Template:Documentation/mirror&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Test cases link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for test cases.&lt;br /&gt;
cfg[&#039;testcases-subpage&#039;] = &#039;testcases&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for template test cases pages.&lt;br /&gt;
cfg[&#039;template-testcases-preload&#039;] = &#039;Template:Documentation/preload-testcases&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module test cases pages.&lt;br /&gt;
cfg[&#039;module-testcases-preload&#039;] = &#039;Template:Documentation/preload-module-testcases&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;testcases&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-link-display&#039;] = &#039;testcases&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-edit-link-display&#039;] = &#039;edit&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-run-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;run&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-run-link-display&#039;] = &#039;run&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-create-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-create-link-display&#039;] = &#039;create&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Add categories blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;add-categories-blurb&#039;]&lt;br /&gt;
-- Text to direct users to add categories to the /doc subpage. Not used if the &amp;quot;content&amp;quot; or&lt;br /&gt;
-- &amp;quot;docname fed&amp;quot; arguments are set, as then it is not clear where to add the categories. $1 is a&lt;br /&gt;
-- link to the /doc subpage with a display value of cfg[&#039;doc-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;add-categories-blurb&#039;] = &#039;Add categories to the $1 subpage.&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /doc subpage.&lt;br /&gt;
cfg[&#039;doc-link-display&#039;] = &#039;/doc&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Subpages link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-blurb&#039;]&lt;br /&gt;
-- The &amp;quot;Subpages of this template&amp;quot; blurb. $1 is a link to the main template&#039;s subpages with a&lt;br /&gt;
-- display value of cfg[&#039;subpages-link-display&#039;]. In the English version this blurb is simply&lt;br /&gt;
-- the link followed by a period, and the link display provides the actual text.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-blurb&#039;] = &#039;$1.&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-link-display&#039;]&lt;br /&gt;
-- The text to display for the &amp;quot;subpages of this page&amp;quot; link. $1 is cfg[&#039;template-pagetype&#039;],&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;] or cfg[&#039;default-pagetype&#039;], depending on whether the current page is in&lt;br /&gt;
-- the template namespace, the module namespace, or another namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-link-display&#039;] = &#039;Subpages of this $1&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for template pages.&lt;br /&gt;
cfg[&#039;template-pagetype&#039;] = &#039;template&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for Lua module pages.&lt;br /&gt;
cfg[&#039;module-pagetype&#039;] = &#039;module&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;default-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for pages other than templates or Lua modules.&lt;br /&gt;
cfg[&#039;default-pagetype&#039;] = &#039;page&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Doc link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-subpage&#039;]&lt;br /&gt;
-- The name of the subpage typically used for documentation pages.&lt;br /&gt;
cfg[&#039;doc-subpage&#039;] = &#039;doc&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;docpage-preload&#039;]&lt;br /&gt;
-- Preload file for template documentation pages in all namespaces.&lt;br /&gt;
cfg[&#039;docpage-preload&#039;] = &#039;Template:Documentation/preload&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module documentation pages.&lt;br /&gt;
cfg[&#039;module-preload&#039;] = &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- HTML and CSS configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;templatestyles&#039;]&lt;br /&gt;
-- The name of the TemplateStyles page where CSS is kept.&lt;br /&gt;
-- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed.&lt;br /&gt;
cfg[&#039;templatestyles&#039;] = &#039;Module:Documentation/styles.css&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;container&#039;]&lt;br /&gt;
-- Class which can be used to set flex or grid CSS on the&lt;br /&gt;
-- two child divs documentation and documentation-metadata&lt;br /&gt;
cfg[&#039;container&#039;] = &#039;documentation-container&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-classes&#039;]&lt;br /&gt;
-- Classes added to the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-classes&#039;] = &#039;documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-heading-class&#039;]&lt;br /&gt;
-- Class for the main heading for templates and modules and assoc. talk spaces&lt;br /&gt;
cfg[&#039;main-div-heading-class&#039;] = &#039;documentation-heading&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-class&#039;]&lt;br /&gt;
-- Class for the start box&lt;br /&gt;
cfg[&#039;start-box-class&#039;] = &#039;documentation-startbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-link-classes&#039;]&lt;br /&gt;
-- Classes used for the [view][edit][history] or [create] links in the start box.&lt;br /&gt;
-- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]]&lt;br /&gt;
cfg[&#039;start-box-link-classes&#039;] = &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;end-box-class&#039;]&lt;br /&gt;
-- Class for the end box.&lt;br /&gt;
cfg[&#039;end-box-class&#039;] = &#039;documentation-metadata&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;end-box-plainlinks&#039;]&lt;br /&gt;
-- Plainlinks&lt;br /&gt;
cfg[&#039;end-box-plainlinks&#039;] = &#039;plainlinks&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;toolbar-class&#039;]&lt;br /&gt;
-- Class added for toolbar links.&lt;br /&gt;
cfg[&#039;toolbar-class&#039;] = &#039;documentation-toolbar&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;clear&#039;]&lt;br /&gt;
-- Just used to clear things.&lt;br /&gt;
cfg[&#039;clear&#039;] = &#039;documentation-clear&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Tracking category configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-strange-usage-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;strange-usage-category&#039;] if the module is used on a /doc subpage&lt;br /&gt;
-- or a /testcases subpage. This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-strange-usage-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;strange-usage-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-strange-usage-category&#039;] is set to true and the module is used on a&lt;br /&gt;
-- /doc subpage or a /testcases subpage.&lt;br /&gt;
cfg[&#039;strange-usage-category&#039;] = &#039;Wikipedia pages with strange ((documentation)) usage&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- End configuration&lt;br /&gt;
--&lt;br /&gt;
-- Don&#039;t edit anything below this line.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
return cfg&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Module:Documentation&amp;diff=1663</id>
		<title>Module:Documentation</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Module:Documentation&amp;diff=1663"/>
		<updated>2025-03-28T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Module:Documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{documentation}}.&lt;br /&gt;
&lt;br /&gt;
-- Get required modules.&lt;br /&gt;
local getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
-- Get the config table.&lt;br /&gt;
local cfg = mw.loadData(&#039;Module:Documentation/config&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Often-used functions.&lt;br /&gt;
local ugsub = mw.ustring.gsub&lt;br /&gt;
local format = mw.ustring.format&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Helper functions&lt;br /&gt;
--&lt;br /&gt;
-- These are defined as local functions, but are made available in the p&lt;br /&gt;
-- table for testing purposes.&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function message(cfgKey, valArray, expectType)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Gets a message from the cfg table and formats it if appropriate.&lt;br /&gt;
	-- The function raises an error if the value from the cfg table is not&lt;br /&gt;
	-- of the type expectType. The default type for expectType is &#039;string&#039;.&lt;br /&gt;
	-- If the table valArray is present, strings such as $1, $2 etc. in the&lt;br /&gt;
	-- message are substituted with values from the table keys [1], [2] etc.&lt;br /&gt;
	-- For example, if the message &amp;quot;foo-message&amp;quot; had the value &#039;Foo $2 bar $1.&#039;,&lt;br /&gt;
	-- message(&#039;foo-message&#039;, {&#039;baz&#039;, &#039;qux&#039;}) would return &amp;quot;Foo qux bar baz.&amp;quot;&lt;br /&gt;
	--]]&lt;br /&gt;
	local msg = cfg[cfgKey]&lt;br /&gt;
	expectType = expectType or &#039;string&#039;&lt;br /&gt;
	if type(msg) ~= expectType then&lt;br /&gt;
		error(&#039;message: type error in message cfg.&#039; .. cfgKey .. &#039; (&#039; .. expectType .. &#039; expected, got &#039; .. type(msg) .. &#039;)&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	if not valArray then&lt;br /&gt;
		return msg&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function getMessageVal(match)&lt;br /&gt;
		match = tonumber(match)&lt;br /&gt;
		return valArray[match] or error(&#039;message: no value found for key $&#039; .. match .. &#039; in message cfg.&#039; .. cfgKey, 4)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ugsub(msg, &#039;$([1-9][0-9]*)&#039;, getMessageVal)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.message = message&lt;br /&gt;
&lt;br /&gt;
local function makeWikilink(page, display)&lt;br /&gt;
	if display then&lt;br /&gt;
		return format(&#039;[[%s|%s]]&#039;, page, display)&lt;br /&gt;
	else&lt;br /&gt;
		return format(&#039;[[%s]]&#039;, page)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeWikilink = makeWikilink&lt;br /&gt;
&lt;br /&gt;
local function makeCategoryLink(cat, sort)&lt;br /&gt;
	local catns = mw.site.namespaces[14].name&lt;br /&gt;
	return makeWikilink(catns .. &#039;:&#039; .. cat, sort)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeCategoryLink = makeCategoryLink&lt;br /&gt;
&lt;br /&gt;
local function makeUrlLink(url, display)&lt;br /&gt;
	return format(&#039;[%s %s]&#039;, url, display)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeUrlLink = makeUrlLink&lt;br /&gt;
&lt;br /&gt;
local function makeToolbar(...)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	local lim = select(&#039;#&#039;, ...)&lt;br /&gt;
	if lim &amp;lt; 1 then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	for i = 1, lim do&lt;br /&gt;
		ret[#ret + 1] = select(i, ...)&lt;br /&gt;
	end&lt;br /&gt;
	-- &#039;documentation-toolbar&#039;&lt;br /&gt;
	return format(&lt;br /&gt;
		&#039;&amp;lt;span class=&amp;quot;%s&amp;quot;&amp;gt;(%s)&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
		message(&#039;toolbar-class&#039;),&lt;br /&gt;
		table.concat(ret, &#039; &amp;amp;#124; &#039;)&lt;br /&gt;
	)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
p.makeToolbar = makeToolbar&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Argument processing&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = getArgs(frame, {&lt;br /&gt;
			valueFunc = function (key, value)&lt;br /&gt;
				if type(value) == &#039;string&#039; then&lt;br /&gt;
					value = value:match(&#039;^%s*(.-)%s*$&#039;) -- Remove whitespace.&lt;br /&gt;
					if key == &#039;heading&#039; or value ~= &#039;&#039; then&lt;br /&gt;
						return value&lt;br /&gt;
					else&lt;br /&gt;
						return nil&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					return value&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
		return p[funcName](args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Entry points&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.nonexistent(frame)&lt;br /&gt;
	if mw.title.getCurrentTitle().subpageText == &#039;testcases&#039; then&lt;br /&gt;
		return frame:expandTemplate{title = &#039;module test cases notice&#039;}&lt;br /&gt;
	else&lt;br /&gt;
		return p.main(frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.main = makeInvokeFunc(&#039;_main&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- This function defines logic flow for the module.&lt;br /&gt;
	-- @args - table of arguments passed by the user&lt;br /&gt;
	--]]&lt;br /&gt;
	local env = p.getEnvironment(args)&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
	root&lt;br /&gt;
		:wikitext(p._getModuleWikitext(args, env))&lt;br /&gt;
		:wikitext(p.protectionTemplate(env))&lt;br /&gt;
		:wikitext(p.sandboxNotice(args, env))&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			-- &#039;documentation-container&#039;&lt;br /&gt;
			:addClass(message(&#039;container&#039;))&lt;br /&gt;
			:attr(&#039;role&#039;, &#039;complementary&#039;)&lt;br /&gt;
			:attr(&#039;aria-labelledby&#039;, args.heading ~= &#039;&#039; and &#039;documentation-heading&#039; or nil)&lt;br /&gt;
			:attr(&#039;aria-label&#039;, args.heading == &#039;&#039; and &#039;Documentation&#039; or nil)&lt;br /&gt;
			:newline()&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				-- &#039;documentation&#039;&lt;br /&gt;
				:addClass(message(&#039;main-div-classes&#039;))&lt;br /&gt;
				:newline()&lt;br /&gt;
				:wikitext(p._startBox(args, env))&lt;br /&gt;
				:wikitext(p._content(args, env))&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					-- &#039;documentation-clear&#039;&lt;br /&gt;
					:addClass(message(&#039;clear&#039;))&lt;br /&gt;
					:done()&lt;br /&gt;
				:newline()&lt;br /&gt;
				:done()&lt;br /&gt;
			:wikitext(p._endBox(args, env))&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext(p.addTrackingCategories(env))&lt;br /&gt;
	-- &#039;Module:Documentation/styles.css&#039;&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag (&lt;br /&gt;
		&#039;templatestyles&#039;, &#039;&#039;, {src=cfg[&#039;templatestyles&#039;]&lt;br /&gt;
	}) .. tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Environment settings&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.getEnvironment(args)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Returns a table with information about the environment, including title&lt;br /&gt;
	-- objects and other namespace- or path-related data.&lt;br /&gt;
	-- @args - table of arguments passed by the user&lt;br /&gt;
	--&lt;br /&gt;
	-- Title objects include:&lt;br /&gt;
	-- env.title - the page we are making documentation for (usually the current title)&lt;br /&gt;
	-- env.templateTitle - the template (or module, file, etc.)&lt;br /&gt;
	-- env.docTitle - the /doc subpage.&lt;br /&gt;
	-- env.sandboxTitle - the /sandbox subpage.&lt;br /&gt;
	-- env.testcasesTitle - the /testcases subpage.&lt;br /&gt;
	--&lt;br /&gt;
	-- Data includes:&lt;br /&gt;
	-- env.protectionLevels - the protection levels table of the title object.&lt;br /&gt;
	-- env.subjectSpace - the number of the title&#039;s subject namespace.&lt;br /&gt;
	-- env.docSpace - the number of the namespace the title puts its documentation in.&lt;br /&gt;
	-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.&lt;br /&gt;
	-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.&lt;br /&gt;
	-- &lt;br /&gt;
	-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value&lt;br /&gt;
	-- returned will be nil.&lt;br /&gt;
	--]]&lt;br /&gt;
	&lt;br /&gt;
	local env, envFuncs = {}, {}&lt;br /&gt;
&lt;br /&gt;
	-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value&lt;br /&gt;
	-- returned by that function is memoized in the env table so that we don&#039;t call any of the functions&lt;br /&gt;
	-- more than once. (Nils won&#039;t be memoized.)&lt;br /&gt;
	setmetatable(env, {&lt;br /&gt;
		__index = function (t, key)&lt;br /&gt;
			local envFunc = envFuncs[key]&lt;br /&gt;
			if envFunc then&lt;br /&gt;
				local success, val = pcall(envFunc)&lt;br /&gt;
				if success then&lt;br /&gt;
					env[key] = val -- Memoise the value.&lt;br /&gt;
					return val&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	})	&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.title()&lt;br /&gt;
		-- The title object for the current page, or a test page passed with args.page.&lt;br /&gt;
		local title&lt;br /&gt;
		local titleArg = args.page&lt;br /&gt;
		if titleArg then&lt;br /&gt;
			title = mw.title.new(titleArg)&lt;br /&gt;
		else&lt;br /&gt;
			title = mw.title.getCurrentTitle()&lt;br /&gt;
		end&lt;br /&gt;
		return title&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.templateTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- The template (or module, etc.) title object.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;sandbox-subpage&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
		-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		local subjectSpace = env.subjectSpace&lt;br /&gt;
		local title = env.title&lt;br /&gt;
		local subpage = title.subpageText&lt;br /&gt;
		if subpage == message(&#039;sandbox-subpage&#039;) or subpage == message(&#039;testcases-subpage&#039;) or (subpage == message(&#039;doc-subpage&#039;) and mw.title.getCurrentTitle().namespace == env.docSpace) then&lt;br /&gt;
			return mw.title.makeTitle(subjectSpace, title.baseText)&lt;br /&gt;
		else&lt;br /&gt;
			return mw.title.makeTitle(subjectSpace, title.text)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object of the /doc subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;doc-subpage&#039; --&amp;gt; &#039;doc&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		local title = env.title&lt;br /&gt;
		local docname = args[1] -- User-specified doc page.&lt;br /&gt;
		local docpage&lt;br /&gt;
		if docname then&lt;br /&gt;
			docpage = docname&lt;br /&gt;
		else&lt;br /&gt;
			docpage = env.docpageBase .. &#039;/&#039; .. message(&#039;doc-subpage&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		return mw.title.new(docpage)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.sandboxTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /sandbox subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;sandbox-subpage&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return mw.title.new(env.docpageBase .. &#039;/&#039; .. message(&#039;sandbox-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.testcasesTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /testcases subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return mw.title.new(env.docpageBase .. &#039;/&#039; .. message(&#039;testcases-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.protectionLevels()&lt;br /&gt;
		-- The protection levels table of the title object.&lt;br /&gt;
		return env.title.protectionLevels&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.subjectSpace()&lt;br /&gt;
		-- The subject namespace number.&lt;br /&gt;
		return mw.site.namespaces[env.title.namespace].subject.id&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docSpace()&lt;br /&gt;
		-- The documentation namespace number. For most namespaces this is the&lt;br /&gt;
		-- same as the subject namespace. However, pages in the Article, File,&lt;br /&gt;
		-- MediaWiki or Category namespaces must have their /doc, /sandbox and&lt;br /&gt;
		-- /testcases pages in talk space.&lt;br /&gt;
		local subjectSpace = env.subjectSpace&lt;br /&gt;
		if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then&lt;br /&gt;
			return subjectSpace + 1&lt;br /&gt;
		else&lt;br /&gt;
			return subjectSpace&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docpageBase()&lt;br /&gt;
		-- The base page of the /doc, /sandbox, and /testcases subpages.&lt;br /&gt;
		-- For some namespaces this is the talk page, rather than the template page.&lt;br /&gt;
		local templateTitle = env.templateTitle&lt;br /&gt;
		local docSpace = env.docSpace&lt;br /&gt;
		local docSpaceText = mw.site.namespaces[docSpace].name&lt;br /&gt;
		-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.&lt;br /&gt;
		return docSpaceText .. &#039;:&#039; .. templateTitle.text&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.compareUrl()&lt;br /&gt;
		-- Diff link between the sandbox and the main template using [[Special:ComparePages]].&lt;br /&gt;
		local templateTitle = env.templateTitle&lt;br /&gt;
		local sandboxTitle = env.sandboxTitle&lt;br /&gt;
		if templateTitle.exists and sandboxTitle.exists then&lt;br /&gt;
			local compareUrl = mw.uri.canonicalUrl(&lt;br /&gt;
				&#039;Special:ComparePages&#039;,&lt;br /&gt;
				{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}&lt;br /&gt;
			)&lt;br /&gt;
			return tostring(compareUrl)&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	end		&lt;br /&gt;
&lt;br /&gt;
	return env&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Auxiliary templates&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.getModuleWikitext = makeInvokeFunc(&#039;_getModuleWikitext&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._getModuleWikitext(args, env)&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	if currentTitle.contentModel ~= &#039;Scribunto&#039; then return end&lt;br /&gt;
	pcall(require, currentTitle.prefixedText) -- if it fails, we don&#039;t care&lt;br /&gt;
	local moduleWikitext =  package.loaded[&amp;quot;Module:Module wikitext&amp;quot;]&lt;br /&gt;
	if moduleWikitext then&lt;br /&gt;
		return moduleWikitext.main()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.sandboxNotice(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Generates a sandbox notice for display above sandbox pages.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;sandbox-notice-image&#039; --&amp;gt; &#039;[[File:Sandbox.svg|50px|alt=|link=]]&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-blurb&#039; --&amp;gt; &#039;This is the $1 for $2.&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-diff-blurb&#039; --&amp;gt; &#039;This is the $1 for $2 ($3).&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-template&#039; --&amp;gt; &#039;[[Wikipedia:Template test cases|template sandbox]] page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-module&#039; --&amp;gt; &#039;[[Wikipedia:Template test cases|module sandbox]] page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-other&#039; --&amp;gt; &#039;sandbox page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-compare-link-display&#039; --&amp;gt; &#039;diff&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-testcases-blurb&#039; --&amp;gt; &#039;See also the companion subpage for $1.&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-testcases-link-display&#039; --&amp;gt; &#039;test cases&#039;&lt;br /&gt;
	-- &#039;sandbox-category&#039; --&amp;gt; &#039;Template sandboxes&#039;&lt;br /&gt;
	-- &#039;module-sandbox-category&#039; --&amp;gt; &#039;Module sandboxes&#039;&lt;br /&gt;
	-- &#039;other-sandbox-category&#039; --&amp;gt; &#039;Sandboxes outside of template or module namespace&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local sandboxTitle = env.sandboxTitle&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not (subjectSpace and title and sandboxTitle and templateTitle&lt;br /&gt;
		and mw.title.equals(title, sandboxTitle)) then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	-- Build the table of arguments to pass to {{ombox}}. We need just two fields, &amp;quot;image&amp;quot; and &amp;quot;text&amp;quot;.&lt;br /&gt;
	local omargs = {}&lt;br /&gt;
	omargs.image = message(&#039;sandbox-notice-image&#039;)&lt;br /&gt;
	-- Get the text. We start with the opening blurb, which is something like&lt;br /&gt;
	-- &amp;quot;This is the template sandbox for [[Template:Foo]] (diff).&amp;quot;&lt;br /&gt;
	local text = &#039;__EXPECTUNUSEDTEMPLATE__&#039;&lt;br /&gt;
	local pagetype, sandboxCat&lt;br /&gt;
	if subjectSpace == 10 then&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-template&#039;)&lt;br /&gt;
		sandboxCat = message(&#039;sandbox-category&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-module&#039;)&lt;br /&gt;
		sandboxCat = message(&#039;module-sandbox-category&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-other&#039;)&lt;br /&gt;
		sandboxCat = message(&#039;other-sandbox-category&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local templateLink = makeWikilink(templateTitle.prefixedText)&lt;br /&gt;
	local compareUrl = env.compareUrl&lt;br /&gt;
	if compareUrl then&lt;br /&gt;
		local compareDisplay = message(&#039;sandbox-notice-compare-link-display&#039;)&lt;br /&gt;
		local compareLink = makeUrlLink(compareUrl, compareDisplay)&lt;br /&gt;
		text = text .. message(&#039;sandbox-notice-diff-blurb&#039;, {pagetype, templateLink, compareLink})&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. message(&#039;sandbox-notice-blurb&#039;, {pagetype, templateLink})&lt;br /&gt;
	end&lt;br /&gt;
	-- Get the test cases page blurb if the page exists. This is something like&lt;br /&gt;
	-- &amp;quot;See also the companion subpage for [[Template:Foo/testcases|test cases]].&amp;quot;&lt;br /&gt;
	local testcasesTitle = env.testcasesTitle&lt;br /&gt;
	if testcasesTitle and testcasesTitle.exists then&lt;br /&gt;
		if testcasesTitle.contentModel == &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
			local testcasesLinkDisplay = message(&#039;sandbox-notice-testcases-link-display&#039;)&lt;br /&gt;
			local testcasesRunLinkDisplay = message(&#039;sandbox-notice-testcases-run-link-display&#039;)&lt;br /&gt;
			local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)&lt;br /&gt;
			local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)&lt;br /&gt;
			text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. message(&#039;sandbox-notice-testcases-run-blurb&#039;, {testcasesLink, testcasesRunLink})&lt;br /&gt;
		else&lt;br /&gt;
			local testcasesLinkDisplay = message(&#039;sandbox-notice-testcases-link-display&#039;)&lt;br /&gt;
			local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)&lt;br /&gt;
			text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. message(&#039;sandbox-notice-testcases-blurb&#039;, {testcasesLink})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Add the sandbox to the sandbox category.&lt;br /&gt;
	omargs.text = text .. makeCategoryLink(sandboxCat)&lt;br /&gt;
&lt;br /&gt;
	-- &#039;documentation-clear&#039;&lt;br /&gt;
	return &#039;&amp;lt;div class=&amp;quot;&#039; .. message(&#039;clear&#039;) .. &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		.. require(&#039;Module:Message box&#039;).main(&#039;ombox&#039;, omargs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.protectionTemplate(env)&lt;br /&gt;
	-- Generates the padlock icon in the top right.&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;protection-template&#039; --&amp;gt; &#039;pp-template&#039;&lt;br /&gt;
	-- &#039;protection-template-args&#039; --&amp;gt; {docusage = &#039;yes&#039;}&lt;br /&gt;
	local protectionLevels = env.protectionLevels&lt;br /&gt;
	if not protectionLevels then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local editProt = protectionLevels.edit and protectionLevels.edit[1]&lt;br /&gt;
	local moveProt = protectionLevels.move and protectionLevels.move[1]&lt;br /&gt;
	if editProt then&lt;br /&gt;
		-- The page is edit-protected.&lt;br /&gt;
		return require(&#039;Module:Protection banner&#039;)._main{&lt;br /&gt;
			message(&#039;protection-reason-edit&#039;), small = true&lt;br /&gt;
		}&lt;br /&gt;
	elseif moveProt and moveProt ~= &#039;autoconfirmed&#039; then&lt;br /&gt;
		-- The page is move-protected but not edit-protected. Exclude move&lt;br /&gt;
		-- protection with the level &amp;quot;autoconfirmed&amp;quot;, as this is equivalent to&lt;br /&gt;
		-- no move protection at all.&lt;br /&gt;
		return require(&#039;Module:Protection banner&#039;)._main{&lt;br /&gt;
			action = &#039;move&#039;, small = true&lt;br /&gt;
		}&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Start box&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.startBox = makeInvokeFunc(&#039;_startBox&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._startBox(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- This function generates the start box.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make&lt;br /&gt;
	-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox&lt;br /&gt;
	-- which generate the box HTML.&lt;br /&gt;
	--]]&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local links&lt;br /&gt;
	local content = args.content&lt;br /&gt;
	if not content or args[1] then&lt;br /&gt;
		-- No need to include the links if the documentation is on the template page itself.&lt;br /&gt;
		local linksData = p.makeStartBoxLinksData(args, env)&lt;br /&gt;
		if linksData then&lt;br /&gt;
			links = p.renderStartBoxLinks(linksData)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Generate the start box html.&lt;br /&gt;
	local data = p.makeStartBoxData(args, env, links)&lt;br /&gt;
	if data then&lt;br /&gt;
		return p.renderStartBox(data)&lt;br /&gt;
	else&lt;br /&gt;
		-- User specified no heading.&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeStartBoxLinksData(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Does initial processing of data to make the [view] [edit] [history] [purge] links.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;view-link-display&#039; --&amp;gt; &#039;view&#039;&lt;br /&gt;
	-- &#039;edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;history-link-display&#039; --&amp;gt; &#039;history&#039;&lt;br /&gt;
	-- &#039;purge-link-display&#039; --&amp;gt; &#039;purge&#039;&lt;br /&gt;
	-- &#039;module-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
	-- &#039;docpage-preload&#039; --&amp;gt; &#039;Template:Documentation/preload&#039;&lt;br /&gt;
	-- &#039;create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not title or not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if docTitle.isRedirect then &lt;br /&gt;
		docTitle = docTitle.redirectTarget&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Create link if /doc doesn&#039;t exist.&lt;br /&gt;
	local preload = args.preload&lt;br /&gt;
	if not preload then&lt;br /&gt;
		if subjectSpace == 828 then -- Module namespace&lt;br /&gt;
			preload = message(&#039;module-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			preload = message(&#039;docpage-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return {&lt;br /&gt;
		title = title,&lt;br /&gt;
		docTitle = docTitle,&lt;br /&gt;
		-- View, display, edit, and purge links if /doc exists.&lt;br /&gt;
		viewLinkDisplay = message(&#039;view-link-display&#039;),&lt;br /&gt;
		editLinkDisplay = message(&#039;edit-link-display&#039;),&lt;br /&gt;
		historyLinkDisplay = message(&#039;history-link-display&#039;),&lt;br /&gt;
		purgeLinkDisplay = message(&#039;purge-link-display&#039;),&lt;br /&gt;
		preload = preload,&lt;br /&gt;
		createLinkDisplay = message(&#039;create-link-display&#039;)&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderStartBoxLinks(data)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.&lt;br /&gt;
	-- @data - a table of data generated by p.makeStartBoxLinksData&lt;br /&gt;
	--]]&lt;br /&gt;
	local docTitle = data.docTitle&lt;br /&gt;
	-- yes, we do intend to purge the template page on which the documentation appears&lt;br /&gt;
	local purgeLink = makeWikilink(&amp;quot;Special:Purge/&amp;quot; .. data.title.prefixedText, data.purgeLinkDisplay)&lt;br /&gt;
	&lt;br /&gt;
	if docTitle.exists then&lt;br /&gt;
		local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)&lt;br /&gt;
		local editLink = makeWikilink(&amp;quot;Special:EditPage/&amp;quot; .. docTitle.prefixedText, data.editLinkDisplay)&lt;br /&gt;
		local historyLink = makeWikilink(&amp;quot;Special:PageHistory/&amp;quot; .. docTitle.prefixedText, data.historyLinkDisplay)&lt;br /&gt;
		return &amp;quot;&amp;amp;#91;&amp;quot; .. viewLink .. &amp;quot;&amp;amp;#93; &amp;amp;#91;&amp;quot; .. editLink .. &amp;quot;&amp;amp;#93; &amp;amp;#91;&amp;quot; .. historyLink .. &amp;quot;&amp;amp;#93; &amp;amp;#91;&amp;quot; .. purgeLink .. &amp;quot;&amp;amp;#93;&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		local createLink = makeUrlLink(docTitle:canonicalUrl{action = &#039;edit&#039;, preload = data.preload}, data.createLinkDisplay)&lt;br /&gt;
		return  &amp;quot;&amp;amp;#91;&amp;quot; .. createLink .. &amp;quot;&amp;amp;#93; &amp;amp;#91;&amp;quot; .. purgeLink .. &amp;quot;&amp;amp;#93;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeStartBoxData(args, env, links)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- @links - a string containing the [view][edit][history][purge] links - could be nil if there&#039;s an error.&lt;br /&gt;
	--&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;documentation-icon-wikitext&#039; --&amp;gt; &#039;[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]&#039;&lt;br /&gt;
	-- &#039;template-namespace-heading&#039; --&amp;gt; &#039;Template documentation&#039;&lt;br /&gt;
	-- &#039;module-namespace-heading&#039; --&amp;gt; &#039;Module documentation&#039;&lt;br /&gt;
	-- &#039;file-namespace-heading&#039; --&amp;gt; &#039;Summary&#039;&lt;br /&gt;
	-- &#039;other-namespaces-heading&#039; --&amp;gt; &#039;Documentation&#039;&lt;br /&gt;
	-- &#039;testcases-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not subjectSpace then&lt;br /&gt;
		-- Default to an &amp;quot;other namespaces&amp;quot; namespace, so that we get at least some output&lt;br /&gt;
		-- if an error occurs.&lt;br /&gt;
		subjectSpace = 2&lt;br /&gt;
	end&lt;br /&gt;
	local data = {}&lt;br /&gt;
	&lt;br /&gt;
	-- Heading&lt;br /&gt;
	local heading = args.heading -- Blank values are not removed.&lt;br /&gt;
	if heading == &#039;&#039; then&lt;br /&gt;
		-- Don&#039;t display the start box if the heading arg is defined but blank.&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if heading then&lt;br /&gt;
		data.heading = heading&lt;br /&gt;
	elseif subjectSpace == 10 then -- Template namespace&lt;br /&gt;
		data.heading = message(&#039;documentation-icon-wikitext&#039;) .. &#039; &#039; .. message(&#039;template-namespace-heading&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then -- Module namespace&lt;br /&gt;
		data.heading = message(&#039;documentation-icon-wikitext&#039;) .. &#039; &#039; .. message(&#039;module-namespace-heading&#039;)&lt;br /&gt;
	elseif subjectSpace == 6 then -- File namespace&lt;br /&gt;
		data.heading = message(&#039;file-namespace-heading&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		data.heading = message(&#039;other-namespaces-heading&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Heading CSS&lt;br /&gt;
	local headingStyle = args[&#039;heading-style&#039;]&lt;br /&gt;
	if headingStyle then&lt;br /&gt;
		data.headingStyleText = headingStyle&lt;br /&gt;
	else&lt;br /&gt;
		-- &#039;documentation-heading&#039;&lt;br /&gt;
		data.headingClass = message(&#039;main-div-heading-class&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Data for the [view][edit][history][purge] or [create] links.&lt;br /&gt;
	if links then&lt;br /&gt;
		-- &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
		data.linksClass = message(&#039;start-box-link-classes&#039;)&lt;br /&gt;
		data.links = links&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderStartBox(data)&lt;br /&gt;
	-- Renders the start box html.&lt;br /&gt;
	-- @data - a table of data generated by p.makeStartBoxData.&lt;br /&gt;
	local sbox = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	sbox&lt;br /&gt;
		-- &#039;documentation-startbox&#039;&lt;br /&gt;
		:addClass(message(&#039;start-box-class&#039;))&lt;br /&gt;
		:newline()&lt;br /&gt;
		:tag(&#039;span&#039;)&lt;br /&gt;
			:addClass(data.headingClass)&lt;br /&gt;
			:attr(&#039;id&#039;, &#039;documentation-heading&#039;)&lt;br /&gt;
			:cssText(data.headingStyleText)&lt;br /&gt;
			:wikitext(data.heading)&lt;br /&gt;
	local links = data.links&lt;br /&gt;
	if links then&lt;br /&gt;
		sbox:tag(&#039;span&#039;)&lt;br /&gt;
			:addClass(data.linksClass)&lt;br /&gt;
			:attr(&#039;id&#039;, data.linksId)&lt;br /&gt;
			:wikitext(links)&lt;br /&gt;
	end&lt;br /&gt;
	return tostring(sbox)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Documentation content&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.content = makeInvokeFunc(&#039;_content&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._content(args, env)&lt;br /&gt;
	-- Displays the documentation contents&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	local content = args.content&lt;br /&gt;
	if not content and docTitle and docTitle.exists then&lt;br /&gt;
		content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}&lt;br /&gt;
	end&lt;br /&gt;
	-- The line breaks below are necessary so that &amp;quot;=== Headings ===&amp;quot; at the start and end&lt;br /&gt;
	-- of docs are interpreted correctly.&lt;br /&gt;
	return &#039;\n&#039; .. (content or &#039;&#039;) .. &#039;\n&#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.contentTitle = makeInvokeFunc(&#039;_contentTitle&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._contentTitle(args, env)&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not args.content and docTitle and docTitle.exists then&lt;br /&gt;
		return docTitle.prefixedText&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- End box&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.endBox = makeInvokeFunc(&#039;_endBox&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._endBox(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- This function generates the end box (also known as the link box).&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	--]=]&lt;br /&gt;
	&lt;br /&gt;
	-- Get environment data.&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not subjectSpace or not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	-- Check whether we should output the end box at all. Add the end&lt;br /&gt;
	-- box by default if the documentation exists or if we are in the&lt;br /&gt;
	-- user, module or template namespaces.&lt;br /&gt;
	local linkBox = args[&#039;link box&#039;]&lt;br /&gt;
	if linkBox == &#039;off&#039;&lt;br /&gt;
		or not (&lt;br /&gt;
			docTitle.exists&lt;br /&gt;
			or subjectSpace == 2&lt;br /&gt;
			or subjectSpace == 828&lt;br /&gt;
			or subjectSpace == 10&lt;br /&gt;
		)&lt;br /&gt;
	then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Assemble the link box.&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	if linkBox then&lt;br /&gt;
		text = text .. linkBox&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. (p.makeDocPageBlurb(args, env) or &#039;&#039;) -- &amp;quot;This documentation is transcluded from [[Foo]].&amp;quot; &lt;br /&gt;
		if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then&lt;br /&gt;
			-- We are in the user, template or module namespaces.&lt;br /&gt;
			-- Add sandbox and testcases links.&lt;br /&gt;
			-- &amp;quot;Editors can experiment in this template&#039;s sandbox and testcases pages.&amp;quot;&lt;br /&gt;
			text = text .. (p.makeExperimentBlurb(args, env) or &#039;&#039;) .. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
			if not args.content and not args[1] then&lt;br /&gt;
				-- &amp;quot;Please add categories to the /doc subpage.&amp;quot;&lt;br /&gt;
				-- Don&#039;t show this message with inline docs or with an explicitly specified doc page,&lt;br /&gt;
				-- as then it is unclear where to add the categories.&lt;br /&gt;
				text = text .. (p.makeCategoriesBlurb(args, env) or &#039;&#039;)&lt;br /&gt;
			end&lt;br /&gt;
			text = text .. &#039; &#039; .. (p.makeSubpagesBlurb(args, env) or &#039;&#039;) --&amp;quot;Subpages of this template&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local box = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	-- &#039;documentation-metadata&#039;&lt;br /&gt;
	box:attr(&#039;role&#039;, &#039;note&#039;)&lt;br /&gt;
		:addClass(message(&#039;end-box-class&#039;))&lt;br /&gt;
		-- &#039;plainlinks&#039;&lt;br /&gt;
		:addClass(message(&#039;end-box-plainlinks&#039;))&lt;br /&gt;
		:wikitext(text)&lt;br /&gt;
		:done()&lt;br /&gt;
&lt;br /&gt;
	return &#039;\n&#039; .. tostring(box)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeDocPageBlurb(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Makes the blurb &amp;quot;This documentation is transcluded from [[Template:Foo]] (edit, history)&amp;quot;.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;history-link-display&#039; --&amp;gt; &#039;history&#039;&lt;br /&gt;
	-- &#039;transcluded-from-blurb&#039; --&amp;gt; &lt;br /&gt;
	-- &#039;The above [[Wikipedia:Template documentation|documentation]] &lt;br /&gt;
	-- is [[Help:Transclusion|transcluded]] from $1.&#039;&lt;br /&gt;
	-- &#039;module-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
	-- &#039;create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;create-module-doc-blurb&#039; --&amp;gt;&lt;br /&gt;
	-- &#039;You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if docTitle.exists then&lt;br /&gt;
		-- /doc exists; link to it.&lt;br /&gt;
		local docLink = makeWikilink(docTitle.prefixedText)&lt;br /&gt;
		local editDisplay = message(&#039;edit-link-display&#039;)&lt;br /&gt;
		local editLink = makeWikilink(&amp;quot;Special:EditPage/&amp;quot; .. docTitle.prefixedText, editDisplay)&lt;br /&gt;
		local historyDisplay = message(&#039;history-link-display&#039;)&lt;br /&gt;
		local historyLink = makeWikilink(&amp;quot;Special:PageHistory/&amp;quot; .. docTitle.prefixedText, historyDisplay)&lt;br /&gt;
		return message(&#039;transcluded-from-blurb&#039;, {docLink})&lt;br /&gt;
			.. &#039; &#039;&lt;br /&gt;
			.. makeToolbar(editLink, historyLink)&lt;br /&gt;
			.. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
	elseif env.subjectSpace == 828 then&lt;br /&gt;
		-- /doc does not exist; ask to create it.&lt;br /&gt;
		local createUrl = docTitle:canonicalUrl{action = &#039;edit&#039;, preload = message(&#039;module-preload&#039;)}&lt;br /&gt;
		local createDisplay = message(&#039;create-link-display&#039;)&lt;br /&gt;
		local createLink = makeUrlLink(createUrl, createDisplay)&lt;br /&gt;
		return message(&#039;create-module-doc-blurb&#039;, {createLink})&lt;br /&gt;
			.. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeExperimentBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Renders the text &amp;quot;Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&amp;quot;&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;sandbox-link-display&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
	-- &#039;sandbox-edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;compare-link-display&#039; --&amp;gt; &#039;diff&#039;&lt;br /&gt;
	-- &#039;module-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-sandbox&#039;&lt;br /&gt;
	-- &#039;template-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
	-- &#039;sandbox-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;mirror-edit-summary&#039; --&amp;gt; &#039;Create sandbox version of $1&#039;&lt;br /&gt;
	-- &#039;mirror-link-display&#039; --&amp;gt; &#039;mirror&#039;&lt;br /&gt;
	-- &#039;mirror-link-preload&#039; --&amp;gt; &#039;Template:Documentation/mirror&#039;&lt;br /&gt;
	-- &#039;sandbox-link-display&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
	-- &#039;testcases-link-display&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;testcases-edit-link-display&#039;--&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;template-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
	-- &#039;testcases-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;testcases-link-display&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;testcases-edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;module-testcases-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-testcases&#039;&lt;br /&gt;
	-- &#039;template-testcases-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-testcases&#039;&lt;br /&gt;
	-- &#039;experiment-blurb-module&#039; --&amp;gt; &#039;Editors can experiment in this module&#039;s $1 and $2 pages.&#039;&lt;br /&gt;
	-- &#039;experiment-blurb-template&#039; --&amp;gt; &#039;Editors can experiment in this template&#039;s $1 and $2 pages.&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	local sandboxTitle = env.sandboxTitle&lt;br /&gt;
	local testcasesTitle = env.testcasesTitle&lt;br /&gt;
	local templatePage = templateTitle.prefixedText&lt;br /&gt;
	if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	-- Make links.&lt;br /&gt;
	local sandboxLinks, testcasesLinks&lt;br /&gt;
	if sandboxTitle.exists then&lt;br /&gt;
		local sandboxPage = sandboxTitle.prefixedText&lt;br /&gt;
		local sandboxDisplay = message(&#039;sandbox-link-display&#039;)&lt;br /&gt;
		local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)&lt;br /&gt;
		local sandboxEditDisplay = message(&#039;sandbox-edit-link-display&#039;)&lt;br /&gt;
		local sandboxEditLink = makeWikilink(&amp;quot;Special:EditPage/&amp;quot; .. sandboxPage, sandboxEditDisplay)&lt;br /&gt;
		local compareUrl = env.compareUrl&lt;br /&gt;
		local compareLink&lt;br /&gt;
		if compareUrl then&lt;br /&gt;
			local compareDisplay = message(&#039;compare-link-display&#039;)&lt;br /&gt;
			compareLink = makeUrlLink(compareUrl, compareDisplay)&lt;br /&gt;
		end&lt;br /&gt;
		sandboxLinks = sandboxLink .. &#039; &#039; .. makeToolbar(sandboxEditLink, compareLink)&lt;br /&gt;
	else&lt;br /&gt;
		local sandboxPreload&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			sandboxPreload = message(&#039;module-sandbox-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			sandboxPreload = message(&#039;template-sandbox-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = &#039;edit&#039;, preload = sandboxPreload}&lt;br /&gt;
		local sandboxCreateDisplay = message(&#039;sandbox-create-link-display&#039;)&lt;br /&gt;
		local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)&lt;br /&gt;
		local mirrorSummary = message(&#039;mirror-edit-summary&#039;, {makeWikilink(templatePage)})&lt;br /&gt;
		local mirrorPreload = message(&#039;mirror-link-preload&#039;)&lt;br /&gt;
		local mirrorUrl = sandboxTitle:canonicalUrl{action = &#039;edit&#039;, preload = mirrorPreload, summary = mirrorSummary}&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			mirrorUrl = sandboxTitle:canonicalUrl{action = &#039;edit&#039;, preload = templateTitle.prefixedText, summary = mirrorSummary}&lt;br /&gt;
		end&lt;br /&gt;
		local mirrorDisplay = message(&#039;mirror-link-display&#039;)&lt;br /&gt;
		local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)&lt;br /&gt;
		sandboxLinks = message(&#039;sandbox-link-display&#039;) .. &#039; &#039; .. makeToolbar(sandboxCreateLink, mirrorLink)&lt;br /&gt;
	end&lt;br /&gt;
	if testcasesTitle.exists then&lt;br /&gt;
		local testcasesPage = testcasesTitle.prefixedText&lt;br /&gt;
		local testcasesDisplay = message(&#039;testcases-link-display&#039;)&lt;br /&gt;
		local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)&lt;br /&gt;
		local testcasesEditUrl = testcasesTitle:canonicalUrl{action = &#039;edit&#039;}&lt;br /&gt;
		local testcasesEditDisplay = message(&#039;testcases-edit-link-display&#039;)&lt;br /&gt;
		local testcasesEditLink = makeWikilink(&amp;quot;Special:EditPage/&amp;quot; .. testcasesPage, testcasesEditDisplay)&lt;br /&gt;
		-- for Modules, add testcases run link if exists&lt;br /&gt;
		if testcasesTitle.contentModel == &amp;quot;Scribunto&amp;quot;  and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then&lt;br /&gt;
			local testcasesRunLinkDisplay = message(&#039;testcases-run-link-display&#039;)&lt;br /&gt;
			local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)&lt;br /&gt;
			testcasesLinks = testcasesLink .. &#039; &#039; .. makeToolbar(testcasesEditLink, testcasesRunLink)&lt;br /&gt;
		else&lt;br /&gt;
			testcasesLinks = testcasesLink .. &#039; &#039; .. makeToolbar(testcasesEditLink)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local testcasesPreload&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			testcasesPreload = message(&#039;module-testcases-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			testcasesPreload = message(&#039;template-testcases-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = &#039;edit&#039;, preload = testcasesPreload}&lt;br /&gt;
		local testcasesCreateDisplay = message(&#039;testcases-create-link-display&#039;)&lt;br /&gt;
		local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)&lt;br /&gt;
		testcasesLinks = message(&#039;testcases-link-display&#039;) .. &#039; &#039; .. makeToolbar(testcasesCreateLink)&lt;br /&gt;
	end&lt;br /&gt;
	local messageName&lt;br /&gt;
	if subjectSpace == 828 then&lt;br /&gt;
		messageName = &#039;experiment-blurb-module&#039;&lt;br /&gt;
	else&lt;br /&gt;
		messageName = &#039;experiment-blurb-template&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return message(messageName, {sandboxLinks, testcasesLinks})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeCategoriesBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the text &amp;quot;Please add categories to the /doc subpage.&amp;quot;&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;doc-link-display&#039; --&amp;gt; &#039;/doc&#039;&lt;br /&gt;
	-- &#039;add-categories-blurb&#039; --&amp;gt; &#039;Please add categories to the $1 subpage.&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local docPathLink = makeWikilink(docTitle.prefixedText, message(&#039;doc-link-display&#039;))&lt;br /&gt;
	return message(&#039;add-categories-blurb&#039;, {docPathLink})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeSubpagesBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the &amp;quot;Subpages of this template&amp;quot; link.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;template-pagetype&#039; --&amp;gt; &#039;template&#039;&lt;br /&gt;
	-- &#039;module-pagetype&#039; --&amp;gt; &#039;module&#039;&lt;br /&gt;
	-- &#039;default-pagetype&#039; --&amp;gt; &#039;page&#039;&lt;br /&gt;
	-- &#039;subpages-link-display&#039; --&amp;gt; &#039;Subpages of this $1&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	if not subjectSpace or not templateTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local pagetype&lt;br /&gt;
	if subjectSpace == 10 then&lt;br /&gt;
		pagetype = message(&#039;template-pagetype&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then&lt;br /&gt;
		pagetype = message(&#039;module-pagetype&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		pagetype = message(&#039;default-pagetype&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local subpagesLink = makeWikilink(&lt;br /&gt;
		&#039;Special:PrefixIndex/&#039; .. templateTitle.prefixedText .. &#039;/&#039;,&lt;br /&gt;
		message(&#039;subpages-link-display&#039;, {pagetype})&lt;br /&gt;
	)&lt;br /&gt;
	return message(&#039;subpages-blurb&#039;, {subpagesLink})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Tracking categories&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.addTrackingCategories(env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Check if {{documentation}} is transcluded on a /doc or /testcases page.&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;display-strange-usage-category&#039; --&amp;gt; true&lt;br /&gt;
	-- &#039;doc-subpage&#039; --&amp;gt; &#039;doc&#039;&lt;br /&gt;
	-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;strange-usage-category&#039; --&amp;gt; &#039;Wikipedia pages with strange ((documentation)) usage&#039;&lt;br /&gt;
	-- &lt;br /&gt;
	-- /testcases pages in the module namespace are not categorised, as they may have&lt;br /&gt;
	-- {{documentation}} transcluded automatically.&lt;br /&gt;
	--]]&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not title or not subjectSpace then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local subpage = title.subpageText&lt;br /&gt;
	if message(&#039;display-strange-usage-category&#039;, nil, &#039;boolean&#039;)&lt;br /&gt;
		and (&lt;br /&gt;
			subpage == message(&#039;doc-subpage&#039;)&lt;br /&gt;
			or subjectSpace ~= 828 and subpage == message(&#039;testcases-subpage&#039;)&lt;br /&gt;
		)&lt;br /&gt;
	then&lt;br /&gt;
		return makeCategoryLink(message(&#039;strange-usage-category&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	return &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Module:Arguments&amp;diff=1661</id>
		<title>Module:Arguments</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Module:Arguments&amp;diff=1661"/>
		<updated>2025-03-28T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Module:Arguments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module provides easy processing of arguments passed to Scribunto from&lt;br /&gt;
-- #invoke. It is intended for use by other Lua modules, and should not be&lt;br /&gt;
-- called from #invoke directly.&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
&lt;br /&gt;
local arguments = {}&lt;br /&gt;
&lt;br /&gt;
-- Generate four different tidyVal functions, so that we don&#039;t have to check the&lt;br /&gt;
-- options every time we call it.&lt;br /&gt;
&lt;br /&gt;
local function tidyValDefault(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		val = val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			return nil&lt;br /&gt;
		else&lt;br /&gt;
			return val&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValTrimOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		return val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValRemoveBlanksOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		if val:find(&#039;%S&#039;) then&lt;br /&gt;
			return val&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValNoChange(key, val)&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function matchesTitle(given, title)&lt;br /&gt;
	local tp = type( given )&lt;br /&gt;
	return (tp == &#039;string&#039; or tp == &#039;number&#039;) and mw.title.new( given ).prefixedText == title&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local translate_mt = { __index = function(t, k) return k end }&lt;br /&gt;
&lt;br /&gt;
function arguments.getArgs(frame, options)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 1, frame, &#039;table&#039;, true)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 2, options, &#039;table&#039;, true)&lt;br /&gt;
	frame = frame or {}&lt;br /&gt;
	options = options or {}&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up argument translation.&lt;br /&gt;
	--]]&lt;br /&gt;
	options.translate = options.translate or {}&lt;br /&gt;
	if getmetatable(options.translate) == nil then&lt;br /&gt;
		setmetatable(options.translate, translate_mt)&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate == nil then&lt;br /&gt;
		options.backtranslate = {}&lt;br /&gt;
		for k,v in pairs(options.translate) do&lt;br /&gt;
			options.backtranslate[v] = k&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate and getmetatable(options.backtranslate) == nil then&lt;br /&gt;
		setmetatable(options.backtranslate, {&lt;br /&gt;
			__index = function(t, k)&lt;br /&gt;
				if options.translate[k] ~= k then&lt;br /&gt;
					return nil&lt;br /&gt;
				else&lt;br /&gt;
					return k&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Get the argument tables. If we were passed a valid frame object, get the&lt;br /&gt;
	-- frame arguments (fargs) and the parent frame arguments (pargs), depending&lt;br /&gt;
	-- on the options set and on the parent frame&#039;s availability. If we weren&#039;t&lt;br /&gt;
	-- passed a valid frame object, we are being called from another Lua module&lt;br /&gt;
	-- or from the debug console, so assume that we were passed a table of args&lt;br /&gt;
	-- directly, and assign it to a new variable (luaArgs).&lt;br /&gt;
	--]]&lt;br /&gt;
	local fargs, pargs, luaArgs&lt;br /&gt;
	if type(frame.args) == &#039;table&#039; and type(frame.getParent) == &#039;function&#039; then&lt;br /&gt;
		if options.wrappers then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- The wrappers option makes Module:Arguments look up arguments in&lt;br /&gt;
			-- either the frame argument table or the parent argument table, but&lt;br /&gt;
			-- not both. This means that users can use either the #invoke syntax&lt;br /&gt;
			-- or a wrapper template without the loss of performance associated&lt;br /&gt;
			-- with looking arguments up in both the frame and the parent frame.&lt;br /&gt;
			-- Module:Arguments will look up arguments in the parent frame&lt;br /&gt;
			-- if it finds the parent frame&#039;s title in options.wrapper;&lt;br /&gt;
			-- otherwise it will look up arguments in the frame object passed&lt;br /&gt;
			-- to getArgs.&lt;br /&gt;
			--]]&lt;br /&gt;
			local parent = frame:getParent()&lt;br /&gt;
			if not parent then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			else&lt;br /&gt;
				local title = parent:getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;)&lt;br /&gt;
				local found = false&lt;br /&gt;
				if matchesTitle(options.wrappers, title) then&lt;br /&gt;
					found = true&lt;br /&gt;
				elseif type(options.wrappers) == &#039;table&#039; then&lt;br /&gt;
					for _,v in pairs(options.wrappers) do&lt;br /&gt;
						if matchesTitle(v, title) then&lt;br /&gt;
							found = true&lt;br /&gt;
							break&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- We test for false specifically here so that nil (the default) acts like true.&lt;br /&gt;
				if found or options.frameOnly == false then&lt;br /&gt;
					pargs = parent.args&lt;br /&gt;
				end&lt;br /&gt;
				if not found or options.parentOnly == false then&lt;br /&gt;
					fargs = frame.args&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- options.wrapper isn&#039;t set, so check the other options.&lt;br /&gt;
			if not options.parentOnly then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			end&lt;br /&gt;
			if not options.frameOnly then&lt;br /&gt;
				local parent = frame:getParent()&lt;br /&gt;
				pargs = parent and parent.args or nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if options.parentFirst then&lt;br /&gt;
			fargs, pargs = pargs, fargs&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		luaArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the order of precedence of the argument tables. If the variables are&lt;br /&gt;
	-- nil, nothing will be added to the table, which is how we avoid clashes&lt;br /&gt;
	-- between the frame/parent args and the Lua args.&lt;br /&gt;
	local argTables = {fargs}&lt;br /&gt;
	argTables[#argTables + 1] = pargs&lt;br /&gt;
	argTables[#argTables + 1] = luaArgs&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generate the tidyVal function. If it has been specified by the user, we&lt;br /&gt;
	-- use that; if not, we choose one of four functions depending on the&lt;br /&gt;
	-- options chosen. This is so that we don&#039;t have to call the options table&lt;br /&gt;
	-- every time the function is called.&lt;br /&gt;
	--]]&lt;br /&gt;
	local tidyVal = options.valueFunc&lt;br /&gt;
	if tidyVal then&lt;br /&gt;
		if type(tidyVal) ~= &#039;function&#039; then&lt;br /&gt;
			error(&lt;br /&gt;
				&amp;quot;bad value assigned to option &#039;valueFunc&#039;&amp;quot;&lt;br /&gt;
					.. &#039;(function expected, got &#039;&lt;br /&gt;
					.. type(tidyVal)&lt;br /&gt;
					.. &#039;)&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif options.trim ~= false then&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValDefault&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValTrimOnly&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValRemoveBlanksOnly&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValNoChange&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up the args, metaArgs and nilArgs tables. args will be the one&lt;br /&gt;
	-- accessed from functions, and metaArgs will hold the actual arguments. Nil&lt;br /&gt;
	-- arguments are memoized in nilArgs, and the metatable connects all of them&lt;br /&gt;
	-- together.&lt;br /&gt;
	--]]&lt;br /&gt;
	local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}&lt;br /&gt;
	setmetatable(args, metatable)&lt;br /&gt;
&lt;br /&gt;
	local function mergeArgs(tables)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Accepts multiple tables as input and merges their keys and values&lt;br /&gt;
		-- into one table. If a value is already present it is not overwritten;&lt;br /&gt;
		-- tables listed earlier have precedence. We are also memoizing nil&lt;br /&gt;
		-- values, which can be overwritten if they are &#039;s&#039; (soft).&lt;br /&gt;
		--]]&lt;br /&gt;
		for _, t in ipairs(tables) do&lt;br /&gt;
			for key, val in pairs(t) do&lt;br /&gt;
				if metaArgs[key] == nil and nilArgs[key] ~= &#039;h&#039; then&lt;br /&gt;
					local tidiedVal = tidyVal(key, val)&lt;br /&gt;
					if tidiedVal == nil then&lt;br /&gt;
						nilArgs[key] = &#039;s&#039;&lt;br /&gt;
					else&lt;br /&gt;
						metaArgs[key] = tidiedVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Define metatable behaviour. Arguments are memoized in the metaArgs table,&lt;br /&gt;
	-- and are only fetched from the argument tables once. Fetching arguments&lt;br /&gt;
	-- from the argument tables is the most resource-intensive step in this&lt;br /&gt;
	-- module, so we try and avoid it where possible. For this reason, nil&lt;br /&gt;
	-- arguments are also memoized, in the nilArgs table. Also, we keep a record&lt;br /&gt;
	-- in the metatable of when pairs and ipairs have been called, so we do not&lt;br /&gt;
	-- run pairs and ipairs on the argument tables more than once. We also do&lt;br /&gt;
	-- not run ipairs on fargs and pargs if pairs has already been run, as all&lt;br /&gt;
	-- the arguments will already have been copied over.&lt;br /&gt;
	--]]&lt;br /&gt;
&lt;br /&gt;
	metatable.__index = function (t, key)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Fetches an argument when the args table is indexed. First we check&lt;br /&gt;
		-- to see if the value is memoized, and if not we try and fetch it from&lt;br /&gt;
		-- the argument tables. When we check memoization, we need to check&lt;br /&gt;
		-- metaArgs before nilArgs, as both can be non-nil at the same time.&lt;br /&gt;
		-- If the argument is not present in metaArgs, we also check whether&lt;br /&gt;
		-- pairs has been run yet. If pairs has already been run, we return nil.&lt;br /&gt;
		-- This is because all the arguments will have already been copied into&lt;br /&gt;
		-- metaArgs by the mergeArgs function, meaning that any other arguments&lt;br /&gt;
		-- must be nil.&lt;br /&gt;
		--]]&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		local val = metaArgs[key]&lt;br /&gt;
		if val ~= nil then&lt;br /&gt;
			return val&lt;br /&gt;
		elseif metatable.donePairs or nilArgs[key] then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		for _, argTable in ipairs(argTables) do&lt;br /&gt;
			local argTableVal = tidyVal(key, argTable[key])&lt;br /&gt;
			if argTableVal ~= nil then&lt;br /&gt;
				metaArgs[key] = argTableVal&lt;br /&gt;
				return argTableVal&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__newindex = function (t, key, val)&lt;br /&gt;
		-- This function is called when a module tries to add a new value to the&lt;br /&gt;
		-- args table, or tries to change an existing value.&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		if options.readOnly then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; the table is read-only&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif options.noOverwrite and args[key] ~= nil then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; overwriting existing arguments is not permitted&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif val == nil then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- If the argument is to be overwritten with nil, we need to erase&lt;br /&gt;
			-- the value in metaArgs, so that __index, __pairs and __ipairs do&lt;br /&gt;
			-- not use a previous existing value, if present; and we also need&lt;br /&gt;
			-- to memoize the nil in nilArgs, so that the value isn&#039;t looked&lt;br /&gt;
			-- up in the argument tables if it is accessed again.&lt;br /&gt;
			--]]&lt;br /&gt;
			metaArgs[key] = nil&lt;br /&gt;
			nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		else&lt;br /&gt;
			metaArgs[key] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function translatenext(invariant)&lt;br /&gt;
		local k, v = next(invariant.t, invariant.k)&lt;br /&gt;
		invariant.k = k&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			return nil&lt;br /&gt;
		elseif type(k) ~= &#039;string&#039; or not options.backtranslate then&lt;br /&gt;
			return k, v&lt;br /&gt;
		else&lt;br /&gt;
			local backtranslate = options.backtranslate[k]&lt;br /&gt;
			if backtranslate == nil then&lt;br /&gt;
				-- Skip this one. This is a tail call, so this won&#039;t cause stack overflow&lt;br /&gt;
				return translatenext(invariant)&lt;br /&gt;
			else&lt;br /&gt;
				return backtranslate, v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__pairs = function ()&lt;br /&gt;
		-- Called when pairs is run on the args table.&lt;br /&gt;
		if not metatable.donePairs then&lt;br /&gt;
			mergeArgs(argTables)&lt;br /&gt;
			metatable.donePairs = true&lt;br /&gt;
		end&lt;br /&gt;
		return translatenext, { t = metaArgs }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function inext(t, i)&lt;br /&gt;
		-- This uses our __index metamethod&lt;br /&gt;
		local v = t[i + 1]&lt;br /&gt;
		if v ~= nil then&lt;br /&gt;
			return i + 1, v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__ipairs = function (t)&lt;br /&gt;
		-- Called when ipairs is run on the args table.&lt;br /&gt;
		return inext, t, 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return arguments&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Documentation&amp;diff=1659</id>
		<title>Template:Documentation</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Documentation&amp;diff=1659"/>
		<updated>2025-03-28T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Citation&amp;diff=1657</id>
		<title>Template:Citation</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Citation&amp;diff=1657"/>
		<updated>2025-03-28T14:01:11Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :mirahezedev:Template:Citation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:citation/CS1|citation&lt;br /&gt;
|CitationClass=citation&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Featured_article&amp;diff=1655</id>
		<title>Template:Featured article</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Featured_article&amp;diff=1655"/>
		<updated>2025-03-27T17:06:18Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;&amp;lt;big&amp;gt;[[Android_OS|Android OS]]&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Wikipedia:Android (operating system)|Android]] is a widely used operating system used by nearly all non-[[Wikipedia:IOS|Apple]] smartphones, including [[Wikipedia:Google Pixel|Google Pixel]], [[Wikipedia:Samsung Galaxy|Samsung Galaxy]], and many more. (Side note, Samsung Galaxy does run on [[Wikipedia:One UI|One UI]] but is still powered by Android)&lt;br /&gt;
&lt;br /&gt;
{{Main other|{{Top icon&lt;br /&gt;
| imagename    = cscr-featured.svg&lt;br /&gt;
| wikilink     = Wikipedia:Featured articles*&lt;br /&gt;
| alt          = Featured article&lt;br /&gt;
| description  = This is a featured article. Click here for more information.&lt;br /&gt;
| id           = featured-star&lt;br /&gt;
| maincat      = [[Category:Featured articles]]&lt;br /&gt;
}}|&amp;lt;includeonly&amp;gt;{{Error|[[Template:Featured article]] is only for [[Wikipedia:Featured articles]].}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Featured_article&amp;diff=1654</id>
		<title>Template:Featured article</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Featured_article&amp;diff=1654"/>
		<updated>2025-03-27T17:05:21Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=[[Android_OS|Android OS]]=&lt;br /&gt;
[[Wikipedia:Android (operating system)|Android]] is a widely used operating system used by nearly all non-[[Wikipedia:IOS|Apple]] smartphones, including [[Wikipedia:Google Pixel|Google Pixel]], [[Wikipedia:Samsung Galaxy|Samsung Galaxy]], and many more. (Side note, Samsung Galaxy does run on [[Wikipedia:One UI|One UI]] but is still powered by Android)&lt;br /&gt;
&lt;br /&gt;
{{Main other|{{Top icon&lt;br /&gt;
| imagename    = cscr-featured.svg&lt;br /&gt;
| wikilink     = Wikipedia:Featured articles*&lt;br /&gt;
| alt          = Featured article&lt;br /&gt;
| description  = This is a featured article. Click here for more information.&lt;br /&gt;
| id           = featured-star&lt;br /&gt;
| maincat      = [[Category:Featured articles]]&lt;br /&gt;
}}|&amp;lt;includeonly&amp;gt;{{Error|[[Template:Featured article]] is only for [[Wikipedia:Featured articles]].}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Featured_article&amp;diff=1653</id>
		<title>Template:Featured article</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Featured_article&amp;diff=1653"/>
		<updated>2025-03-27T17:04:23Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Wikipedia:Android (operating system)|Android]] is a widely used operating system used by nearly all non-[[Wikipedia:IOS|Apple]] smartphones, including [[Wikipedia:Google Pixel|Google Pixel]], [[Wikipedia:Samsung Galaxy|Samsung Galaxy]], and many more. (Side note, Samsung Galaxy does run on [[Wikipedia:One UI|One UI]] but is still powered by Android)&lt;br /&gt;
&lt;br /&gt;
{{Main other|{{Top icon&lt;br /&gt;
| imagename    = cscr-featured.svg&lt;br /&gt;
| wikilink     = Wikipedia:Featured articles*&lt;br /&gt;
| alt          = Featured article&lt;br /&gt;
| description  = This is a featured article. Click here for more information.&lt;br /&gt;
| id           = featured-star&lt;br /&gt;
| maincat      = [[Category:Featured articles]]&lt;br /&gt;
}}|&amp;lt;includeonly&amp;gt;{{Error|[[Template:Featured article]] is only for [[Wikipedia:Featured articles]].}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Featured_article&amp;diff=1651</id>
		<title>Template:Featured article</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Featured_article&amp;diff=1651"/>
		<updated>2025-03-27T16:48:22Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main other|{{Top icon&lt;br /&gt;
| imagename    = cscr-featured.svg&lt;br /&gt;
| wikilink     = Wikipedia:Featured articles*&lt;br /&gt;
| alt          = Featured article&lt;br /&gt;
| description  = This is a featured article. Click here for more information.&lt;br /&gt;
| id           = featured-star&lt;br /&gt;
| maincat      = [[Category:Featured articles]]&lt;br /&gt;
}}|&amp;lt;includeonly&amp;gt;{{Error|[[Template:Featured article]] is only for [[Wikipedia:Featured articles]].}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Featured_article/doc&amp;diff=1650</id>
		<title>Template:Featured article/doc</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Featured_article/doc&amp;diff=1650"/>
		<updated>2025-03-27T16:47:54Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Featured_article/doc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
{{High-use|{{FA number}}}}&lt;br /&gt;
&amp;lt;!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
This template places a small star ([[Image:Cscr-featured.svg|14px]]) in the top right corner of an article to indicate that it is a [[Wikipedia:Featured articles|featured article on Wikipedia]], and that it has met the [[Wikipedia:Featured article criteria|featured article criteria]], successfully passing a nomination on the [[Wikipedia:Featured article candidates|featured article candidates page]]. It categorises them into [[:Category:Featured articles]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
This template should be placed at the top of the article after hatnotes. It should be removed if a featured article fails a [[Wikipedia:Featured article review|featured article review]], as well as from articles that have never passed through the featured article candidates process. &lt;br /&gt;
&lt;br /&gt;
{{Top icon templates}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- PLEASE ADD CATEGORIES BELOW THIS LINE, THANK YOU. --&amp;gt;&lt;br /&gt;
[[Category:Top icon content award templates]]&lt;br /&gt;
[[Category:Wikipedia featured content templates|Article]]&lt;br /&gt;
[[Category:Title templates]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Vcite&amp;diff=1645</id>
		<title>Template:Vcite</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Vcite&amp;diff=1645"/>
		<updated>2025-03-26T14:23:51Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Vcite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Help:Citation Style Vancouver|Citation Style Vancouver]]&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Documentation assistance templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Redirect1&amp;diff=1643</id>
		<title>Template:Redirect1</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Redirect1&amp;diff=1643"/>
		<updated>2025-03-26T14:23:51Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Redirect1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Redirect]]&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Webarchive/doc&amp;diff=1639</id>
		<title>Template:Webarchive/doc</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Webarchive/doc&amp;diff=1639"/>
		<updated>2025-03-26T14:21:56Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Webarchive/doc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
{{high-risk}}&lt;br /&gt;
{{info|1=This template is intended for [[Wikipedia:External links|external links]]. It is not designed for use as a [[Wikipedia:Citation templates|citation template]].}}&lt;br /&gt;
{{lua|Module:Webarchive|Module:Webarchive/data}}&lt;br /&gt;
{{tl|{{BASEPAGENAME}}}} is for linking to web archiving services such as the [[Wayback Machine]], [[WebCite]] and [[List of Web archiving initiatives|all other web archiving services]].&lt;br /&gt;
&lt;br /&gt;
This template is a replacement for {{tld|wayback}}, {{tld|webcite}}, {{tld|memento}} and {{tld|cite archives}}, as decided in [[Wikipedia:Templates for discussion/Log/2016 October 24#Template:Wayback|this discussion]].&lt;br /&gt;
&lt;br /&gt;
Note: The most common method for linking a web archive are the CS1|2 templates such as {{tld|cite web}} with the {{para|archive-url}}, {{para|archive-date}}, and {{para|url-status}} parameters. Please be aware of [[WP:CITEVAR]] before converting this template to a CS1|2 template.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
In most cases the template needs only two parameters, the archive {{para|url}} and archive {{para|date}}. It is also common to include a {{para|title}}. For some URLs, the template can automatically display the date. To prevent the template from adding a [[Help:wikilink|wikilink]] to the name of the [[web archiving]] site, use the {{para|nolink}} parameter with any value.&lt;br /&gt;
&lt;br /&gt;
; Usage with {{para|url}} and {{para|date}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=2 August 2016}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=2 August 2016}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |date=12 February 2009}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |date=12 February 2009}}&lt;br /&gt;
; Usage with {{para|url}} and {{para|title}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Page title}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Page title}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |title=Page title}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |title=Page title}}&lt;br /&gt;
; Usage with {{para|url}}, {{para|date}} and {{para|title}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016 |title=Page title}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016 |title=Page title}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |date=February 12, 2009 |title=Page title}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |date=February 12, 2009 |title=Page title}}&lt;br /&gt;
; Usage with {{para|url}}, {{para|date}} and {{para|nolink}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016 |nolink=y}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016 |nolink=y}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |date=February 12, 2009 |nolink=1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |date=February 12, 2009 |nolink=1}}&lt;br /&gt;
&lt;br /&gt;
== Multiple URLs ==&lt;br /&gt;
&lt;br /&gt;
The template optionally supports multiple URLs (up to 10) for linking to multiple archiving services for the same source link. The first url argument is {{para|url}} then {{para|url2}} .. {{para|url10}}. Each URL can have its own date and title argument, thus {{para|date2}} .. {{para|date10}} and {{para|title2}} .. {{para|title10}}. &lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
&lt;br /&gt;
===Main parameters===&lt;br /&gt;
&lt;br /&gt;
;url..url10: The URL(s) to the archive service. There should always be a {{para|url}} which counts as the first url. Each {{para|url#}} can have its own numbered corresponding {{para|date#}} and {{para|title#}}. Matching of URL with date and title is done by numbers, not position. Numbers do not need to be in sequence, for example {{para|url2}} followed by {{para|url5}} works. &lt;br /&gt;
;date..date10: The date the page was archived. The date format displayed is the same as entered. If {{para|date}} is missing the template will make a best effort to find the date by decoding the archive URL (wayback and webcite for example provide this data in the URL), and will display the date in iso format by default. However including a date is recommended for date formatting reasons, and because other tools may not have the ability to decode the date from the URL.&lt;br /&gt;
;title..title10: The text displayed for the link. If no {{para|title}} is provided then {{para|date}} is displayed. Otherwise {{para|title}} takes precedence if both are set.&lt;br /&gt;
&lt;br /&gt;
===Secondary parameters===&lt;br /&gt;
&lt;br /&gt;
;nolink: If set to any value, the archive service name will not be wikilinked.&lt;br /&gt;
;format: This is a special option to support the merger of {{tld|cite archives}}. It may be deprecated in the future. Because CS1|2 templates do not currently support more than one archive link, this template will tack on additional archive links to the end of a CS1|2 template output. It takes two values: {{para|format|addlarchives}} or {{para|format|addlpages}}. &#039;&#039;Addlarchives&#039;&#039; will display output appropriate for linking to multiple web archiving services. &#039;&#039;Addlpages&#039;&#039; will display output appropriate for linking to multiple pages at the same archive.&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The number of possible examples is extensive depending on the mix of options. Some common cases follow. For more extensive testing see the [[Template:Webarchive/testcases|testcases page]].&lt;br /&gt;
&lt;br /&gt;
; Single link at the [[Wayback Machine]] with date and title (&amp;lt;em&amp;gt;recommended method&amp;lt;/em&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016 |title=Page title}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016 |title=Page title}}&lt;br /&gt;
; Single link at the Wayback Machine with date only&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 1, 2016}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016}}&lt;br /&gt;
; Single link at the Wayback Machine with title; date extracted from URL&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Example}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Example}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Example |date=mdy}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Example |date=mdy}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Example |date=dmy}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Example |date=dmy}}&lt;br /&gt;
; Single link at [[WebCite]] with title; date extracted from URL&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com |title=Example}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com |title=Example}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com |title=Example |date=mdy}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com |title=Example |date=mdy}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com |title=Example |date=dmy}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com |title=Example |date=dmy}}&lt;br /&gt;
; Single link at [[archive.today]] with title; date extracted from URL&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://archive.today/2016.08.08-112330/http://example.com |title=Example}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://archive.today/2016.08.08-112330/http://example.com |title=Example}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://archive.today/2016.08.08-112330/http://example.com |title=Example |date=mdy}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://archive.today/2016.08.08-112330/http://example.com |title=Example |date=mdy}}&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://archive.today/2016.08.08-112330/http://example.com |title=Example |date=dmy}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://archive.today/2016.08.08-112330/http://example.com |title=Example |date=dmy}}&lt;br /&gt;
; Multi-link at the Wayback Machine with dates and titles (&amp;lt;em&amp;gt;recommended method&amp;lt;/em&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Page title |date=August 2, 2016 |url2=https://web.archive.org/web/20160902000046/http://example.com/ |title2=Page2 title |date2=September 2, 2016}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Page title |date=August 2, 2016 |url2=https://web.archive.org/web/20160902000046/http://example.com/ |title2=Page2 title |date2=September 2, 2016}}&lt;br /&gt;
; Multi-link at the Wayback Machine with dates only&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016 |url2=https://web.archive.org/web/20160902000046/http://example.com/ |date2=September 2, 2016}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |date=August 2, 2016 |url2=https://web.archive.org/web/20160902000046/http://example.com/ |date2=September 2, 2016}}&lt;br /&gt;
; Multi-link at the Wayback Machine with titles only&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Page title |url2=https://web.archive.org/web/20160902000046/http://example.com/ |title2=Page2 title}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |url=https://web.archive.org/web/20160802001301/http://example.com/ |title=Page title |url2=https://web.archive.org/web/20160902000046/http://example.com/ |title2=Page2 title}}&lt;br /&gt;
; Additional archives format&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |format=addlarchives |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |date=12 February 2009}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |format=addlarchives |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |date=12 February 2009}}&lt;br /&gt;
; Additional pages format&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{webarchive |format=addlpages |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |url2=https://web.archive.org/web/20160902000046/http://example.com/ |date=12 February 2009}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: {{webarchive |format=addlpages |url=https://www.webcitation.org/5eWaHRbn4?url=http://www.example.com/ |url2=https://web.archive.org/web/20160902000046/http://example.com/ |date=12 February 2009}}&lt;br /&gt;
&lt;br /&gt;
== Tracking categories ==&lt;br /&gt;
The template has a number of hidden tracking categories which may be added (via [[Module:Webarchive]]):&lt;br /&gt;
&lt;br /&gt;
===Tracking archive sites===&lt;br /&gt;
* {{clc|Webarchive template wayback links}}: links to the Wayback Machine&lt;br /&gt;
* {{clc|Webarchive template archiveis links}}: links to Archive.today&lt;br /&gt;
* {{clc|Webarchive template webcite links}}: links to WebCite&lt;br /&gt;
* {{clc|Webarchive template other archives}}: links to known archive sites that don&#039;t have their own tracking category&lt;br /&gt;
* {{clc|Webarchive template unknown archives}}: the template doesn&#039;t recognize the archive URL; this may indicate an error in the data; or the template itself needs updating to reflect a new archive site&lt;br /&gt;
&lt;br /&gt;
===Tracking warnings and errors===&lt;br /&gt;
* {{clc|Webarchive template warnings}}: soft errors that do not prevent the template from working but leave a red message&lt;br /&gt;
* {{clc|Webarchive template errors}}: errors typically requiring human intervention&lt;br /&gt;
&lt;br /&gt;
== Template maintenance ==&lt;br /&gt;
The following can be done to maintain the template.&lt;br /&gt;
&lt;br /&gt;
===Monitor tracking categories===&lt;br /&gt;
* The tracking categories for &amp;quot;warnings&amp;quot; and &amp;quot;errors&amp;quot; can be monitored to alert for any problems in the data. &lt;br /&gt;
* The tracking category for &amp;quot;unknown archives&amp;quot; may indicate a problem in the data; for example an editor used the source URL instead of the archive URL in the {{para|url}} field. &lt;br /&gt;
&lt;br /&gt;
===Monitor template argument usage===&lt;br /&gt;
[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&amp;amp;template=Webarchive This tool] shows which instances of the template are using which arguments—it might show, for example, that {{para|access-date}} is being used by five instances in five articles. Since this is an error (the template does not support {{para|access-date}}) those five template instances should be fixed to remove the {{para|access-date}}.&lt;br /&gt;
&lt;br /&gt;
===Configuration: verifydates===&lt;br /&gt;
The template can verify that dates in URLs for Wayback, WebCite, and Archive.is match the date in the {{para|date}} argument. If the dates do not match it will display the date from the URL, add a red warning message &amp;quot;date mismatch&amp;quot;, and add the article to the warning tracking category. &lt;br /&gt;
&lt;br /&gt;
Because the verification function adds some overhead to the template, it can optionally be globally disabled by setting the variable &amp;quot;verifydates = no&amp;quot; (see the Module source in function p.webarchive()). Note that after setting to &amp;quot;yes&amp;quot;, it can take a week or more for the tracking category to be fully populated. Set to &amp;quot;yes&amp;quot; if you are searching for problems in the data that need fixing (they&#039;ll show up in the tracking category). &lt;br /&gt;
&lt;br /&gt;
===Configuration: maxurls===&lt;br /&gt;
The max number of URLs is 10 but this can be changed by setting the &amp;quot;maxurls&amp;quot; variable in the p.webarchive() function. This is a global variable that will affect all instances of the template, use with caution. Reducing the number will increase the template speed and reduce resource use.&lt;br /&gt;
&lt;br /&gt;
==TemplateData==&lt;br /&gt;
{{TemplateData header}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;description&amp;quot;: &amp;quot;A template for linking to offsite archives such as Wayback, WebCite, Archive.is, etc.. &amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
        &amp;quot;url&amp;quot;: {&lt;br /&gt;
            &amp;quot;label&amp;quot;: &amp;quot;Archive URL&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;URL to the archive.&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
            &amp;quot;example&amp;quot;: &amp;quot;https://web.archive.org/web/20160802001301/http://example.com/&amp;quot;,&lt;br /&gt;
            &amp;quot;required&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;date&amp;quot;: {&lt;br /&gt;
            &amp;quot;label&amp;quot;: &amp;quot;Archive date&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Date of the archive.&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
            &amp;quot;example&amp;quot;: &amp;quot;August 2, 2016&amp;quot;,&lt;br /&gt;
            &amp;quot;suggested&amp;quot;: true&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;title&amp;quot;: {&lt;br /&gt;
            &amp;quot;label&amp;quot;: &amp;quot;Archive title&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Title (or text) displayed on the Wiki page for the link.&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
            &amp;quot;suggested&amp;quot;: true,&lt;br /&gt;
            &amp;quot;example&amp;quot;: &amp;quot;Example website&amp;quot;,&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;Date argument, or the word &#039;Archive&#039;&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;nolink&amp;quot;: {&lt;br /&gt;
            &amp;quot;label&amp;quot;: &amp;quot;Wikilink&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;Wikilink to the archive&#039;s page in the rendering. Any value including blank means no wikilink.&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;format&amp;quot;: {&lt;br /&gt;
            &amp;quot;label&amp;quot;: &amp;quot;Format of template rendering.&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;For multi-URL instances, render display in one of two formats.&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line, please; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Internet Archive templates]]&lt;br /&gt;
[[Category:Templates that add a tracking category]]&lt;br /&gt;
[[Category:Web archive external link templates]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Module:Transclusion_count/data/W&amp;diff=1637</id>
		<title>Module:Transclusion count/data/W</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Module:Transclusion_count/data/W&amp;diff=1637"/>
		<updated>2025-03-26T14:21:55Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Module:Transclusion_count/data/W&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
[&amp;quot;WAL&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WDL&amp;quot;] = 7500,&lt;br /&gt;
[&amp;quot;WDLtot&amp;quot;] = 6000,&lt;br /&gt;
[&amp;quot;WP1&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;WPBS&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WPB_Announcements&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WPEUR10k&amp;quot;] = 9300,&lt;br /&gt;
[&amp;quot;WPLA10k&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WPMILHIST_Infobox_style&amp;quot;] = 151000,&lt;br /&gt;
[&amp;quot;WPOCEANIA10k&amp;quot;] = 3700,&lt;br /&gt;
[&amp;quot;WPSS-cat&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WPTC_track_map_key&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WPUKIR10k&amp;quot;] = 9300,&lt;br /&gt;
[&amp;quot;WPUKIR20k&amp;quot;] = 9500,&lt;br /&gt;
[&amp;quot;WPUS&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WPVG_announcements&amp;quot;] = 112000,&lt;br /&gt;
[&amp;quot;WPVG_announcements/shell&amp;quot;] = 112000,&lt;br /&gt;
[&amp;quot;WPVG_icon&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WPVG_icon_direct&amp;quot;] = 149000,&lt;br /&gt;
[&amp;quot;WPX_action_box&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WPX_block&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WPX_last_updated&amp;quot;] = 5100,&lt;br /&gt;
[&amp;quot;WPX_list_end&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WPX_list_start&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WPX_subheader&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WP_Architecture&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;WP_Athletics&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WP_Crime&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WP_Years&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WPbox&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;WPbox/1&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;WRMS_source&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WRMS_species&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WTA&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;Warning&amp;quot;] = 56000,&lt;br /&gt;
[&amp;quot;Watch&amp;quot;] = 28000,&lt;br /&gt;
[&amp;quot;Wb&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;Wdib&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;Weather_box&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;Webarchive&amp;quot;] = 581000,&lt;br /&gt;
[&amp;quot;Wednesday&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;Welcome_ISP&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;Welcome_graphical/links&amp;quot;] = 61000,&lt;br /&gt;
[&amp;quot;Welcomeg/links&amp;quot;] = 61000,&lt;br /&gt;
[&amp;quot;Western_name_order&amp;quot;] = 6500,&lt;br /&gt;
[&amp;quot;What_links_here&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;When&amp;quot;] = 26000,&lt;br /&gt;
[&amp;quot;Where&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;Which&amp;quot;] = 6300,&lt;br /&gt;
[&amp;quot;Whisperback&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;White&amp;quot;] = 77000,&lt;br /&gt;
[&amp;quot;Who&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;Who&#039;s_Who&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;Whois&amp;quot;] = 9500,&lt;br /&gt;
[&amp;quot;Wide_image&amp;quot;] = 9300,&lt;br /&gt;
[&amp;quot;WikiProjectBannerShell&amp;quot;] = 91000,&lt;br /&gt;
[&amp;quot;WikiProjectCard&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_2010s&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Academic_Journals&amp;quot;] = 35000,&lt;br /&gt;
[&amp;quot;WikiProject_Afghanistan&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Africa&amp;quot;] = 219000,&lt;br /&gt;
[&amp;quot;WikiProject_African_diaspora&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;WikiProject_AfroCreatives&amp;quot;] = 9400,&lt;br /&gt;
[&amp;quot;WikiProject_Agriculture&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Alabama&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Alaska&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Albania&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Albums&amp;quot;] = 393000,&lt;br /&gt;
[&amp;quot;WikiProject_Algae&amp;quot;] = 4900,&lt;br /&gt;
[&amp;quot;WikiProject_Algeria&amp;quot;] = 7400,&lt;br /&gt;
[&amp;quot;WikiProject_Alternative_medicine&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Alternative_music&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Alternative_views&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_American_Open_Wheel_Racing&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;WikiProject_American_football&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Amphibians_and_Reptiles&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_Amusement_Parks&amp;quot;] = 6900,&lt;br /&gt;
[&amp;quot;WikiProject_Amusement_Parks/importance&amp;quot;] = 6900,&lt;br /&gt;
[&amp;quot;WikiProject_Anarchism&amp;quot;] = 3600,&lt;br /&gt;
[&amp;quot;WikiProject_Anarchism_cleanup_issue_count&amp;quot;] = 3600,&lt;br /&gt;
[&amp;quot;WikiProject_Anatomy&amp;quot;] = 22000,&lt;br /&gt;
[&amp;quot;WikiProject_Ancient_Egypt&amp;quot;] = 5700,&lt;br /&gt;
[&amp;quot;WikiProject_Ancient_Near_East&amp;quot;] = 7100,&lt;br /&gt;
[&amp;quot;WikiProject_Anglicanism&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Anglo-Saxon_Kingdoms&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Animal_rights&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Animals&amp;quot;] = 32000,&lt;br /&gt;
[&amp;quot;WikiProject_Animation&amp;quot;] = 39000,&lt;br /&gt;
[&amp;quot;WikiProject_Animation/importance&amp;quot;] = 39000,&lt;br /&gt;
[&amp;quot;WikiProject_Anime_and_manga&amp;quot;] = 42000,&lt;br /&gt;
[&amp;quot;WikiProject_Anime_and_manga/checks&amp;quot;] = 42000,&lt;br /&gt;
[&amp;quot;WikiProject_Anime_and_manga/type_check&amp;quot;] = 42000,&lt;br /&gt;
[&amp;quot;WikiProject_Antarctica&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Anthropology&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Anthroponymy&amp;quot;] = 134000,&lt;br /&gt;
[&amp;quot;WikiProject_Antigua_and_Barbuda&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Apple_Inc.&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_Apps&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Arab_world&amp;quot;] = 6400,&lt;br /&gt;
[&amp;quot;WikiProject_Archaeology&amp;quot;] = 22000,&lt;br /&gt;
[&amp;quot;WikiProject_Architecture&amp;quot;] = 153000,&lt;br /&gt;
[&amp;quot;WikiProject_Arctic&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Arena_Football_League&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Argentina&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Arizona&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;WikiProject_Armenia&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Arthropods&amp;quot;] = 28000,&lt;br /&gt;
[&amp;quot;WikiProject_Articles_for_creation&amp;quot;] = 200000,&lt;br /&gt;
[&amp;quot;WikiProject_Arts&amp;quot;] = 9500,&lt;br /&gt;
[&amp;quot;WikiProject_Asia&amp;quot;] = 28000,&lt;br /&gt;
[&amp;quot;WikiProject_Assyria&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;WikiProject_Astronomy&amp;quot;] = 81000,&lt;br /&gt;
[&amp;quot;WikiProject_Astronomy/importance&amp;quot;] = 81000,&lt;br /&gt;
[&amp;quot;WikiProject_Athletics&amp;quot;] = 83000,&lt;br /&gt;
[&amp;quot;WikiProject_Auckland&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Australia&amp;quot;] = 266000,&lt;br /&gt;
[&amp;quot;WikiProject_Australia/ACR&amp;quot;] = 266000,&lt;br /&gt;
[&amp;quot;WikiProject_Austria&amp;quot;] = 32000,&lt;br /&gt;
[&amp;quot;WikiProject_Autism&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Automobiles&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Aviation&amp;quot;] = 80000,&lt;br /&gt;
[&amp;quot;WikiProject_Awards&amp;quot;] = 39000,&lt;br /&gt;
[&amp;quot;WikiProject_Azerbaijan&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_BBC&amp;quot;] = 8500,&lt;br /&gt;
[&amp;quot;WikiProject_Badminton&amp;quot;] = 8300,&lt;br /&gt;
[&amp;quot;WikiProject_Bahrain&amp;quot;] = 3400,&lt;br /&gt;
[&amp;quot;WikiProject_Bangladesh&amp;quot;] = 28000,&lt;br /&gt;
[&amp;quot;WikiProject_BannerShell&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Banner_Shell&amp;quot;] = 8000,&lt;br /&gt;
[&amp;quot;WikiProject_Baseball&amp;quot;] = 88000,&lt;br /&gt;
[&amp;quot;WikiProject_Basketball&amp;quot;] = 65000,&lt;br /&gt;
[&amp;quot;WikiProject_Basque&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Bavaria&amp;quot;] = 5800,&lt;br /&gt;
[&amp;quot;WikiProject_Beauty_Pageants&amp;quot;] = 8300,&lt;br /&gt;
[&amp;quot;WikiProject_Beer&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;WikiProject_Beetles&amp;quot;] = 49000,&lt;br /&gt;
[&amp;quot;WikiProject_Belarus&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Belgium&amp;quot;] = 36000,&lt;br /&gt;
[&amp;quot;WikiProject_Belize&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Berkshire&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Bhutan&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Biathlon&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Bible&amp;quot;] = 8200,&lt;br /&gt;
[&amp;quot;WikiProject_Biography&amp;quot;] = 2690000,&lt;br /&gt;
[&amp;quot;WikiProject_Biology&amp;quot;] = 9200,&lt;br /&gt;
[&amp;quot;WikiProject_Birds&amp;quot;] = 32000,&lt;br /&gt;
[&amp;quot;WikiProject_Bivalves&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;WikiProject_Board_and_table_games&amp;quot;] = 8400,&lt;br /&gt;
[&amp;quot;WikiProject_Bolivia&amp;quot;] = 7600,&lt;br /&gt;
[&amp;quot;WikiProject_Books&amp;quot;] = 72000,&lt;br /&gt;
[&amp;quot;WikiProject_Bosnia_and_Herzegovina&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Boxing&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Brands&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;WikiProject_Brazil&amp;quot;] = 60000,&lt;br /&gt;
[&amp;quot;WikiProject_Bridges_and_Tunnels&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Bristol&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_British_Empire&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_British_Overseas_Territories&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Buckinghamshire&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Buddhism&amp;quot;] = 8900,&lt;br /&gt;
[&amp;quot;WikiProject_Bulgaria&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;WikiProject_Buses&amp;quot;] = 6700,&lt;br /&gt;
[&amp;quot;WikiProject_Business&amp;quot;] = 52000,&lt;br /&gt;
[&amp;quot;WikiProject_COVID-19&amp;quot;] = 4800,&lt;br /&gt;
[&amp;quot;WikiProject_California&amp;quot;] = 83000,&lt;br /&gt;
[&amp;quot;WikiProject_Cambodia&amp;quot;] = 5700,&lt;br /&gt;
[&amp;quot;WikiProject_Cambodia/to_do&amp;quot;] = 5700,&lt;br /&gt;
[&amp;quot;WikiProject_Canada&amp;quot;] = 227000,&lt;br /&gt;
[&amp;quot;WikiProject_Canada/TFtext&amp;quot;] = 227000,&lt;br /&gt;
[&amp;quot;WikiProject_Canada_Roads&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Canada_Roads/class&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Canadian_football&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Cannabis&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Canoeing_and_Kayaking&amp;quot;] = 7400,&lt;br /&gt;
[&amp;quot;WikiProject_Caribbean&amp;quot;] = 51000,&lt;br /&gt;
[&amp;quot;WikiProject_Cartoon_Network&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Catalan-speaking_countries&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;WikiProject_Categories&amp;quot;] = 6300,&lt;br /&gt;
[&amp;quot;WikiProject_Catholicism&amp;quot;] = 60000,&lt;br /&gt;
[&amp;quot;WikiProject_Caves&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Celts&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Cemeteries&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Central_America&amp;quot;] = 9400,&lt;br /&gt;
[&amp;quot;WikiProject_Central_Asia&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Central_Asia/importance&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Cephalopods&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;WikiProject_Chemicals&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;WikiProject_Chemistry&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Cheshire&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;WikiProject_Chess&amp;quot;] = 8900,&lt;br /&gt;
[&amp;quot;WikiProject_Chess/importance&amp;quot;] = 8900,&lt;br /&gt;
[&amp;quot;WikiProject_Chicago&amp;quot;] = 41000,&lt;br /&gt;
[&amp;quot;WikiProject_Children&#039;s_literature&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;WikiProject_Chile&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_China&amp;quot;] = 105000,&lt;br /&gt;
[&amp;quot;WikiProject_Christian_music&amp;quot;] = 7500,&lt;br /&gt;
[&amp;quot;WikiProject_Christianity&amp;quot;] = 85000,&lt;br /&gt;
[&amp;quot;WikiProject_Cities&amp;quot;] = 389000,&lt;br /&gt;
[&amp;quot;WikiProject_Civil_engineering&amp;quot;] = 22000,&lt;br /&gt;
[&amp;quot;WikiProject_Classical_Greece_and_Rome&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;WikiProject_Classical_music&amp;quot;] = 33000,&lt;br /&gt;
[&amp;quot;WikiProject_Cleveland&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Climate_change&amp;quot;] = 4600,&lt;br /&gt;
[&amp;quot;WikiProject_Climbing&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Cold_War&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_College_Basketball&amp;quot;] = 38000,&lt;br /&gt;
[&amp;quot;WikiProject_College_basketball&amp;quot;] = 59000,&lt;br /&gt;
[&amp;quot;WikiProject_College_football&amp;quot;] = 160000,&lt;br /&gt;
[&amp;quot;WikiProject_College_football/importance&amp;quot;] = 160000,&lt;br /&gt;
[&amp;quot;WikiProject_Colombia&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Comedy&amp;quot;] = 40000,&lt;br /&gt;
[&amp;quot;WikiProject_Comics&amp;quot;] = 59000,&lt;br /&gt;
[&amp;quot;WikiProject_Comics/importance&amp;quot;] = 59000,&lt;br /&gt;
[&amp;quot;WikiProject_Companies&amp;quot;] = 107000,&lt;br /&gt;
[&amp;quot;WikiProject_Composers&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Computer_Security&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Computer_science&amp;quot;] = 8300,&lt;br /&gt;
[&amp;quot;WikiProject_Computer_security&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Computing&amp;quot;] = 47000,&lt;br /&gt;
[&amp;quot;WikiProject_Concerts&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;WikiProject_Connecticut&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Conservatism&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Cooperatives&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;WikiProject_Cornwall&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;WikiProject_Cornwall/guide&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;WikiProject_Correction_and_Detention_Facilities&amp;quot;] = 4800,&lt;br /&gt;
[&amp;quot;WikiProject_Costa_Rica&amp;quot;] = 6100,&lt;br /&gt;
[&amp;quot;WikiProject_Countries&amp;quot;] = 25000,&lt;br /&gt;
[&amp;quot;WikiProject_Country_Music&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Country_music&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Cricket&amp;quot;] = 63000,&lt;br /&gt;
[&amp;quot;WikiProject_Crime&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Crime_and_Criminal_Biography&amp;quot;] = 67000,&lt;br /&gt;
[&amp;quot;WikiProject_Croatia&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;WikiProject_Cuba&amp;quot;] = 8700,&lt;br /&gt;
[&amp;quot;WikiProject_Cue_sports&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Culture&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Curling&amp;quot;] = 7300,&lt;br /&gt;
[&amp;quot;WikiProject_Current_events&amp;quot;] = 8300,&lt;br /&gt;
[&amp;quot;WikiProject_Cycling&amp;quot;] = 40000,&lt;br /&gt;
[&amp;quot;WikiProject_Cyprus&amp;quot;] = 6900,&lt;br /&gt;
[&amp;quot;WikiProject_Czech_Republic&amp;quot;] = 35000,&lt;br /&gt;
[&amp;quot;WikiProject_Dallas-Fort_Worth&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;WikiProject_Dams&amp;quot;] = 7100,&lt;br /&gt;
[&amp;quot;WikiProject_Dance&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Deaf&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Death&amp;quot;] = 51000,&lt;br /&gt;
[&amp;quot;WikiProject_Denmark&amp;quot;] = 38000,&lt;br /&gt;
[&amp;quot;WikiProject_Derbyshire&amp;quot;] = 3400,&lt;br /&gt;
[&amp;quot;WikiProject_Devon&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WikiProject_Dinosaurs&amp;quot;] = 5600,&lt;br /&gt;
[&amp;quot;WikiProject_Diptera&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Disability&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Disambiguation&amp;quot;] = 340000,&lt;br /&gt;
[&amp;quot;WikiProject_Disaster_management&amp;quot;] = 26000,&lt;br /&gt;
[&amp;quot;WikiProject_Discographies&amp;quot;] = 7000,&lt;br /&gt;
[&amp;quot;WikiProject_Discrimination&amp;quot;] = 7000,&lt;br /&gt;
[&amp;quot;WikiProject_Disney&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Doctor_Who&amp;quot;] = 4300,&lt;br /&gt;
[&amp;quot;WikiProject_Dogs&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;WikiProject_Dorset&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Dungeons_&amp;amp;_Dragons&amp;quot;] = 6400,&lt;br /&gt;
[&amp;quot;WikiProject_Dungeons_&amp;amp;_Dragons/importance&amp;quot;] = 6400,&lt;br /&gt;
[&amp;quot;WikiProject_Earthquakes&amp;quot;] = 3400,&lt;br /&gt;
[&amp;quot;WikiProject_EastEnders&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_East_Anglia&amp;quot;] = 9100,&lt;br /&gt;
[&amp;quot;WikiProject_East_Timor&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Eastern_Orthodoxy&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Ecology&amp;quot;] = 3700,&lt;br /&gt;
[&amp;quot;WikiProject_Economics&amp;quot;] = 22000,&lt;br /&gt;
[&amp;quot;WikiProject_Ecoregions&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Ecuador&amp;quot;] = 9300,&lt;br /&gt;
[&amp;quot;WikiProject_Edit_requests&amp;quot;] = 4200,&lt;br /&gt;
[&amp;quot;WikiProject_Education&amp;quot;] = 39000,&lt;br /&gt;
[&amp;quot;WikiProject_Egypt&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_El_Salvador&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;WikiProject_Elections_and_Referendums&amp;quot;] = 125000,&lt;br /&gt;
[&amp;quot;WikiProject_Electrical_engineering&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;WikiProject_Electronic_music&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Electronics&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;WikiProject_Elements&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Energy&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;WikiProject_Engineering&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_England&amp;quot;] = 98000,&lt;br /&gt;
[&amp;quot;WikiProject_Environment&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Equine&amp;quot;] = 8400,&lt;br /&gt;
[&amp;quot;WikiProject_Espionage&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Essays&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Estonia&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;WikiProject_Ethiopia&amp;quot;] = 6400,&lt;br /&gt;
[&amp;quot;WikiProject_Ethnic_groups&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Ethnic_groups_tasks&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Europe&amp;quot;] = 26000,&lt;br /&gt;
[&amp;quot;WikiProject_European_Microstates&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_European_Union&amp;quot;] = 9700,&lt;br /&gt;
[&amp;quot;WikiProject_European_history&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Eurovision&amp;quot;] = 8700,&lt;br /&gt;
[&amp;quot;WikiProject_Event_Venues&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Explosives&amp;quot;] = 2000,&lt;br /&gt;
[&amp;quot;WikiProject_Faroe_Islands&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Fashion&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Feminism&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Fencing&amp;quot;] = 8200,&lt;br /&gt;
[&amp;quot;WikiProject_Festivals&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Fictional_characters&amp;quot;] = 87000,&lt;br /&gt;
[&amp;quot;WikiProject_Figure_Skating&amp;quot;] = 7600,&lt;br /&gt;
[&amp;quot;WikiProject_Fiji&amp;quot;] = 5700,&lt;br /&gt;
[&amp;quot;WikiProject_Film&amp;quot;] = 391000,&lt;br /&gt;
[&amp;quot;WikiProject_Finance_&amp;amp;_Investment&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Finland&amp;quot;] = 37000,&lt;br /&gt;
[&amp;quot;WikiProject_Firearms&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Firefighting&amp;quot;] = 3800,&lt;br /&gt;
[&amp;quot;WikiProject_Fisheries_and_Fishing&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Fishes&amp;quot;] = 41000,&lt;br /&gt;
[&amp;quot;WikiProject_Florida&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Folklore&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;WikiProject_Food_and_drink&amp;quot;] = 63000,&lt;br /&gt;
[&amp;quot;WikiProject_Football&amp;quot;] = 467000,&lt;br /&gt;
[&amp;quot;WikiProject_Forestry&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Former_countries&amp;quot;] = 35000,&lt;br /&gt;
[&amp;quot;WikiProject_Formula_One&amp;quot;] = 8000,&lt;br /&gt;
[&amp;quot;WikiProject_France&amp;quot;] = 180000,&lt;br /&gt;
[&amp;quot;WikiProject_Fraternities_and_Sororities&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;WikiProject_Fungi&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;WikiProject_Futures_studies&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Gaelic_games&amp;quot;] = 19000,&lt;br /&gt;
[&amp;quot;WikiProject_Gambling&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;WikiProject_Gastropods&amp;quot;] = 46000,&lt;br /&gt;
[&amp;quot;WikiProject_Gender_studies&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;WikiProject_Genealogy&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;WikiProject_Geography&amp;quot;] = 100000,&lt;br /&gt;
[&amp;quot;WikiProject_Geology&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Georgia_(U.S._state)&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;WikiProject_Georgia_(country)&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Germany&amp;quot;] = 166000,&lt;br /&gt;
[&amp;quot;WikiProject_Ghana&amp;quot;] = 7400,&lt;br /&gt;
[&amp;quot;WikiProject_Ghost_towns&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Gibraltar&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Glaciers&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;WikiProject_Gloucestershire&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Golf&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Google&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Greater_Manchester&amp;quot;] = 6800,&lt;br /&gt;
[&amp;quot;WikiProject_Greece&amp;quot;] = 54000,&lt;br /&gt;
[&amp;quot;WikiProject_Green_Bay_Packers&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;WikiProject_Greenland&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Guatemala&amp;quot;] = 5000,&lt;br /&gt;
[&amp;quot;WikiProject_Guild_of_Copy_Editors&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Guitarists&amp;quot;] = 4300,&lt;br /&gt;
[&amp;quot;WikiProject_Gymnastics&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Haiti&amp;quot;] = 5800,&lt;br /&gt;
[&amp;quot;WikiProject_Hampshire&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;WikiProject_Handball&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Hawaii&amp;quot;] = 9900,&lt;br /&gt;
[&amp;quot;WikiProject_Health_and_fitness&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;WikiProject_Heraldry&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;WikiProject_Heraldry_and_vexillology&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Hertfordshire&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;WikiProject_Higher_education&amp;quot;] = 84000,&lt;br /&gt;
[&amp;quot;WikiProject_Highways&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Highways/class&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Hinduism&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Hip-hop&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;WikiProject_Hip_hop&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Historic_sites&amp;quot;] = 25000,&lt;br /&gt;
[&amp;quot;WikiProject_History&amp;quot;] = 72000,&lt;br /&gt;
[&amp;quot;WikiProject_History_of_Science&amp;quot;] = 5900,&lt;br /&gt;
[&amp;quot;WikiProject_Holidays&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;WikiProject_Home_Living&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Honduras&amp;quot;] = 3400,&lt;br /&gt;
[&amp;quot;WikiProject_Hong_Kong&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Horror&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Horse_racing&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Horticulture_and_Gardening&amp;quot;] = 4700,&lt;br /&gt;
[&amp;quot;WikiProject_Hospitals&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Hotels&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;WikiProject_Houston&amp;quot;] = 4100,&lt;br /&gt;
[&amp;quot;WikiProject_Human_rights&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Hungary&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;WikiProject_Ice_Hockey&amp;quot;] = 63000,&lt;br /&gt;
[&amp;quot;WikiProject_Iceland&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Illinois&amp;quot;] = 40000,&lt;br /&gt;
[&amp;quot;WikiProject_Indexes&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_India&amp;quot;] = 268000,&lt;br /&gt;
[&amp;quot;WikiProject_Indiana&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_Indigenous_peoples_of_North_America&amp;quot;] = 19000,&lt;br /&gt;
[&amp;quot;WikiProject_Indigenous_peoples_of_the_Americas&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;WikiProject_Indonesia&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_Industrial&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;WikiProject_Industrial_design&amp;quot;] = 3600,&lt;br /&gt;
[&amp;quot;WikiProject_Industrial_tasks&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;WikiProject_Infoboxes&amp;quot;] = 2000,&lt;br /&gt;
[&amp;quot;WikiProject_Insects&amp;quot;] = 106000,&lt;br /&gt;
[&amp;quot;WikiProject_International_relations&amp;quot;] = 89000,&lt;br /&gt;
[&amp;quot;WikiProject_Internet&amp;quot;] = 9800,&lt;br /&gt;
[&amp;quot;WikiProject_Internet_culture&amp;quot;] = 8700,&lt;br /&gt;
[&amp;quot;WikiProject_Intertranswiki/OKA&amp;quot;] = 3600,&lt;br /&gt;
[&amp;quot;WikiProject_Iran&amp;quot;] = 93000,&lt;br /&gt;
[&amp;quot;WikiProject_Iraq&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Ireland&amp;quot;] = 102000,&lt;br /&gt;
[&amp;quot;WikiProject_Islam&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;WikiProject_Islands&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Isle_of_Man&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Israel&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;WikiProject_Italy&amp;quot;] = 101000,&lt;br /&gt;
[&amp;quot;WikiProject_Japan&amp;quot;] = 126000,&lt;br /&gt;
[&amp;quot;WikiProject_Jazz&amp;quot;] = 36000,&lt;br /&gt;
[&amp;quot;WikiProject_Jewish_Women&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_Jewish_culture&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Jewish_history&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Jordan&amp;quot;] = 4900,&lt;br /&gt;
[&amp;quot;WikiProject_Journalism&amp;quot;] = 48000,&lt;br /&gt;
[&amp;quot;WikiProject_Judaism&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;WikiProject_Kansas&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Kent&amp;quot;] = 4900,&lt;br /&gt;
[&amp;quot;WikiProject_Kingdom_of_Naples&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Korea&amp;quot;] = 59000,&lt;br /&gt;
[&amp;quot;WikiProject_Kosovo&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;WikiProject_Kurdistan&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;WikiProject_Kuwait&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Kyrgyzstan&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_LGBTQ+_studies&amp;quot;] = 38000,&lt;br /&gt;
[&amp;quot;WikiProject_LGBT_studies&amp;quot;] = 25000,&lt;br /&gt;
[&amp;quot;WikiProject_Lacrosse&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;WikiProject_Lakes&amp;quot;] = 22000,&lt;br /&gt;
[&amp;quot;WikiProject_Lancashire_and_Cumbria&amp;quot;] = 8700,&lt;br /&gt;
[&amp;quot;WikiProject_Languages&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;WikiProject_Latin_America&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Latin_music&amp;quot;] = 19000,&lt;br /&gt;
[&amp;quot;WikiProject_Latino_and_Hispanic_heritage&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Latter_Day_Saint_movement&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;WikiProject_Latvia&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Law&amp;quot;] = 82000,&lt;br /&gt;
[&amp;quot;WikiProject_Law_Enforcement&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Leaders_by_year&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Lebanon&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Lepidoptera&amp;quot;] = 119000,&lt;br /&gt;
[&amp;quot;WikiProject_Libraries&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Library_of_Congress&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Lighthouses&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;WikiProject_Lincolnshire&amp;quot;] = 5100,&lt;br /&gt;
[&amp;quot;WikiProject_Linguistics&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Lists&amp;quot;] = 176000,&lt;br /&gt;
[&amp;quot;WikiProject_Lists/class&amp;quot;] = 176000,&lt;br /&gt;
[&amp;quot;WikiProject_Literature&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_Lithuania&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_London&amp;quot;] = 37000,&lt;br /&gt;
[&amp;quot;WikiProject_London_Transport&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_Lower_Saxony&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Lutheranism&amp;quot;] = 3400,&lt;br /&gt;
[&amp;quot;WikiProject_Luxembourg&amp;quot;] = 6900,&lt;br /&gt;
[&amp;quot;WikiProject_Macau&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Magazines&amp;quot;] = 22000,&lt;br /&gt;
[&amp;quot;WikiProject_Maine&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Malaysia&amp;quot;] = 29000,&lt;br /&gt;
[&amp;quot;WikiProject_Maldives&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Malta&amp;quot;] = 6100,&lt;br /&gt;
[&amp;quot;WikiProject_Mammals&amp;quot;] = 19000,&lt;br /&gt;
[&amp;quot;WikiProject_Maps&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Marine_life&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Marketing_&amp;amp;_Advertising&amp;quot;] = 6400,&lt;br /&gt;
[&amp;quot;WikiProject_Martial_arts&amp;quot;] = 32000,&lt;br /&gt;
[&amp;quot;WikiProject_Maryland&amp;quot;] = 19000,&lt;br /&gt;
[&amp;quot;WikiProject_Mathematics&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Media&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Media_franchises&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Medicine&amp;quot;] = 75000,&lt;br /&gt;
[&amp;quot;WikiProject_Melanesia&amp;quot;] = 9200,&lt;br /&gt;
[&amp;quot;WikiProject_Merseyside&amp;quot;] = 4200,&lt;br /&gt;
[&amp;quot;WikiProject_Mesoamerica&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Metal&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;WikiProject_Metalworking&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Mexico&amp;quot;] = 49000,&lt;br /&gt;
[&amp;quot;WikiProject_Miami&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Michigan&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Microbiology&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Micronesia&amp;quot;] = 9000,&lt;br /&gt;
[&amp;quot;WikiProject_Microsoft&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Microsoft_Windows&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Middle_Ages&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;WikiProject_Military_history&amp;quot;] = 330000,&lt;br /&gt;
[&amp;quot;WikiProject_Military_history/Checklist_categories&amp;quot;] = 170000,&lt;br /&gt;
[&amp;quot;WikiProject_Military_history/Class&amp;quot;] = 330000,&lt;br /&gt;
[&amp;quot;WikiProject_Military_history/Special_project_categories&amp;quot;] = 330000,&lt;br /&gt;
[&amp;quot;WikiProject_Military_history/Special_project_phase&amp;quot;] = 330000,&lt;br /&gt;
[&amp;quot;WikiProject_Military_history/Task_force_categories&amp;quot;] = 356000,&lt;br /&gt;
[&amp;quot;WikiProject_Military_history/YesNo&amp;quot;] = 267000,&lt;br /&gt;
[&amp;quot;WikiProject_Military_history/class&amp;quot;] = 330000,&lt;br /&gt;
[&amp;quot;WikiProject_Mills&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Mining&amp;quot;] = 8500,&lt;br /&gt;
[&amp;quot;WikiProject_Minnesota&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;WikiProject_Missouri&amp;quot;] = 25000,&lt;br /&gt;
[&amp;quot;WikiProject_Mixed_martial_arts&amp;quot;] = 6500,&lt;br /&gt;
[&amp;quot;WikiProject_Moldova&amp;quot;] = 7100,&lt;br /&gt;
[&amp;quot;WikiProject_Molecular_Biology&amp;quot;] = 39000,&lt;br /&gt;
[&amp;quot;WikiProject_Mongols&amp;quot;] = 6100,&lt;br /&gt;
[&amp;quot;WikiProject_Montana&amp;quot;] = 9700,&lt;br /&gt;
[&amp;quot;WikiProject_Montenegro&amp;quot;] = 6700,&lt;br /&gt;
[&amp;quot;WikiProject_Morocco&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Motorcycle_racing&amp;quot;] = 4300,&lt;br /&gt;
[&amp;quot;WikiProject_Motorcycling&amp;quot;] = 8000,&lt;br /&gt;
[&amp;quot;WikiProject_Motorsport&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;WikiProject_Mountains&amp;quot;] = 38000,&lt;br /&gt;
[&amp;quot;WikiProject_Multi-sport_events&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;WikiProject_Museums&amp;quot;] = 32000,&lt;br /&gt;
[&amp;quot;WikiProject_Music/Music_genres_task_force&amp;quot;] = 5000,&lt;br /&gt;
[&amp;quot;WikiProject_Music_theory&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Musical_Instruments&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WikiProject_Musical_Theatre&amp;quot;] = 7300,&lt;br /&gt;
[&amp;quot;WikiProject_Myanmar&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Mythology&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_NASCAR&amp;quot;] = 8000,&lt;br /&gt;
[&amp;quot;WikiProject_National_Basketball_Association&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_National_Football_League&amp;quot;] = 52000,&lt;br /&gt;
[&amp;quot;WikiProject_National_Register_of_Historic_Places&amp;quot;] = 93000,&lt;br /&gt;
[&amp;quot;WikiProject_National_Register_of_Historic_Places/importance&amp;quot;] = 93000,&lt;br /&gt;
[&amp;quot;WikiProject_Nepal&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Netherlands&amp;quot;] = 54000,&lt;br /&gt;
[&amp;quot;WikiProject_Neuroscience&amp;quot;] = 5100,&lt;br /&gt;
[&amp;quot;WikiProject_Nevada&amp;quot;] = 8900,&lt;br /&gt;
[&amp;quot;WikiProject_New_Jersey&amp;quot;] = 25000,&lt;br /&gt;
[&amp;quot;WikiProject_New_York_(state)&amp;quot;] = 50000,&lt;br /&gt;
[&amp;quot;WikiProject_New_York_City&amp;quot;] = 33000,&lt;br /&gt;
[&amp;quot;WikiProject_New_Zealand&amp;quot;] = 80000,&lt;br /&gt;
[&amp;quot;WikiProject_Newspapers&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Nicaragua&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;WikiProject_Nigeria&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Normandy&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;WikiProject_Norse_history_and_culture&amp;quot;] = 3600,&lt;br /&gt;
[&amp;quot;WikiProject_North_America&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_North_America/importance&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_North_East_England&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;WikiProject_North_Macedonia&amp;quot;] = 7500,&lt;br /&gt;
[&amp;quot;WikiProject_Northern_Ireland&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Norway&amp;quot;] = 62000,&lt;br /&gt;
[&amp;quot;WikiProject_Nottinghamshire&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Novels&amp;quot;] = 89000,&lt;br /&gt;
[&amp;quot;WikiProject_Numismatics&amp;quot;] = 7600,&lt;br /&gt;
[&amp;quot;WikiProject_Nursing&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Occult&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Occupational_Safety_and_Health&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_Occupations&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;WikiProject_Oceania&amp;quot;] = 7600,&lt;br /&gt;
[&amp;quot;WikiProject_Oceans&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;WikiProject_Ohio&amp;quot;] = 8300,&lt;br /&gt;
[&amp;quot;WikiProject_Oklahoma&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Olympics&amp;quot;] = 201000,&lt;br /&gt;
[&amp;quot;WikiProject_Oman&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Opera&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Orders,_decorations,_and_medals&amp;quot;] = 6000,&lt;br /&gt;
[&amp;quot;WikiProject_Oregon&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;WikiProject_Oregon/errors&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;WikiProject_Oregon_collab&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;WikiProject_Organizations&amp;quot;] = 56000,&lt;br /&gt;
[&amp;quot;WikiProject_Organized_Labour&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Overseas_France&amp;quot;] = 6100,&lt;br /&gt;
[&amp;quot;WikiProject_Pakistan&amp;quot;] = 43000,&lt;br /&gt;
[&amp;quot;WikiProject_Palaeontology&amp;quot;] = 33000,&lt;br /&gt;
[&amp;quot;WikiProject_Palestine&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Panama&amp;quot;] = 4600,&lt;br /&gt;
[&amp;quot;WikiProject_Papua_New_Guinea&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WikiProject_Paraguay&amp;quot;] = 4200,&lt;br /&gt;
[&amp;quot;WikiProject_Paranormal&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Pennsylvania&amp;quot;] = 50000,&lt;br /&gt;
[&amp;quot;WikiProject_Peru&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Pharmacology&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Philadelphia&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Philately&amp;quot;] = 4800,&lt;br /&gt;
[&amp;quot;WikiProject_Philippines&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;WikiProject_Philosophy&amp;quot;] = 26000,&lt;br /&gt;
[&amp;quot;WikiProject_Photography&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Physics&amp;quot;] = 28000,&lt;br /&gt;
[&amp;quot;WikiProject_Physiology&amp;quot;] = 4100,&lt;br /&gt;
[&amp;quot;WikiProject_Pittsburgh&amp;quot;] = 6100,&lt;br /&gt;
[&amp;quot;WikiProject_Plants&amp;quot;] = 146000,&lt;br /&gt;
[&amp;quot;WikiProject_Podcasting&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;WikiProject_Poetry&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;WikiProject_Pokémon&amp;quot;] = 4100,&lt;br /&gt;
[&amp;quot;WikiProject_Pokémon/class&amp;quot;] = 4100,&lt;br /&gt;
[&amp;quot;WikiProject_Poland&amp;quot;] = 111000,&lt;br /&gt;
[&amp;quot;WikiProject_Politics&amp;quot;] = 175000,&lt;br /&gt;
[&amp;quot;WikiProject_Politics_of_the_United_Kingdom&amp;quot;] = 49000,&lt;br /&gt;
[&amp;quot;WikiProject_Polynesia&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Pop_music&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_Popular_Culture&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Popular_culture&amp;quot;] = 3800,&lt;br /&gt;
[&amp;quot;WikiProject_Pornography&amp;quot;] = 5000,&lt;br /&gt;
[&amp;quot;WikiProject_Portals&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Portals/class&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Portals/importance&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Portals/importancescale&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Portals/qualityscale&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Portugal&amp;quot;] = 29000,&lt;br /&gt;
[&amp;quot;WikiProject_Post-hardcore&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;WikiProject_Primates&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Pritzker-GLAM&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Professional_sound_production&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Professional_wrestling&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Progressive_Rock&amp;quot;] = 4100,&lt;br /&gt;
[&amp;quot;WikiProject_Protected_areas&amp;quot;] = 29000,&lt;br /&gt;
[&amp;quot;WikiProject_Psychology&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Puerto_Rico&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Punk_music&amp;quot;] = 8400,&lt;br /&gt;
[&amp;quot;WikiProject_Qatar&amp;quot;] = 4200,&lt;br /&gt;
[&amp;quot;WikiProject_R&amp;amp;B_and_Soul_Music&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Radio&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Radio_Stations&amp;quot;] = 42000,&lt;br /&gt;
[&amp;quot;WikiProject_Record_Charts&amp;quot;] = 4900,&lt;br /&gt;
[&amp;quot;WikiProject_Record_Labels&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Record_Production&amp;quot;] = 7200,&lt;br /&gt;
[&amp;quot;WikiProject_Redirect&amp;quot;] = 5100,&lt;br /&gt;
[&amp;quot;WikiProject_Redirect/class&amp;quot;] = 5100,&lt;br /&gt;
[&amp;quot;WikiProject_Referees&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;WikiProject_Reggae&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_Regional_and_national_music&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Religion&amp;quot;] = 32000,&lt;br /&gt;
[&amp;quot;WikiProject_Religious_texts&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Retailing&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WikiProject_Retailing/importance&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WikiProject_Rivers&amp;quot;] = 56000,&lt;br /&gt;
[&amp;quot;WikiProject_Robotics&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_Rock_music&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Rocketry&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Rocketry/importance&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Rocks_and_minerals&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Rodents&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;WikiProject_Role-playing_games&amp;quot;] = 5700,&lt;br /&gt;
[&amp;quot;WikiProject_Romance&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Romania&amp;quot;] = 40000,&lt;br /&gt;
[&amp;quot;WikiProject_Rome&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;WikiProject_Roots_music&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WikiProject_Rowing&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Royalty_and_Nobility&amp;quot;] = 6100,&lt;br /&gt;
[&amp;quot;WikiProject_Rugby_league&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Rugby_union&amp;quot;] = 38000,&lt;br /&gt;
[&amp;quot;WikiProject_Running&amp;quot;] = 25000,&lt;br /&gt;
[&amp;quot;WikiProject_Russia&amp;quot;] = 123000,&lt;br /&gt;
[&amp;quot;WikiProject_Sailing&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Saints&amp;quot;] = 6300,&lt;br /&gt;
[&amp;quot;WikiProject_San_Diego&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Saudi_Arabia&amp;quot;] = 8600,&lt;br /&gt;
[&amp;quot;WikiProject_Schools&amp;quot;] = 82000,&lt;br /&gt;
[&amp;quot;WikiProject_Science&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Science_Fiction&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Science_fiction&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Scotland&amp;quot;] = 56000,&lt;br /&gt;
[&amp;quot;WikiProject_Scottish_Islands&amp;quot;] = 3300,&lt;br /&gt;
[&amp;quot;WikiProject_Scouting&amp;quot;] = 7900,&lt;br /&gt;
[&amp;quot;WikiProject_Screenwriters&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Sculpture&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Serbia&amp;quot;] = 28000,&lt;br /&gt;
[&amp;quot;WikiProject_Sexology_and_sexuality&amp;quot;] = 9600,&lt;br /&gt;
[&amp;quot;WikiProject_Shakespeare&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Ships&amp;quot;] = 88000,&lt;br /&gt;
[&amp;quot;WikiProject_Shipwrecks&amp;quot;] = 7900,&lt;br /&gt;
[&amp;quot;WikiProject_Shopping_Centers&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WikiProject_Sicily&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;WikiProject_Singapore&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Skepticism&amp;quot;] = 6000,&lt;br /&gt;
[&amp;quot;WikiProject_Skiing_and_Snowboarding&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Skyscrapers&amp;quot;] = 5800,&lt;br /&gt;
[&amp;quot;WikiProject_Slovakia&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Slovenia&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Snooker&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Soap_Operas&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Socialism&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;WikiProject_Sociology&amp;quot;] = 46000,&lt;br /&gt;
[&amp;quot;WikiProject_Softball&amp;quot;] = 5000,&lt;br /&gt;
[&amp;quot;WikiProject_Software&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Somalia&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_Somerset&amp;quot;] = 4800,&lt;br /&gt;
[&amp;quot;WikiProject_Song_Contests&amp;quot;] = 9100,&lt;br /&gt;
[&amp;quot;WikiProject_Songs&amp;quot;] = 228000,&lt;br /&gt;
[&amp;quot;WikiProject_South_Africa&amp;quot;] = 38000,&lt;br /&gt;
[&amp;quot;WikiProject_South_America&amp;quot;] = 33000,&lt;br /&gt;
[&amp;quot;WikiProject_South_Dakota&amp;quot;] = 8600,&lt;br /&gt;
[&amp;quot;WikiProject_Southeast_Asia&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Soviet_Union&amp;quot;] = 25000,&lt;br /&gt;
[&amp;quot;WikiProject_Spaceflight&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Spain&amp;quot;] = 82000,&lt;br /&gt;
[&amp;quot;WikiProject_Speed_Skating&amp;quot;] = 5600,&lt;br /&gt;
[&amp;quot;WikiProject_Spiders&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Sports&amp;quot;] = 141000,&lt;br /&gt;
[&amp;quot;WikiProject_Sports_Car_Racing&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;WikiProject_Squash&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Sri_Lanka&amp;quot;] = 28000,&lt;br /&gt;
[&amp;quot;WikiProject_St._Louis&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Star_Trek&amp;quot;] = 4100,&lt;br /&gt;
[&amp;quot;WikiProject_Star_Wars&amp;quot;] = 6000,&lt;br /&gt;
[&amp;quot;WikiProject_Statistics&amp;quot;] = 7000,&lt;br /&gt;
[&amp;quot;WikiProject_Stub_sorting&amp;quot;] = 60000,&lt;br /&gt;
[&amp;quot;WikiProject_Stub_sorting_category&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Stub_sorting_category/styles.css&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Surrey&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Sussex&amp;quot;] = 4200,&lt;br /&gt;
[&amp;quot;WikiProject_Sweden&amp;quot;] = 69000,&lt;br /&gt;
[&amp;quot;WikiProject_Swimming&amp;quot;] = 37000,&lt;br /&gt;
[&amp;quot;WikiProject_Switzerland&amp;quot;] = 46000,&lt;br /&gt;
[&amp;quot;WikiProject_Syria&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;WikiProject_Systems&amp;quot;] = 4800,&lt;br /&gt;
[&amp;quot;WikiProject_Table_tennis&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;WikiProject_Taiwan&amp;quot;] = 20000,&lt;br /&gt;
[&amp;quot;WikiProject_Tajikistan&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;WikiProject_Tambayan_Philippines&amp;quot;] = 50000,&lt;br /&gt;
[&amp;quot;WikiProject_Taxation&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Technology&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;WikiProject_Telecommunications&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;WikiProject_Television&amp;quot;] = 284000,&lt;br /&gt;
[&amp;quot;WikiProject_Templates&amp;quot;] = 33000,&lt;br /&gt;
[&amp;quot;WikiProject_Tennessee&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Tennis&amp;quot;] = 59000,&lt;br /&gt;
[&amp;quot;WikiProject_Textile_Arts&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Textile_arts&amp;quot;] = 3400,&lt;br /&gt;
[&amp;quot;WikiProject_Thailand&amp;quot;] = 25000,&lt;br /&gt;
[&amp;quot;WikiProject_The_Beatles&amp;quot;] = 5000,&lt;br /&gt;
[&amp;quot;WikiProject_The_Simpsons&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Theatre&amp;quot;] = 35000,&lt;br /&gt;
[&amp;quot;WikiProject_Theology&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Tibet&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;WikiProject_Time&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Timor-Leste&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Toys&amp;quot;] = 3800,&lt;br /&gt;
[&amp;quot;WikiProject_Trade&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Trains&amp;quot;] = 148000,&lt;br /&gt;
[&amp;quot;WikiProject_Trains/portalbox&amp;quot;] = 148000,&lt;br /&gt;
[&amp;quot;WikiProject_Transport&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Travel_and_Tourism&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;WikiProject_Tree_of_Life&amp;quot;] = 7700,&lt;br /&gt;
[&amp;quot;WikiProject_Trinidad_and_Tobago&amp;quot;] = 4700,&lt;br /&gt;
[&amp;quot;WikiProject_Tunisia&amp;quot;] = 5100,&lt;br /&gt;
[&amp;quot;WikiProject_Turkey&amp;quot;] = 60000,&lt;br /&gt;
[&amp;quot;WikiProject_Turkmenistan&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;WikiProject_Turtles&amp;quot;] = 3700,&lt;br /&gt;
[&amp;quot;WikiProject_Typography&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Congress&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Roads&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Roads/StateName&amp;quot;] = 33000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Roads/articletest&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Roads/cats&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Roads/cats/core&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Roads/cats/istemplate&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Roads/class&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Roads/overcat&amp;quot;] = 33000,&lt;br /&gt;
[&amp;quot;WikiProject_U.S._Supreme_Court_cases&amp;quot;] = 5400,&lt;br /&gt;
[&amp;quot;WikiProject_UK_Parliament_constituencies&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_UK_geography&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;WikiProject_Ukraine&amp;quot;] = 37000,&lt;br /&gt;
[&amp;quot;WikiProject_Underwater_diving&amp;quot;] = 3600,&lt;br /&gt;
[&amp;quot;WikiProject_United_Arab_Emirates&amp;quot;] = 7400,&lt;br /&gt;
[&amp;quot;WikiProject_United_Kingdom&amp;quot;] = 77000,&lt;br /&gt;
[&amp;quot;WikiProject_United_States&amp;quot;] = 758000,&lt;br /&gt;
[&amp;quot;WikiProject_United_States_History&amp;quot;] = 4900,&lt;br /&gt;
[&amp;quot;WikiProject_United_States_Territories&amp;quot;] = 6800,&lt;br /&gt;
[&amp;quot;WikiProject_United_States_courts_and_judges&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_University_of_California&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;WikiProject_University_of_Cambridge&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_University_of_Florida&amp;quot;] = 2000,&lt;br /&gt;
[&amp;quot;WikiProject_University_of_Oxford&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_University_of_Pennsylvania&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;WikiProject_Unreferenced_articles&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Urban_studies_and_planning&amp;quot;] = 6300,&lt;br /&gt;
[&amp;quot;WikiProject_Uruguay&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Userboxes&amp;quot;] = 63000,&lt;br /&gt;
[&amp;quot;WikiProject_Veganism_and_Vegetarianism&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;WikiProject_Venezuela&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Veterinary_medicine&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Video_games&amp;quot;] = 111000,&lt;br /&gt;
[&amp;quot;WikiProject_Video_games/class&amp;quot;] = 111000,&lt;br /&gt;
[&amp;quot;WikiProject_Video_games/importance&amp;quot;] = 111000,&lt;br /&gt;
[&amp;quot;WikiProject_Vietnam&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Villages&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;WikiProject_Virginia&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Viruses&amp;quot;] = 7400,&lt;br /&gt;
[&amp;quot;WikiProject_Visual_arts&amp;quot;] = 93000,&lt;br /&gt;
[&amp;quot;WikiProject_Volcanoes&amp;quot;] = 6800,&lt;br /&gt;
[&amp;quot;WikiProject_Volleyball&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;WikiProject_Wales&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;WikiProject_Warwickshire&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;WikiProject_Water&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;WikiProject_Water_sports&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;WikiProject_Weather&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;WikiProject_Websites&amp;quot;] = 5100,&lt;br /&gt;
[&amp;quot;WikiProject_West_Midlands&amp;quot;] = 4300,&lt;br /&gt;
[&amp;quot;WikiProject_Western_Asia&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;WikiProject_Westerns&amp;quot;] = 9600,&lt;br /&gt;
[&amp;quot;WikiProject_Wiki_Loves_Women&amp;quot;] = 2000,&lt;br /&gt;
[&amp;quot;WikiProject_Wikipedia_essays&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Wikipedia_essays/importance&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Wiltshire&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_Wisconsin&amp;quot;] = 30000,&lt;br /&gt;
[&amp;quot;WikiProject_Women&amp;quot;] = 123000,&lt;br /&gt;
[&amp;quot;WikiProject_Women&#039;s_Health&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;WikiProject_Women&#039;s_History&amp;quot;] = 70000,&lt;br /&gt;
[&amp;quot;WikiProject_Women&#039;s_sport&amp;quot;] = 160000,&lt;br /&gt;
[&amp;quot;WikiProject_Women_artists&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;WikiProject_Women_in_Business&amp;quot;] = 9100,&lt;br /&gt;
[&amp;quot;WikiProject_Women_in_Music&amp;quot;] = 44000,&lt;br /&gt;
[&amp;quot;WikiProject_Women_in_Red&amp;quot;] = 57000,&lt;br /&gt;
[&amp;quot;WikiProject_Women_in_Religion&amp;quot;] = 8600,&lt;br /&gt;
[&amp;quot;WikiProject_Women_scientists&amp;quot;] = 26000,&lt;br /&gt;
[&amp;quot;WikiProject_Women_writers&amp;quot;] = 70000,&lt;br /&gt;
[&amp;quot;WikiProject_World_Rally&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;WikiProject_Writing_systems&amp;quot;] = 4700,&lt;br /&gt;
[&amp;quot;WikiProject_Years&amp;quot;] = 623000,&lt;br /&gt;
[&amp;quot;WikiProject_Yemen&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;WikiProject_Yorkshire&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;WikiProject_YouTube&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProject_Yugoslavia&amp;quot;] = 6900,&lt;br /&gt;
[&amp;quot;WikiProject_Zimbabwe&amp;quot;] = 5500,&lt;br /&gt;
[&amp;quot;WikiProject_Zoo&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;WikiProject_banner_shell&amp;quot;] = 11200000,&lt;br /&gt;
[&amp;quot;WikiProject_cleanup_list&amp;quot;] = 58000,&lt;br /&gt;
[&amp;quot;WikiProject_cleanup_listing&amp;quot;] = 9000,&lt;br /&gt;
[&amp;quot;WikiProject_cleanup_listing/styles.css&amp;quot;] = 9000,&lt;br /&gt;
[&amp;quot;WikiProject_description_page&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;WikiProject_status&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;WikiProjectbasename&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;Wiki_Loves_Pride_talk&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;Wikibooks&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;Wikibreak&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;Wikicite&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;Wikidata&amp;quot;] = 473000,&lt;br /&gt;
[&amp;quot;WikidataCheck&amp;quot;] = 489000,&lt;br /&gt;
[&amp;quot;WikidataCoord&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;Wikidata_entity_link&amp;quot;] = 48000,&lt;br /&gt;
[&amp;quot;Wikidata_image&amp;quot;] = 973000,&lt;br /&gt;
[&amp;quot;Wikidata_list&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;Wikidata_list_end&amp;quot;] = 3800,&lt;br /&gt;
[&amp;quot;Wikidata_location&amp;quot;] = 3400,&lt;br /&gt;
[&amp;quot;Wikidata_property_link&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;Wikidata_sitelink&amp;quot;] = 88000,&lt;br /&gt;
[&amp;quot;Wikidatacoord&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;Wikinews&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;Wikipedia&#039;s_sister_projects/styles.css&amp;quot;] = 5800,&lt;br /&gt;
[&amp;quot;Wikipedia:Version_1.0_article_stats&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;Wikipedia_Embassy_link&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;Wikipedia_ads&amp;quot;] = 3700,&lt;br /&gt;
[&amp;quot;Wikipedia_category&amp;quot;] = 18000,&lt;br /&gt;
[&amp;quot;Wikipedia_help_pages&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;Wikipedia_languages/styles.css&amp;quot;] = 3600,&lt;br /&gt;
[&amp;quot;Wikipedia_logs&amp;quot;] = 6400,&lt;br /&gt;
[&amp;quot;Wikipedia_other&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;Wikipedia_policies_and_guidelines&amp;quot;] = 3700,&lt;br /&gt;
[&amp;quot;Wikiquote&amp;quot;] = 41000,&lt;br /&gt;
[&amp;quot;Wikiquote-inline&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;Wikisource&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;Wikisource-inline&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;Wikisource_author&amp;quot;] = 5400,&lt;br /&gt;
[&amp;quot;Wikisourcelang&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;Wikispecies&amp;quot;] = 37000,&lt;br /&gt;
[&amp;quot;Wikispecies-inline&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;Wikivoyage&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;Wikivoyage-inline&amp;quot;] = 3400,&lt;br /&gt;
[&amp;quot;Wikivoyage_inline&amp;quot;] = 5900,&lt;br /&gt;
[&amp;quot;Wikt&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;Wikt-lang&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;Wiktionary&amp;quot;] = 78000,&lt;br /&gt;
[&amp;quot;Wiktionary-inline&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;Win_draw_lose&amp;quot;] = 7500,&lt;br /&gt;
[&amp;quot;Win_draw_lose_totals&amp;quot;] = 6000,&lt;br /&gt;
[&amp;quot;Wink&amp;quot;] = 4200,&lt;br /&gt;
[&amp;quot;Winners&amp;quot;] = 5400,&lt;br /&gt;
[&amp;quot;Winning_percentage&amp;quot;] = 39000,&lt;br /&gt;
[&amp;quot;Winpct&amp;quot;] = 7200,&lt;br /&gt;
[&amp;quot;Women&#039;s_Tennis_Association_link&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;Won&amp;quot;] = 47000,&lt;br /&gt;
[&amp;quot;Workpage&amp;quot;] = 4600,&lt;br /&gt;
[&amp;quot;Works_year_header&amp;quot;] = 4700,&lt;br /&gt;
[&amp;quot;Works_year_header/helper&amp;quot;] = 4700,&lt;br /&gt;
[&amp;quot;WorldFootball.net&amp;quot;] = 21000,&lt;br /&gt;
[&amp;quot;World_Athletics&amp;quot;] = 14000,&lt;br /&gt;
[&amp;quot;World_Rowing&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;World_Series_Year&amp;quot;] = 6700,&lt;br /&gt;
[&amp;quot;Worldfootball.net&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;Wrap&amp;quot;] = 52000,&lt;br /&gt;
[&amp;quot;Wraplink&amp;quot;] = 2900,&lt;br /&gt;
[&amp;quot;Writer_icon&amp;quot;] = 6300,&lt;br /&gt;
[&amp;quot;Writer_icon2&amp;quot;] = 6300,&lt;br /&gt;
[&amp;quot;WritingCredits&amp;quot;] = 3800,&lt;br /&gt;
[&amp;quot;Wsy&amp;quot;] = 6000,&lt;br /&gt;
[&amp;quot;Module:WDL&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;Module:WLink&amp;quot;] = 72000,&lt;br /&gt;
[&amp;quot;Module:WPMILHIST_Infobox_style&amp;quot;] = 240000,&lt;br /&gt;
[&amp;quot;Module:WPSHIPS_utilities&amp;quot;] = 99000,&lt;br /&gt;
[&amp;quot;Module:WPSHIPS_utilities/data&amp;quot;] = 99000,&lt;br /&gt;
[&amp;quot;Module:Wd&amp;quot;] = 1750000,&lt;br /&gt;
[&amp;quot;Module:Wd/i18n&amp;quot;] = 1750000,&lt;br /&gt;
[&amp;quot;Module:Weather_box&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;Module:Weather_box/colors&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;Module:Weather_box/row&amp;quot;] = 31000,&lt;br /&gt;
[&amp;quot;Module:Webarchive&amp;quot;] = 581000,&lt;br /&gt;
[&amp;quot;Module:Webarchive/data&amp;quot;] = 581000,&lt;br /&gt;
[&amp;quot;Module:Wide_image&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;Module:WikiProject_banner&amp;quot;] = 11200000,&lt;br /&gt;
[&amp;quot;Module:WikiProject_banner/auxiliary&amp;quot;] = 3970000,&lt;br /&gt;
[&amp;quot;Module:WikiProject_banner/config&amp;quot;] = 11200000,&lt;br /&gt;
[&amp;quot;Module:WikiProject_banner/styles.css&amp;quot;] = 11200000,&lt;br /&gt;
[&amp;quot;Module:Wikidata&amp;quot;] = 137000,&lt;br /&gt;
[&amp;quot;Module:WikidataCheck&amp;quot;] = 505000,&lt;br /&gt;
[&amp;quot;Module:WikidataCoord&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;Module:WikidataIB&amp;quot;] = 1770000,&lt;br /&gt;
[&amp;quot;Module:WikidataIB/nolinks&amp;quot;] = 1770000,&lt;br /&gt;
[&amp;quot;Module:WikidataIB/titleformats&amp;quot;] = 1770000,&lt;br /&gt;
[&amp;quot;Module:WikidataIdentifiers&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;Module:Wikipedia_ads&amp;quot;] = 3700,&lt;br /&gt;
[&amp;quot;Module:Wikipedia_ads/data&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;Module:Wikipedia_ads/list&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;Module:Wikitext_Parsing&amp;quot;] = 17600000,&lt;br /&gt;
[&amp;quot;Module:Wikt-lang&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;Module:Wikt-lang/data&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;Module:Women_in_Red_event&amp;quot;] = 58000,&lt;br /&gt;
[&amp;quot;Module:WritingCredits&amp;quot;] = 3800,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Module:Webarchive/data&amp;diff=1635</id>
		<title>Module:Webarchive/data</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Module:Webarchive/data&amp;diff=1635"/>
		<updated>2025-03-26T14:21:55Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Module:Webarchive/data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[--------------------------&amp;lt; C O N F I G U R A T I O N &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
global configuration settings&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local config = {&lt;br /&gt;
	maxurls = 10,																-- Max number of URLs allowed. &lt;br /&gt;
	tname = &#039;Webarchive&#039;,														-- name of calling template. Change if template rename.&lt;br /&gt;
	verifydates = true,															-- See documentation. Set false to disable.&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; U N C A T E G O R I Z E D _ N A M E S P A C E S &amp;gt;------------------------------&lt;br /&gt;
&lt;br /&gt;
List of namespaces that should not be included in citation error categories.&lt;br /&gt;
&lt;br /&gt;
Note: Namespace names should use underscores instead of spaces.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local uncategorized_namespaces = {												-- same list as specified at [[Module:Citation/CS1/Configuration]]&lt;br /&gt;
	[&#039;User&#039;]=true, [&#039;Talk&#039;]=true, [&#039;User_talk&#039;]=true, [&#039;Wikipedia_talk&#039;]=true, [&#039;File_talk&#039;]=true,&lt;br /&gt;
	[&#039;Template_talk&#039;]=true, [&#039;Help_talk&#039;]=true, [&#039;Category_talk&#039;]=true, [&#039;Portal_talk&#039;]=true,&lt;br /&gt;
	[&#039;Book_talk&#039;]=true, [&#039;Draft_talk&#039;]=true, [&#039;Module_talk&#039;]=true,&lt;br /&gt;
	[&#039;MediaWiki_talk&#039;]=true,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local uncategorized_subpages = {&#039;/[Ss]andbox&#039;, &#039;/[Tt]estcases&#039;};				-- list of Lua patterns found in page names of pages we should not categorize&lt;br /&gt;
&lt;br /&gt;
local excepted_pages = {														-- these pages will be categorized if set true; set to nil to disable&lt;br /&gt;
	[&#039;Module talk:Webarchive/testcases&#039;] = true,								-- test cases pages used during development&lt;br /&gt;
	[&#039;Template:Webarchive/testcases/Production&#039;] = true,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C A T E G O R I E S &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
this is a table of all categories supported by Module:Webarchive&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local categories = {&lt;br /&gt;
	archiveis = &#039;Category:Webarchive template archiveis links&#039;,&lt;br /&gt;
	error = &#039;Category:Webarchive template errors&#039;,&lt;br /&gt;
	other = &#039;Category:Webarchive template other archives&#039;,&lt;br /&gt;
	unknown = &#039;Category:Webarchive template unknown archives&#039;,&lt;br /&gt;
	warning = &#039;Category:Webarchive template warnings&#039;,&lt;br /&gt;
	wayback = &#039;Category:Webarchive template wayback links&#039;,&lt;br /&gt;
	webcite = &#039;Category:Webarchive template webcite links&#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P R E F I X E S &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
used only with serviceName(), this table holds the two generic tail-text prefixes specified by services[&#039;&amp;lt;service name&amp;gt;&#039;][1]&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local prefixes = {&lt;br /&gt;
	at = &#039;at&#039;,&lt;br /&gt;
	atthe = &#039;at the&#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; S E R V I C E S &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
this is a table of tables for archive services.  Each service table has:&lt;br /&gt;
	[1]=prefix; may be boolean true or false, or text string where:&lt;br /&gt;
		true indicates that the prefix is taken from prefixes.atthe&lt;br /&gt;
		false indicates that the prefix is taken from prefixes.at&lt;br /&gt;
		&#039;text string&#039; is used in lieu of the typical &#039;at&#039; or &#039;at the&#039; prefix&lt;br /&gt;
	[2]=wikilink target article that describes the service; set to nil if not used&lt;br /&gt;
	[3]=wikilink label; the label in [[target|label]]; set to nil if not used; when there is not article ([2] is nil) use this to name the service; see wikiwix in the table&lt;br /&gt;
	[4]=service ID; set to nil if not used&lt;br /&gt;
	[5]=tracking category key from the categories table; set to nil if not used&lt;br /&gt;
	[6]=postfix; text string to be appended at the end of the tail string - see webarchive.loc.gov in the table&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local services = {&lt;br /&gt;
	[&#039;archive.ec&#039;] = {false, &#039;archive.today&#039;, nil, &#039;archiveis&#039;, categories.archiveis},&lt;br /&gt;
	[&#039;archive.fo&#039;] = {false, &#039;archive.today&#039;, nil, &#039;archiveis&#039;, categories.archiveis},&lt;br /&gt;
	[&#039;archive.is&#039;] = {false, &#039;archive.today&#039;, nil, &#039;archiveis&#039;, categories.archiveis},&lt;br /&gt;
	[&#039;archive.li&#039;] = {false, &#039;archive.today&#039;, nil, &#039;archiveis&#039;, categories.archiveis},&lt;br /&gt;
	[&#039;archive.md&#039;] = {false, &#039;archive.today&#039;, nil, &#039;archiveis&#039;, categories.archiveis},&lt;br /&gt;
	[&#039;archive.org&#039;] = {true, &#039;Wayback Machine&#039;, nil, &#039;wayback&#039;, categories.wayback},&lt;br /&gt;
	[&#039;archive.ph&#039;] = {false, &#039;archive.today&#039;, nil, &#039;archiveis&#039;, categories.archiveis},&lt;br /&gt;
	[&#039;archive.today&#039;] = {false, &#039;archive.today&#039;, nil, &#039;archiveis&#039;, categories.archiveis},&lt;br /&gt;
	[&#039;archive.vn&#039;] = {false, &#039;archive.today&#039;, nil, &#039;archiveis&#039;, categories.archiveis},&lt;br /&gt;
	[&#039;archive-it.org&#039;] = {false, &#039;Archive-It&#039;, nil, &#039;archiveit&#039;},&lt;br /&gt;
	[&#039;arquivo.pt&#039;] = {true, nil, &#039;Portuguese Web Archive&#039;},&lt;br /&gt;
	[&#039;bibalex.org&#039;] = {false, &#039;Bibliotheca Alexandrina#Internet Archive partnership&#039;, &#039;Bibliotheca Alexandrina&#039;},&lt;br /&gt;
	[&#039;collectionscanada&#039;] = {true, &#039;Canadian Government Web Archive&#039;},&lt;br /&gt;
	[&#039;conifer.rhizome.org&#039;] = {false, &#039;Rhizome_(organization)#Digital_Preservation_Program&#039;, &#039;Conifer Rhizome&#039;},&lt;br /&gt;
	[&#039;europarchive.org&#039;] = {true, &#039;National Library of Ireland&#039;},&lt;br /&gt;
	[&#039;freezepage.com&#039;] = {false, nil, &#039;Freezepage&#039;},&lt;br /&gt;
	[&#039;ghostarchive.org&#039;] = {false, nil, &#039;Ghost Archive&#039;},&lt;br /&gt;
	[&#039;haw.nsk&#039;] = {true, &#039;Croatian Web Archive (HAW)&#039;},&lt;br /&gt;
	[&#039;langzeitarchivierung.bib-bvb.de&#039;] = {false, &#039;Bavarian State Library&#039;},&lt;br /&gt;
	[&#039;loc.gov&#039;] = {true, &#039;Library of Congress&#039;},&lt;br /&gt;
	[&#039;nationalarchives.gov.uk&#039;] = {true, &#039;UK Government Web Archive&#039;, nil, &#039;ukgwa&#039;},&lt;br /&gt;
	[&#039;nlb.gov.sg&#039;] = {false, &#039;Web Archive Singapore&#039;},&lt;br /&gt;
	[&#039;parliament.uk&#039;] = {true, &#039;UK Parliament\&#039;s Web Archive&#039;},&lt;br /&gt;
	[&#039;perma.cc&#039;] = {false, &#039;Perma.cc&#039;},&lt;br /&gt;
	[&#039;perma-archives.cc&#039;] = {false, &#039;Perma.cc&#039;},&lt;br /&gt;
	[&#039;proni.gov&#039;] = {true, &#039;Public Record Office of Northern Ireland&#039;},&lt;br /&gt;
	[&#039;screenshots.com&#039;] = {false, nil, &#039;Screenshots&#039;},&lt;br /&gt;
	[&#039;stanford.edu&#039;] = {true, &#039;Stanford University Libraries&#039;, &#039;Stanford Web Archive&#039;},&lt;br /&gt;
	[&#039;timetravel.mementoweb.org&#039;] = {false, &#039;Memento Project&#039;},&lt;br /&gt;
	[&#039;uni-lj.si&#039;] = {true, nil, &#039;Slovenian Web Archive&#039;},&lt;br /&gt;
	[&#039;veebiarhiiv.digar.ee&#039;] = {true, nil, &#039;Estonian Web Archive&#039;},&lt;br /&gt;
	[&#039;vefsafn.is&#039;] = {true, &#039;National and University Library of Iceland&#039;},&lt;br /&gt;
	[&#039;webarchive.bac-lac.gc.ca&#039;] = {false, &#039;Library and Archives Canada&#039;},&lt;br /&gt;
	[&#039;webarchive.loc.gov&#039;] = {true, &#039;Library of Congress&#039;, nil, &#039;locwebarchives&#039;, nil, &#039;Web Archives&#039;},&lt;br /&gt;
	[&#039;webarchive.nla.gov.au&#039;] = {true, &#039;Australian Web Archive&#039;},&lt;br /&gt;
	[&#039;webarchive.org.uk&#039;] = {true, &#039;UK Web Archive&#039;},&lt;br /&gt;
	[&#039;webcache.googleusercontent.com&#039;] = {false, nil, &#039;Google Cache&#039;},&lt;br /&gt;
	[&#039;webcitation.org&#039;] = {false, &#039;WebCite&#039;, nil, &#039;webcite&#039;, categories.webcite},&lt;br /&gt;
	[&#039;webharvest.gov&#039;] = {true, &#039;National Archives and Records Administration&#039;},&lt;br /&gt;
	[&#039;webrecorder.io&#039;] = {false, &#039;webrecorder.io&#039;},&lt;br /&gt;
	[&#039;wikiwix.com&#039;] = {false, nil, &#039;Wikiwix&#039;},&lt;br /&gt;
	[&#039;yorku.ca&#039;] = {false, &#039;York University Libraries&#039;, &#039;York University Digital Library&#039;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S T A T I C   T E X T &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
for internationalzation&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local s_text = {&lt;br /&gt;
	addlarchives = &#039;Additional archives&#039;,&lt;br /&gt;
	addlpages = &#039;Additional pages archived&amp;amp;nbsp;on&#039;,							-- TODO why the &amp;amp;nbsp; there? replace with regular space?&lt;br /&gt;
	Archive_index = &#039;Archive index&#039;,&lt;br /&gt;
	Archived = &#039;Archived&#039;,&lt;br /&gt;
	archived = &#039;archived&#039;,&lt;br /&gt;
	archive = &#039;archive&#039;,&lt;br /&gt;
	Page = &#039;Page&#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E R R _ W A R N _ M S G S &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
these tables hold error and warning message text&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local err_warn_msgs = {&lt;br /&gt;
	date_err = &#039;(Date error)&#039;,													-- decodeWebciteDate, decodeWaybackDate, decodeArchiveisDate&lt;br /&gt;
	date_miss = &#039;(Date missing)&#039;,												-- parseExtraArgs&lt;br /&gt;
	ts_short = &#039;(Timestamp date length)&#039;,										-- decodeWaybackDate timestamp less than 8 digits&lt;br /&gt;
	ts_date = &#039;(Timestamp date invalid)&#039;,										-- decodeWaybackDate timestamp not a valid date&lt;br /&gt;
	unknown_url = &#039;(Error: unknown archive URL)&#039;,								-- serviceName&lt;br /&gt;
	unnamed_params = &#039;(Positional parameters ignored)&#039;,&lt;br /&gt;
&lt;br /&gt;
--warnings&lt;br /&gt;
	mismatch = &#039;&amp;lt;sup&amp;gt;(Date mismatch)&amp;lt;/sup&amp;gt;&#039;,									-- webarchive&lt;br /&gt;
	ts_len = &#039;&amp;lt;sup&amp;gt;(Timestamp length)&amp;lt;/sup&amp;gt;&#039;,									-- decodeWaybackDate, decodeArchiveisDate timestamp not 14 digits&lt;br /&gt;
	ts_cal = &#039;&amp;lt;sup&amp;gt;(Calendar)&amp;lt;/sup&amp;gt;&#039;,											-- decodeWaybackDate timestamp has trailing splat&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local crit_err_msgs = {															-- critical error messages&lt;br /&gt;
	conflicting = &#039;Conflicting |$1= and |$2=&#039;,&lt;br /&gt;
	empty = &#039;Empty url&#039;,&lt;br /&gt;
--	iabot1 = &#039;https://web.http&#039;,												-- TODO: these iabot bugs perportedly fixed; removing these causes lua script error&lt;br /&gt;
--	iabot2 = &#039;Invalid URL&#039;,														-- at Template:Webarchive/testcases/Production; resolve that before deleting these messages&lt;br /&gt;
	invalid_url = &#039;Invalid URL&#039;,&lt;br /&gt;
	ts_nan = &#039;Timestamp not a number&#039;,&lt;br /&gt;
	unknown = &#039;Unknown problem. Please report on template talk page&#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; D A T E   I N T E R N A T I O N A L I Z A T I O N &amp;gt;----------------------------&lt;br /&gt;
&lt;br /&gt;
these tables hold data that is used when converting date formats from non-English languages (because mw.language.getContentLanguage:formatDate()&lt;br /&gt;
doesn&#039;t understand non-English month names)&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local month_num = {																-- retain English language names even though they may not be strictly required on the local wiki&lt;br /&gt;
	[&#039;January&#039;] = 1, [&#039;February&#039;] = 2, [&#039;March&#039;] = 3, [&#039;April&#039;] = 4, [&#039;May&#039;] = 5, [&#039;June&#039;] = 6, [&#039;July&#039;] = 7, [&#039;August&#039;] = 8, [&#039;September&#039;] = 9, [&#039;October&#039;] = 10, [&#039;November&#039;] = 11, [&#039;December&#039;] = 12,&lt;br /&gt;
	[&#039;Jan&#039;] = 1, [&#039;Feb&#039;] = 2, [&#039;Mar&#039;] = 3, [&#039;Apr&#039;] = 4, [&#039;May&#039;] = 5, [&#039;Jun&#039;] = 6, [&#039;Jul&#039;] = 7, [&#039;Aug&#039;] = 8, [&#039;Sep&#039;] = 9, [&#039;Oct&#039;] = 10, [&#039;Nov&#039;] = 11, [&#039;Dec&#039;] = 12,&lt;br /&gt;
-- add local wiki month-names to number translation here&lt;br /&gt;
--	[&#039;&#039;] = 1, [&#039;&#039;] = 2, [&#039;&#039;] = 3, [&#039;&#039;] = 4, [&#039;&#039;] = 5, [&#039;&#039;] = 6, [&#039;&#039;] = 7, [&#039;&#039;] = 8, [&#039;&#039;] = 9, [&#039;&#039;] = 10, [&#039;&#039;] = 11, [&#039;&#039;] = 12,&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
																				-- when the local wiki uses non-western digits in dates, local wiki digits must be&lt;br /&gt;
																				-- translated to western digits; lua only understands western digits&lt;br /&gt;
local digits = {																-- use this table to aid translation&lt;br /&gt;
--	[&#039;&#039;] = 0, [&#039;&#039;] = 1, [&#039;&#039;] = 2, [&#039;&#039;] = 3, [&#039;&#039;] = 4, [&#039;&#039;] = 5, [&#039;&#039;] = 6, [&#039;&#039;] = 7, [&#039;&#039;] = 8, [&#039;&#039;] = 9,	-- fill these table indexes with local digits&lt;br /&gt;
	enable = false																-- set to true to enable local-digit to western-digit translation&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P A R A M E T E R   I N T E R N A T I O N A L I Z A T I O N &amp;gt;------------------&lt;br /&gt;
&lt;br /&gt;
this table holds tables of parameter names and their non-English aliases.  In the enum_params table &#039;#&#039; is a single&lt;br /&gt;
character placeholder for 1 or more digit characters&lt;br /&gt;
&lt;br /&gt;
parameter names in this table shall be lowercase&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local params = {&lt;br /&gt;
	[&#039;url&#039;] = {&#039;url&#039;},&lt;br /&gt;
	[&#039;date&#039;] = {&#039;date&#039;, &#039;datum&#039;},&lt;br /&gt;
	[&#039;title&#039;] = {&#039;title&#039;, &#039;titel&#039;},&lt;br /&gt;
	[&#039;nolink&#039;] = {&#039;nolink&#039;},&lt;br /&gt;
	[&#039;format&#039;] = {&#039;format&#039;}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local enum_params = {&lt;br /&gt;
	[&#039;url#&#039;] = {&#039;url#&#039;},&lt;br /&gt;
	[&#039;date#&#039;] = {&#039;date#&#039;, &#039;datum#&#039;},&lt;br /&gt;
	[&#039;title#&#039;] = {&#039;title#&#039;, &#039;titel#&#039;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local format_vals = {															-- |format= accepts two values; add local language variants here&lt;br /&gt;
	[&#039;addlpages&#039;] = {&#039;addlpages&#039;},&lt;br /&gt;
	[&#039;addlarchives&#039;] = {&#039;addlarchives&#039;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T E D   T A B L E S &amp;gt;------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	categories = categories,&lt;br /&gt;
	config = config,&lt;br /&gt;
	crit_err_msgs = crit_err_msgs,&lt;br /&gt;
	digits = digits,&lt;br /&gt;
	enum_params = enum_params,&lt;br /&gt;
	err_warn_msgs = err_warn_msgs,&lt;br /&gt;
	excepted_pages = excepted_pages,&lt;br /&gt;
	format_vals = format_vals,&lt;br /&gt;
	month_num = month_num,&lt;br /&gt;
	params = params,&lt;br /&gt;
	prefixes = prefixes,&lt;br /&gt;
	services = services,&lt;br /&gt;
	s_text = s_text,&lt;br /&gt;
	uncategorized_namespaces = uncategorized_namespaces,&lt;br /&gt;
	uncategorized_subpages = uncategorized_subpages,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Module:Webarchive&amp;diff=1633</id>
		<title>Module:Webarchive</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Module:Webarchive&amp;diff=1633"/>
		<updated>2025-03-26T14:21:55Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Module:Webarchive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[ ----------------------------------&lt;br /&gt;
&lt;br /&gt;
Lua module implementing the {{webarchive}} template. &lt;br /&gt;
&lt;br /&gt;
A merger of the functionality of three templates: {{wayback}}, {{webcite}} and {{cite archives}}&lt;br /&gt;
	&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; D E P E N D E N C I E S &amp;gt;------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
require(&#039;strict&#039;);&lt;br /&gt;
local getArgs = require (&#039;Module:Arguments&#039;).getArgs;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; F O R W A R D   D E C L A R A T I O N S &amp;gt;--------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local categories = {};															-- category names&lt;br /&gt;
local config = {};																-- global configuration settings&lt;br /&gt;
local digits = {};																-- for i18n; table that translates local-wiki digits to western digits&lt;br /&gt;
local err_warn_msgs = {};														-- error and warning messages&lt;br /&gt;
local excepted_pages = {};&lt;br /&gt;
local month_num = {};															-- for i18n; table that translates local-wiki month names to western digits&lt;br /&gt;
local prefixes = {};															-- service provider tail string prefixes&lt;br /&gt;
local services = {};															-- archive service provider data from&lt;br /&gt;
local s_text = {};																-- table of static text strings used to build final rendering&lt;br /&gt;
local uncategorized_namespaces = {};											-- list of namespaces that we should not categorize&lt;br /&gt;
local uncategorized_subpages = {};												-- list of subpages that should not be categorized&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P A G E   S C O P E   I D E N T I F I E R S &amp;gt;----------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local non_western_digits;														-- boolean flag set true when data.digits.enable is true&lt;br /&gt;
local this_page = mw.title.getCurrentTitle();&lt;br /&gt;
&lt;br /&gt;
local track = {};																-- Associative array to hold tracking categories&lt;br /&gt;
local ulx = {};																	-- Associative array to hold template data &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S U B S T I T U T E &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Populates numbered arguments in a message string using an argument table.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function substitute (msg, args)&lt;br /&gt;
	return args and mw.message.newRawMessage (msg, args):plain() or msg;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; tableLength &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Given a 1-D table, return number of elements&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function tableLength(T)&lt;br /&gt;
	local count = 0&lt;br /&gt;
	for _ in pairs(T) do count = count + 1 end&lt;br /&gt;
	return count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; M A K E _ W I K I L I N K &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Makes a wikilink; when both link and display text is provided, returns a wikilink in the form [[L|D]]; if only&lt;br /&gt;
link is provided, returns a wikilink in the form [[L]]; if neither are provided or link is omitted, returns an&lt;br /&gt;
empty string.&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function make_wikilink (link, display, no_link)&lt;br /&gt;
	if nil == no_link then&lt;br /&gt;
		if link and (&#039;&#039; ~= link) then&lt;br /&gt;
			if display and (&#039;&#039; ~= display) then&lt;br /&gt;
				return table.concat ({&#039;[[&#039;, link, &#039;|&#039;, display, &#039;]]&#039;});&lt;br /&gt;
			else&lt;br /&gt;
				return table.concat ({&#039;[[&#039;, link, &#039;]]&#039;});&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return display or &#039;&#039;;													-- link not set so return the display text&lt;br /&gt;
&lt;br /&gt;
	else																		-- no_link&lt;br /&gt;
		if display and (&#039;&#039; ~= display) then										-- if there is display text&lt;br /&gt;
			return display;														-- return that&lt;br /&gt;
		else&lt;br /&gt;
			return link or &#039;&#039;;													-- return the target article name or empty string&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; createTracking &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Return data in track[] ie. tracking categories&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function createTracking()&lt;br /&gt;
	if not excepted_pages[this_page.fullText] then								-- namespace:title/fragment is allowed to be categorized (typically this module&#039;s / template&#039;s testcases page(s))&lt;br /&gt;
		if uncategorized_namespaces[this_page.nsText] then&lt;br /&gt;
			return &#039;&#039;;															-- this page not to be categorized so return empty string&lt;br /&gt;
		end&lt;br /&gt;
		for _,v in ipairs (uncategorized_subpages) do							-- cycle through page name patterns&lt;br /&gt;
			if this_page.text:match (v) then									-- test page name against each pattern&lt;br /&gt;
				return &#039;&#039;;														-- this subpage type not to be categorized so return empty string&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local out = {};&lt;br /&gt;
	if tableLength(track) &amp;gt; 0 then&lt;br /&gt;
		for key, _ in pairs(track) do											-- loop through table&lt;br /&gt;
			table.insert (out, make_wikilink (key));							-- and convert category names to links&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat (out);													-- concat into one big string; empty string if table is empty&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; inlineError &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Critical error. Render output completely in red. Add to tracking category.&lt;br /&gt;
&lt;br /&gt;
This function called as the last thing before abandoning this module&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function inlineError (msg, args)&lt;br /&gt;
	track[categories.error] = 1&lt;br /&gt;
	return table.concat ({&lt;br /&gt;
		&#039;&amp;lt;span style=&amp;quot;font-size:100%&amp;quot; class=&amp;quot;error citation-comment&amp;quot;&amp;gt;Error in &#039;,	-- open the error message span&lt;br /&gt;
		config.tname,															-- insert the local language template name&lt;br /&gt;
		&#039; template: &#039;,&lt;br /&gt;
		substitute (msg, args),													-- insert the formatted error message&lt;br /&gt;
		&#039;.&amp;lt;/span&amp;gt;&#039;,																-- close the span&lt;br /&gt;
		createTracking()														-- add the category&lt;br /&gt;
		})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; inlineRed &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Render a text fragment in red, such as a warning as part of the final output.&lt;br /&gt;
Add tracking category.&lt;br /&gt;
&lt;br /&gt;
 ]]&lt;br /&gt;
&lt;br /&gt;
local function inlineRed(msg, trackmsg)&lt;br /&gt;
	if trackmsg == &amp;quot;warning&amp;quot; then&lt;br /&gt;
		track[categories.warning] = 1;&lt;br /&gt;
	elseif trackmsg == &amp;quot;error&amp;quot; then&lt;br /&gt;
		track[categories.error] = 1;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return &#039;&amp;lt;span style=&amp;quot;font-size:100%&amp;quot; class=&amp;quot;error citation-comment&amp;quot;&amp;gt;&#039; .. msg .. &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; base62 &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Convert base-62 to base-10&lt;br /&gt;
Credit: https://de.wikipedia.org/wiki/Modul:Expr &lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function base62( value )&lt;br /&gt;
	local r = 1																	-- default return value is input value is malformed&lt;br /&gt;
&lt;br /&gt;
	if value:match (&#039;%W&#039;) then													-- value must only be in the set [0-9a-zA-Z]&lt;br /&gt;
		return;																	-- nil return when value contains extraneous characters&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local n = #value															-- number of characters in value&lt;br /&gt;
	local k = 1&lt;br /&gt;
	local c&lt;br /&gt;
	r = 0&lt;br /&gt;
	for i = n, 1, -1 do															-- loop through all characters in value from ls digit to ms digit&lt;br /&gt;
		c = value:byte( i, i )&lt;br /&gt;
		if c &amp;gt;= 48 and c &amp;lt;= 57 then												-- character is digit 0-9&lt;br /&gt;
			c = c - 48&lt;br /&gt;
		elseif c &amp;gt;= 65 and c &amp;lt;= 90 then											-- character is ascii a-z&lt;br /&gt;
			c = c - 55&lt;br /&gt;
		else																	-- must be ascii A-Z&lt;br /&gt;
			c = c - 61&lt;br /&gt;
		end&lt;br /&gt;
		r = r + c * k															-- accumulate this base62 character&#039;s value&lt;br /&gt;
		k = k * 62																-- bump for next&lt;br /&gt;
	end -- for i&lt;br /&gt;
&lt;br /&gt;
	return r&lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; D E C O D E _ D A T E &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Given a date string, return it in iso format along with an indicator of the date&#039;s format.  Except that month names&lt;br /&gt;
must be recognizable as legitimate month names with proper capitalization, and that the date string must match one&lt;br /&gt;
of the recognized date formats, no error checking is done here; return nil else&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function decode_date (date_str)&lt;br /&gt;
	local patterns = {&lt;br /&gt;
		[&#039;dmy&#039;] = {&#039;^(%d%d?) +([^%s%d]+) +(%d%d%d%d)$&#039;, &#039;d&#039;, &#039;m&#039;, &#039;y&#039;},			-- %a does not recognize unicode combining characters used by some languages&lt;br /&gt;
		[&#039;mdy&#039;] = {&#039;^([^%s%d]+) (%d%d?), +(%d%d%d%d)$&#039;, &#039;m&#039;, &#039;d&#039;, &#039;y&#039;},&lt;br /&gt;
		[&#039;ymd&#039;] = {&#039;^(%d%d%d%d) +([^%s%d]+) (%d%d?)$&#039;, &#039;y&#039;, &#039;m&#039;, &#039;d&#039;},			-- not mos compliant at en.wiki but may be acceptible at other wikis&lt;br /&gt;
		};&lt;br /&gt;
	&lt;br /&gt;
	local t = {};&lt;br /&gt;
&lt;br /&gt;
	if non_western_digits then													-- this wiki uses non-western digits?&lt;br /&gt;
		date_str = mw.ustring.gsub (date_str, &#039;%d&#039;, digits);					-- convert this wiki&#039;s non-western digits to western digits&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if date_str:match (&#039;^%d%d%d%d%-%d%d%-%d%d$&#039;) then							-- already an iso format date, return western digits form&lt;br /&gt;
		return date_str, &#039;iso&#039;;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for k, v in pairs (patterns) do&lt;br /&gt;
		local c1, c2, c3 = mw.ustring.match (date_str, patterns[k][1]);			-- c1 .. c3 are captured but we don&#039;t know what they hold&lt;br /&gt;
		&lt;br /&gt;
		if c1 then																-- set on match&lt;br /&gt;
			t = {																-- translate unspecified captures to y, m, and d&lt;br /&gt;
				[patterns[k][2]] = c1,											-- fill the table of captures with the captures&lt;br /&gt;
				[patterns[k][3]] = c2,											-- take index names from src_pattern table and assign sequential captures&lt;br /&gt;
				[patterns[k][4]] = c3,&lt;br /&gt;
				};&lt;br /&gt;
			if month_num[t.m] then												-- when month not already a number&lt;br /&gt;
				t.m = month_num[t.m];											-- replace valid month name with a number&lt;br /&gt;
			else&lt;br /&gt;
				return nil, &#039;iso&#039;;												-- not a valid date form because month not valid&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			return mw.ustring.format (&#039;%.4d-%.2d-%.2d&#039;, t.y, t.m, t.d), k;		-- return date in iso format&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil, &#039;iso&#039;;															-- date could not be decoded; return nil and default iso date&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
--[[--------------------------&amp;lt; makeDate &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Given year, month, day numbers, (zero-padded or not) return a full date in df format&lt;br /&gt;
where df may be one of:&lt;br /&gt;
	mdy, dmy, iso, ymd&lt;br /&gt;
&lt;br /&gt;
on entry, year, month, day are presumed to be correct for the date that they represent; all are required&lt;br /&gt;
&lt;br /&gt;
in this module, makeDate() is sometimes given an iso-format date in year:&lt;br /&gt;
	makeDate (2018-09-20, nil, nil, df)&lt;br /&gt;
this works because table.concat() sees only one table member&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function makeDate (year, month, day, df)&lt;br /&gt;
	local format = {&lt;br /&gt;
		[&#039;dmy&#039;] = &#039;j F Y&#039;,&lt;br /&gt;
		[&#039;mdy&#039;] = &#039;F j, Y&#039;,&lt;br /&gt;
		[&#039;ymd&#039;] = &#039;Y F j&#039;,&lt;br /&gt;
		[&#039;iso&#039;] = &#039;Y-m-d&#039;,&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
	local date = table.concat ({year, month, day}, &#039;-&#039;);						-- assemble year-initial numeric-format date (zero padding not required here)&lt;br /&gt;
&lt;br /&gt;
	if non_western_digits then													-- this wiki uses non-western digits?&lt;br /&gt;
		date = mw.ustring.gsub (date, &#039;%d&#039;, digits);							-- convert this wiki&#039;s non-western digits to western digits&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return mw.getContentLanguage():formatDate (format[df], date);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I S _ V A L I D _ D A T E &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Returns true if date is after 31 December 1899 (why is 1900 the min year? shouldn&#039;t the internet&#039;s date-of-birth&lt;br /&gt;
be min year?), not after today&#039;s date, and represents a valid date (29 February 2017 is not a valid date).  Applies&lt;br /&gt;
Gregorian leapyear rules.&lt;br /&gt;
&lt;br /&gt;
all arguments are required&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function is_valid_date (year, month, day)&lt;br /&gt;
	local days_in_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};&lt;br /&gt;
	local month_length;&lt;br /&gt;
	local y, m, d;&lt;br /&gt;
	local today = os.date (&#039;*t&#039;);												-- fetch a table of current date parts&lt;br /&gt;
&lt;br /&gt;
	if not year or &#039;&#039; == year or not month or &#039;&#039; == month or not day or &#039;&#039; == day then&lt;br /&gt;
		return false;															-- something missing&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	y = tonumber (year);&lt;br /&gt;
	m = tonumber (month);&lt;br /&gt;
	d = tonumber (day);&lt;br /&gt;
&lt;br /&gt;
	if 1900 &amp;gt; y or today.year &amp;lt; y or 1 &amp;gt; m or 12 &amp;lt; m then						-- year and month are within bounds	TODO: 1900?&lt;br /&gt;
		return false;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (2==m) then																-- if February&lt;br /&gt;
		month_length = 28;														-- then 28 days unless&lt;br /&gt;
		if (0==(y%4) and (0~=(y%100) or 0==(y%400))) then						-- is a leap year?&lt;br /&gt;
			month_length = 29;													-- if leap year then 29 days in February&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		month_length=days_in_month[m];&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if 1 &amp;gt; d or month_length &amp;lt; d then											-- day is within bounds&lt;br /&gt;
		return false;&lt;br /&gt;
	end&lt;br /&gt;
																					-- here when date parts represent a valid date&lt;br /&gt;
	return os.time({[&#039;year&#039;]=y, [&#039;month&#039;]=m, [&#039;day&#039;]=d, [&#039;hour&#039;]=0}) &amp;lt;= os.time();	-- date at midnight must be less than or equal to current date/time&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; decodeWebciteDate &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Given a URI-path to Webcite (eg. /67xHmVFWP) return the encoded date in df format&lt;br /&gt;
&lt;br /&gt;
returns date string in df format - webcite date is a unix timestamp encoded as bae62&lt;br /&gt;
or the string &#039;query&#039;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function decodeWebciteDate(path, df)&lt;br /&gt;
&lt;br /&gt;
	local dt = {};&lt;br /&gt;
	local decode;&lt;br /&gt;
&lt;br /&gt;
	dt = mw.text.split(path, &amp;quot;/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- valid URL formats that are not base62&lt;br /&gt;
&lt;br /&gt;
	-- http://www.webcitation.org/query?id=1138911916587475&lt;br /&gt;
	-- http://www.webcitation.org/query?url=http..&amp;amp;date=2012-06-01+21:40:03&lt;br /&gt;
	-- http://www.webcitation.org/1138911916587475&lt;br /&gt;
	-- http://www.webcitation.org/cache/73e53dd1f16cf8c5da298418d2a6e452870cf50e&lt;br /&gt;
	-- http://www.webcitation.org/getfile.php?fileid=1c46e791d68e89e12d0c2532cc3cf629b8bc8c8e&lt;br /&gt;
&lt;br /&gt;
	if dt[2]:find (&#039;query&#039;, 1, true) or &lt;br /&gt;
		dt[2]:find (&#039;cache&#039;, 1, true) or&lt;br /&gt;
		dt[2]:find (&#039;getfile&#039;, 1, true) or&lt;br /&gt;
		tonumber(dt[2]) then&lt;br /&gt;
			return &#039;query&#039;;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	decode = base62(dt[2]);														-- base62 string -&amp;gt; exponential number&lt;br /&gt;
	if not decode then&lt;br /&gt;
		return nil;																-- nil return when dt[2] contains characters not in %w&lt;br /&gt;
	end&lt;br /&gt;
	dt = os.date(&#039;*t&#039;, string.format(&amp;quot;%d&amp;quot;, decode):sub(1,10))					-- exponential number -&amp;gt; text -&amp;gt; first 10 characters (a unix timestamp) -&amp;gt; a table of date parts&lt;br /&gt;
&lt;br /&gt;
	decode = makeDate (dt.year, dt.month, dt.day, &#039;iso&#039;);						-- date comparisons are all done in iso format with western digits&lt;br /&gt;
	if non_western_digits then													-- this wiki uses non-western digits?&lt;br /&gt;
		decode = mw.ustring.gsub (decode, &#039;%d&#039;, digits);						-- convert this wiki&#039;s non-western digits to western digits&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return decode;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; decodeWaybackDate &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Given a URI-path to Wayback (eg. /web/20160901010101/http://example.com )&lt;br /&gt;
or Library of Congress Web Archives (eg. /all/20160901010101/http://example.com)&lt;br /&gt;
or UK Government Web Archive (eg. /ukgwa/20160901010101/http://example.com or /tna/20160901010101/http://example.com)&lt;br /&gt;
&lt;br /&gt;
return the formatted date eg. &amp;quot;September 1, 2016&amp;quot; in df format &lt;br /&gt;
Handle non-digits in snapshot ID such as &amp;quot;re_&amp;quot; and &amp;quot;-&amp;quot; and &amp;quot;*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
returns two values:&lt;br /&gt;
	first value is one of these:&lt;br /&gt;
		valid date string in df format - wayback date is valid (including the text string &#039;index&#039; when date is &#039;/*/&#039;)&lt;br /&gt;
		empty string - wayback date is malformed (less than 8 digits, not a valid date)&lt;br /&gt;
		nil - wayback date is &#039;/save/&#039; or otherwise not a number&lt;br /&gt;
	&lt;br /&gt;
	second return value is an appropriate &#039;message&#039; may or may not be formatted&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function decodeWaybackDate(path, df)&lt;br /&gt;
&lt;br /&gt;
	local msg, snapdate;&lt;br /&gt;
&lt;br /&gt;
	snapdate = path:gsub (&#039;^/web/&#039;, &#039;&#039;):gsub (&#039;^/all/&#039;, &#039;&#039;):gsub (&#039;^/ukgwa/&#039;, &#039;&#039;):gsub (&#039;^/tna/&#039;, &#039;&#039;):gsub (&#039;^/&#039;, &#039;&#039;);	-- remove leading /web/, /all/, /ukgwa/, /tna/, or /&lt;br /&gt;
	snapdate = snapdate:match (&#039;^[^/]+&#039;);										-- get timestamp&lt;br /&gt;
	if snapdate == &amp;quot;*&amp;quot; then														-- eg. /web/*/http.., etc.&lt;br /&gt;
		return &#039;index&#039;;															-- return indicator that this url has an index date&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	snapdate = snapdate:gsub (&#039;%a%a_%d?$&#039;, &#039;&#039;):gsub (&#039;%-&#039;, &#039;&#039;);					-- from date, remove any trailing &amp;quot;re_&amp;quot;, dashes&lt;br /&gt;
&lt;br /&gt;
	msg = &#039;&#039;;&lt;br /&gt;
	if snapdate:match (&#039;%*$&#039;) then												-- a trailing &#039;*&#039; causes calendar display at archive .org&lt;br /&gt;
		snapdate = snapdate:gsub (&#039;%*$&#039;, &#039;&#039;);									-- remove so not part of length calc later&lt;br /&gt;
		msg = inlineRed (err_warn_msgs.ts_cal, &#039;warning&#039;);						-- make a message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not tonumber(snapdate) then&lt;br /&gt;
		return nil, &#039;ts_nan&#039;;													-- return nil (fatal error flag) and message selector&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local dlen = snapdate:len();&lt;br /&gt;
	if dlen &amp;lt; 8 then															-- we need 8 digits TODO: but shouldn&#039;t this be testing for 14 digits?&lt;br /&gt;
		return &#039;&#039;, inlineRed (err_warn_msgs.ts_short, &#039;error&#039;);					-- return empty string and error message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local year, month, day = snapdate:match (&#039;(%d%d%d%d)(%d%d)(%d%d)&#039;);			-- no need for snapdatelong here&lt;br /&gt;
&lt;br /&gt;
	if not is_valid_date (year, month, day) then&lt;br /&gt;
		return &#039;&#039;, inlineRed (err_warn_msgs.ts_date, &#039;error&#039;);					-- return empty string and error message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	snapdate = table.concat ({year, month, day}, &#039;-&#039;);							-- date comparisons are all done in iso format&lt;br /&gt;
	if 14 == dlen then&lt;br /&gt;
		return snapdate, msg;													-- return date with message if any&lt;br /&gt;
	else&lt;br /&gt;
		return snapdate, msg .. inlineRed (err_warn_msgs.ts_len, &#039;warning&#039;);	-- return date with warning message(s)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; decodeArchiveisDate &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Given an Archive.is &amp;quot;long link&amp;quot; URI-path (e.g. /2016.08.28-144552/http://example.com)&lt;br /&gt;
return the date in df format (e.g. if df = dmy, return 28 August 2016)&lt;br /&gt;
Handles &amp;quot;.&amp;quot; and &amp;quot;-&amp;quot; in snapshot date, so 2016.08.28-144552 is same as 20160828144552&lt;br /&gt;
&lt;br /&gt;
returns two values:&lt;br /&gt;
	first value is one of these:&lt;br /&gt;
		valid date string in df format - archive.is date is valid (including the text string &#039;short link&#039; when url is the short form)&lt;br /&gt;
		empty string - wayback date is malformed (not a number, less than 8 digits, not a valid date)&lt;br /&gt;
		nil - wayback date is &#039;/save/&#039;&lt;br /&gt;
	&lt;br /&gt;
	second return value is an appropriate &#039;message&#039; may or may not be formatted&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function decodeArchiveisDate(path, df)&lt;br /&gt;
	local snapdate&lt;br /&gt;
&lt;br /&gt;
	if path:match (&#039;^/%w+$&#039;) then												-- short form url path is &#039;/&#039; followed by some number of base 62 digits and nothing else&lt;br /&gt;
		return &amp;quot;short link&amp;quot;														-- e.g. http://archive.is/hD1qz&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	snapdate = mw.text.split (path, &#039;/&#039;)[2]:gsub(&#039;[%.%-]&#039;, &#039;&#039;);					-- get snapshot date, e.g. 2016.08.28-144552; remove periods and hyphens&lt;br /&gt;
&lt;br /&gt;
	local dlen = string.len(snapdate)&lt;br /&gt;
	if dlen &amp;lt; 8 then															-- we need 8 digits TODO: but shouldn&#039;t this be testing for 14 digits?&lt;br /&gt;
		return &#039;&#039;, inlineRed (err_warn_msgs.ts_short, &#039;error&#039;);					-- return empty string and error message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local year, month, day = snapdate:match (&#039;(%d%d%d%d)(%d%d)(%d%d)&#039;);			-- no need for snapdatelong here&lt;br /&gt;
&lt;br /&gt;
	if not is_valid_date (year, month, day) then&lt;br /&gt;
		return &#039;&#039;, inlineRed (err_warn_msgs.ts_date, &#039;error&#039;);					-- return empty string and error message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	snapdate = table.concat ({year, month, day}, &#039;-&#039;);							-- date comparisons are all done in iso format&lt;br /&gt;
	if 14 == dlen then&lt;br /&gt;
		return snapdate;														-- return date&lt;br /&gt;
	else&lt;br /&gt;
		return snapdate, inlineRed (err_warn_msgs.ts_len, &#039;warning&#039;);			-- return date with warning message&lt;br /&gt;
	end&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; serviceName &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Given a domain extracted by mw.uri.new() (eg. web.archive.org) set tail string and service ID&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function serviceName(host, no_link)&lt;br /&gt;
	local tracking;&lt;br /&gt;
	local index;&lt;br /&gt;
	&lt;br /&gt;
	host = host:lower():gsub (&#039;^web%.(.+)&#039;, &#039;%1&#039;):gsub (&#039;^www%.(.+)&#039;, &#039;%1&#039;);	-- lowercase, remove web. and www. subdomains&lt;br /&gt;
&lt;br /&gt;
	if services[host] then&lt;br /&gt;
		index = host;&lt;br /&gt;
	else&lt;br /&gt;
		for k, _ in pairs (services) do&lt;br /&gt;
			if host:find (&#039;%f[%a]&#039;..k:gsub (&#039;([%.%-])&#039;, &#039;%%%1&#039;)) then&lt;br /&gt;
				index = k;&lt;br /&gt;
				break;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if index then&lt;br /&gt;
		local out = {&#039;&#039;};														-- empty string in [1] so that concatenated result has leading single space&lt;br /&gt;
		ulx.url1.service = services[index][4] or &#039;other&#039;;&lt;br /&gt;
		tracking = services[index][5] or categories.other;&lt;br /&gt;
																				-- build tail string&lt;br /&gt;
		if false == services[index][1] then										-- select prefix&lt;br /&gt;
			table.insert (out, prefixes.at);&lt;br /&gt;
		elseif true == services[index][1] then&lt;br /&gt;
			table.insert (out, prefixes.atthe);&lt;br /&gt;
		else&lt;br /&gt;
			table.insert (out, services[index][1]);&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		table.insert (out, make_wikilink (services[index][2], services[index][3], no_link));	-- add article wikilink&lt;br /&gt;
		if services[index][6] then												-- add tail postfix if it exists&lt;br /&gt;
			table.insert (out, services[index][6]);&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		ulx.url1.tail = table.concat (out, &#039; &#039;);								-- put it all together; result has leading space character&lt;br /&gt;
&lt;br /&gt;
	else																		-- here when unknown archive&lt;br /&gt;
		ulx.url1.service = &#039;other&#039;;&lt;br /&gt;
		tracking = categories.unknown;&lt;br /&gt;
		ulx.url1.tail = table.concat ({&#039;&#039;, prefixes.at, host, inlineRed (err_warn_msgs.unknown_url, error)}, &#039; &#039;);&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	track[tracking] = 1&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; parseExtraArgs &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Parse numbered arguments starting at 2, such as url2..url10, date2..date10, title2..title10&lt;br /&gt;
	For example: {{webarchive |url=.. |url4=.. |url7=..}}&lt;br /&gt;
		Three url arguments not in numeric sequence (1..4..7). &lt;br /&gt;
			Function only processes arguments numbered 2 or greater (in this case 4 and 7)&lt;br /&gt;
				It creates numeric sequenced table entries like:&lt;br /&gt;
				urlx.url2.url = &amp;lt;argument value for url4&amp;gt;&lt;br /&gt;
				urlx.url3.url = &amp;lt;argument value for url7&amp;gt;&lt;br /&gt;
			Returns the number of URL arguments found numbered 2 or greater (in this case returns &amp;quot;2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 ]]&lt;br /&gt;
&lt;br /&gt;
local function parseExtraArgs(args)&lt;br /&gt;
&lt;br /&gt;
	local i, j, argurl, argurl2, argdate, argtitle&lt;br /&gt;
&lt;br /&gt;
	j = 2&lt;br /&gt;
	for i = 2, config.maxurls do&lt;br /&gt;
		argurl = &amp;quot;url&amp;quot; .. i&lt;br /&gt;
		if args[argurl] then&lt;br /&gt;
			argurl2 = &amp;quot;url&amp;quot; .. j&lt;br /&gt;
			ulx[argurl2] = {}&lt;br /&gt;
			ulx[argurl2][&amp;quot;url&amp;quot;] = args[argurl]&lt;br /&gt;
			argdate = &amp;quot;date&amp;quot; .. i&lt;br /&gt;
			if args[argdate] then&lt;br /&gt;
				ulx[argurl2][&amp;quot;date&amp;quot;] = args[argdate]&lt;br /&gt;
			else&lt;br /&gt;
				ulx[argurl2][&amp;quot;date&amp;quot;] = inlineRed (err_warn_msgs.date_miss, &#039;warning&#039;);&lt;br /&gt;
			end&lt;br /&gt;
	&lt;br /&gt;
			argtitle = &amp;quot;title&amp;quot; .. i&lt;br /&gt;
			if args[argtitle] then&lt;br /&gt;
				ulx[argurl2][&amp;quot;title&amp;quot;] = args[argtitle]&lt;br /&gt;
			else&lt;br /&gt;
				ulx[argurl2][&amp;quot;title&amp;quot;] = nil&lt;br /&gt;
			end&lt;br /&gt;
			j = j + 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if j == 2 then&lt;br /&gt;
		return 0&lt;br /&gt;
	else&lt;br /&gt;
		return j - 2&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; comma &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Given a date string, return &amp;quot;,&amp;quot; if it&#039;s MDY &lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function comma(date)&lt;br /&gt;
	return (date and date:match (&#039;%a+ +%d%d?(,) +%d%d%d%d&#039;)) or &#039;&#039;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; createRendering &amp;gt;-----------------------&lt;br /&gt;
&lt;br /&gt;
Return a rendering of the data in ulx[][]&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function createRendering()&lt;br /&gt;
&lt;br /&gt;
	local displayfield&lt;br /&gt;
	local out = {};&lt;br /&gt;
	&lt;br /&gt;
	local index_date, msg = ulx.url1.date:match (&#039;(index)(.*)&#039;);				-- when ulx.url1.date extract &#039;index&#039; text and message text (if there is a message)&lt;br /&gt;
	ulx.url1.date = ulx.url1.date:gsub (&#039;index.*&#039;, &#039;index&#039;);					-- remove message&lt;br /&gt;
&lt;br /&gt;
	if &#039;none&#039; == ulx.url1.format then											-- For {{wayback}}, {{webcite}}&lt;br /&gt;
		table.insert (out, &#039;[&#039;);												-- open extlink markup&lt;br /&gt;
		table.insert (out, ulx.url1.url);										-- add url&lt;br /&gt;
&lt;br /&gt;
		if ulx.url1.title then&lt;br /&gt;
			table.insert (out, &#039; &#039;)												-- the required space&lt;br /&gt;
			table.insert (out, ulx.url1.title)									-- the title&lt;br /&gt;
			table.insert (out, &#039;]&#039;);											-- close extlink markup&lt;br /&gt;
			table.insert (out, ulx.url1.tail);									-- tail text&lt;br /&gt;
			if ulx.url1.date then&lt;br /&gt;
				table.insert (out, &#039;&amp;amp;#32;(&#039;);									-- open date text; TODO: why the html entity? replace with regular space?&lt;br /&gt;
				table.insert (out, &#039;index&#039; == ulx.url1.date and s_text.archive or s_text.archived);	-- add text&lt;br /&gt;
				table.insert (out, &#039; &#039;);										-- insert a space&lt;br /&gt;
				table.insert (out, ulx.url1.date);								-- add date&lt;br /&gt;
				table.insert (out, &#039;)&#039;);										-- close date text&lt;br /&gt;
			end&lt;br /&gt;
		else																	-- no title&lt;br /&gt;
			if index_date then													-- when url date is &#039;index&#039; &lt;br /&gt;
				table.insert (out, table.concat ({&#039; &#039;, s_text.Archive_index, &#039;]&#039;}));	-- add the index link label&lt;br /&gt;
				table.insert (out, msg or &#039;&#039;);									-- add date mismatch message when url date is /*/ and |date= has valid date&lt;br /&gt;
			else&lt;br /&gt;
				table.insert (out, table.concat ({&#039; &#039;, s_text.Archived, &#039;] &#039;}));	-- add link label for url has timestamp date (will include mismatch message if there is one)&lt;br /&gt;
			end&lt;br /&gt;
			if ulx.url1.date then&lt;br /&gt;
				if &#039;index&#039; ~= ulx.url1.date then&lt;br /&gt;
					table.insert (out, ulx.url1.date);							-- add date when data is not &#039;index&#039;&lt;br /&gt;
				end&lt;br /&gt;
				table.insert (out, comma(ulx.url1.date));						-- add &#039;,&#039; if date format is mdy&lt;br /&gt;
				table.insert (out, ulx.url1.tail);								-- add tail text&lt;br /&gt;
			else																-- no date&lt;br /&gt;
				table.insert (out, ulx.url1.tail);								-- add tail text&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if 0 &amp;lt; ulx.url1.extraurls then											-- For multiple archive URLs&lt;br /&gt;
			local tot = ulx.url1.extraurls + 1&lt;br /&gt;
			table.insert (out, &#039;.&#039;)												-- terminate first url&lt;br /&gt;
			table.insert (out, table.concat ({&#039; &#039;, s_text.addlarchives, &#039;: &#039;}));	-- add header text&lt;br /&gt;
&lt;br /&gt;
			for i=2, tot do														-- loop through the additionals&lt;br /&gt;
				local index = table.concat ({&#039;url&#039;, i});						-- make an index&lt;br /&gt;
				displayfield = ulx[index][&#039;title&#039;] and &#039;title&#039; or &#039;date&#039;;		-- choose display text&lt;br /&gt;
				table.insert (out, &#039;[&#039;);										-- open extlink markup&lt;br /&gt;
				table.insert (out, ulx[index][&#039;url&#039;]);							-- add the url&lt;br /&gt;
				table.insert (out, &#039; &#039;);										-- the required space&lt;br /&gt;
				table.insert (out, ulx[index][displayfield]);					-- add the label&lt;br /&gt;
				table.insert (out, &#039;]&#039;);										-- close extlink markup&lt;br /&gt;
				table.insert (out, i==tot and &#039;.&#039; or &#039;, &#039;);						-- add terminator&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat (out);												-- make a big string and done&lt;br /&gt;
&lt;br /&gt;
	else																		-- For {{cite archives}}																	&lt;br /&gt;
		if &#039;addlarchives&#039; == ulx.url1.format then								-- Multiple archive services &lt;br /&gt;
			table.insert (out, table.concat ({s_text.addlarchives, &#039;: &#039;}));		-- add header text&lt;br /&gt;
		else																	-- Multiple pages from the same archive &lt;br /&gt;
			table.insert (out, table.concat ({s_text.addlpages, &#039; &#039;}));			-- add header text&lt;br /&gt;
			table.insert (out, ulx.url1.date);									-- add date to header text&lt;br /&gt;
			table.insert (out, &#039;: &#039;);											-- close header text&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local tot = ulx.url1.extraurls + 1;&lt;br /&gt;
		for i=1, tot do															-- loop through the additionals&lt;br /&gt;
			local index = table.concat ({&#039;url&#039;, i});							-- make an index&lt;br /&gt;
			table.insert (out, &#039;[&#039;);											-- open extlink markup&lt;br /&gt;
			table.insert (out, ulx[index][&#039;url&#039;]);								-- add url&lt;br /&gt;
			table.insert (out, &#039; &#039;);											-- add required space&lt;br /&gt;
&lt;br /&gt;
			displayfield = ulx[index][&#039;title&#039;];&lt;br /&gt;
			if &#039;addlarchives&#039; == ulx.url1.format then&lt;br /&gt;
				if not displayfield then &lt;br /&gt;
					displayfield = ulx[index][&#039;date&#039;]&lt;br /&gt;
				end&lt;br /&gt;
			else																-- must be addlpages&lt;br /&gt;
				if not displayfield then &lt;br /&gt;
					displayfield = table.concat ({s_text.Page, &#039; &#039;, i});&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			table.insert (out, displayfield);									-- add title, date, page label text&lt;br /&gt;
			table.insert (out, &#039;]&#039;);											-- close extlink markup&lt;br /&gt;
			table.insert (out, (i==tot and &#039;.&#039; or &#039;, &#039;));							-- add terminator&lt;br /&gt;
		end&lt;br /&gt;
		return table.concat (out);												-- make a big string and done&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P A R A M E T E R _ N A M E _ X L A T E &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
for internaltionalization, translate local-language parameter names to their English equivalents&lt;br /&gt;
&lt;br /&gt;
TODO: return error message if multiple aliases of the same canonical parameter name are found?&lt;br /&gt;
&lt;br /&gt;
returns two tables:&lt;br /&gt;
	new_args - holds canonical form parameters and their values either from translation or because the parameter was already in canonical form&lt;br /&gt;
	origin - maps canonical-form parameter names to their untranslated (local language) form for error messaging in the local language&lt;br /&gt;
&lt;br /&gt;
unrecognized parameters are ignored&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function parameter_name_xlate (args, params, enum_params)&lt;br /&gt;
	local name;																	-- holds modifiable name of the parameter name during evaluation&lt;br /&gt;
	local enum;																	-- for enumerated parameters, holds the enumerator during evaluation&lt;br /&gt;
	local found = false;														-- flag used to break out of nested for loops&lt;br /&gt;
	local new_args = {};														-- a table that holds canonical and translated parameter k/v pairs&lt;br /&gt;
	local origin = {};															-- a table that maps original (local language) parameter names to their canonical name for local language error messaging&lt;br /&gt;
	local unnamed_params;														-- set true when unsupported positional parameters are detected&lt;br /&gt;
	&lt;br /&gt;
	for k, v in pairs (args) do													-- loop through all of the arguments in the args table&lt;br /&gt;
		name = k;																-- copy of original parameter name&lt;br /&gt;
&lt;br /&gt;
		if &#039;string&#039; == type (k) then&lt;br /&gt;
			if non_western_digits then											-- true when non-western digits supported at this wiki&lt;br /&gt;
				name = mw.ustring.gsub (name, &#039;%d&#039;, digits);					-- convert this wiki&#039;s non-western digits to western digits&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			enum = name:match (&#039;%d+$&#039;);											-- get parameter enumerator if it exists; nil else&lt;br /&gt;
			&lt;br /&gt;
			if not enum then													-- no enumerator so looking for non-enumnerated parameters&lt;br /&gt;
				-- TODO: insert shortcut here? if params[name] then name holds the canonical parameter name; no need to search further&lt;br /&gt;
				for pname, aliases in pairs (params) do							-- loop through each parameter the params table&lt;br /&gt;
					for _, alias in ipairs (aliases) do							-- loop through each alias in the parameter&#039;s aliases table&lt;br /&gt;
						if name == alias then&lt;br /&gt;
							new_args[pname] = v;								-- create a new entry in the new_args table&lt;br /&gt;
							origin [pname] = k;									-- create an entry to make canonical parameter name to original local language parameter name&lt;br /&gt;
							found = true;										-- flag so that we can break out of these nested for loops&lt;br /&gt;
							break;												-- no need to search the rest of the aliases table for name so go on to the next k, v pair&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
	&lt;br /&gt;
					if found then												-- true when we found an alias that matched name&lt;br /&gt;
						found = false;											-- reset the flag&lt;br /&gt;
						break;													-- go do next args k/v pair&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			else																-- enumerated parameters&lt;br /&gt;
				name = name:gsub (&#039;%d$&#039;, &#039;#&#039;);									-- replace enumeration digits with place holder for table search&lt;br /&gt;
				-- TODO: insert shortcut here? if num_params[name] then name holds the canonical parameter name; no need to search further&lt;br /&gt;
				for pname, aliases in pairs (enum_params) do					-- loop through each parameter the num_params table&lt;br /&gt;
					for _, alias in ipairs (aliases) do							-- loop through each alias in the parameter&#039;s aliases table&lt;br /&gt;
						if name == alias then&lt;br /&gt;
							pname = pname:gsub (&#039;#$&#039;, enum);					-- replace the &#039;#&#039; place holder with the actual enumerator&lt;br /&gt;
							new_args[pname] = v;								-- create a new entry in the new_args table&lt;br /&gt;
							origin [pname] = k;									-- create an entry to make canonical parameter name to original local language parameter name&lt;br /&gt;
							found = true;										-- flag so that we can break out of these nested for loops&lt;br /&gt;
							break;												-- no need to search the rest of the aliases table for name so go on to the next k, v pair&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
	&lt;br /&gt;
					if found then												-- true when we found an alias that matched name&lt;br /&gt;
						found = false;											-- reset the flag&lt;br /&gt;
						break;													-- go do next args k/v pair&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			unnamed_params = true;												-- flag for unsupported positional parameters&lt;br /&gt;
		end&lt;br /&gt;
	end																			-- for k, v&lt;br /&gt;
	return new_args, origin, unnamed_params;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; W E B A R C H I V E &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
template entry point&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function webarchive(frame)&lt;br /&gt;
	local args = getArgs (frame);&lt;br /&gt;
&lt;br /&gt;
	local data = mw.loadData (table.concat ({									-- make a data module name; sandbox or live&lt;br /&gt;
		&#039;Module:Webarchive/data&#039;,&lt;br /&gt;
		frame:getTitle():find(&#039;sandbox&#039;, 1, true) and &#039;/sandbox&#039; or &#039;&#039;			-- this instance is ./sandbox then append /sandbox&lt;br /&gt;
		}));&lt;br /&gt;
	categories = data.categories;												-- fill in the forward declarations&lt;br /&gt;
	config = data.config;&lt;br /&gt;
	if data.digits.enable then&lt;br /&gt;
		digits = data.digits;													-- for i18n; table of digits in the local wiki&#039;s language&lt;br /&gt;
		non_western_digits = true;												-- use_non_western_digits&lt;br /&gt;
	end&lt;br /&gt;
	err_warn_msgs = data.err_warn_msgs;&lt;br /&gt;
	excepted_pages = data.excepted_pages;&lt;br /&gt;
	month_num = data.month_num;													-- for i18n; table of month names in the local wiki&#039;s language&lt;br /&gt;
	prefixes = data.prefixes;&lt;br /&gt;
	services = data.services;&lt;br /&gt;
	s_text = data.s_text;&lt;br /&gt;
	uncategorized_namespaces = data.uncategorized_namespaces;&lt;br /&gt;
	uncategorized_subpages = data.uncategorized_subpages;&lt;br /&gt;
&lt;br /&gt;
	local origin = {};															-- holds a map of English to local language parameter names used in the current template; not currently used&lt;br /&gt;
	local unnamed_params;														-- boolean set to true when template call has unnamed parameters&lt;br /&gt;
	args, origin, unnamed_params = parameter_name_xlate (args, data.params, data.enum_params);	-- translate parameter names in args to English&lt;br /&gt;
&lt;br /&gt;
	local date, format, msg, udate, uri, url;&lt;br /&gt;
	local ldf = &#039;iso&#039;;															-- when there is no |date= parameter, render url dates in iso format&lt;br /&gt;
	&lt;br /&gt;
	if args.url and args.url1 then												-- URL argument (first)&lt;br /&gt;
		return inlineError (data.crit_err_msgs.conflicting, {origin.url, origin.url1});&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	url = args.url or args.url1;&lt;br /&gt;
	&lt;br /&gt;
	if not url then&lt;br /&gt;
		return inlineError (data.crit_err_msgs.empty);&lt;br /&gt;
	end&lt;br /&gt;
																				-- these iabot bugs perportedly fixed; removing these causes lua script error&lt;br /&gt;
--[[																				-- at Template:Webarchive/testcases/Production; resolve that before deleting these tests&lt;br /&gt;
	if mw.ustring.find( url, &amp;quot;https://web.http&amp;quot;, 1, true ) then					-- track bug - TODO: IAbot bug; not known if the bug has been fixed; deferred&lt;br /&gt;
		track[categories.error] = 1;&lt;br /&gt;
		return inlineError (data.crit_err_msgs.iabot1);&lt;br /&gt;
	end &lt;br /&gt;
	if url == &amp;quot;https://web.archive.org/http:/&amp;quot; then								 -- track bug - TODO: IAbot bug; not known if the bug has been fixed; deferred&lt;br /&gt;
		track[categories.error] = 1;&lt;br /&gt;
		return inlineError (data.crit_err_msgs.iabot2);&lt;br /&gt;
	end&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
	if not (url:lower():find (&#039;^http&#039;) or url:find (&#039;^//&#039;)) then&lt;br /&gt;
		return inlineError (data.crit_err_msgs.invalid_url );&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	ulx.url1 = {}&lt;br /&gt;
	ulx.url1.url = url&lt;br /&gt;
&lt;br /&gt;
	ulx.url1.extraurls = parseExtraArgs(args)&lt;br /&gt;
&lt;br /&gt;
	local good = false;&lt;br /&gt;
	good, uri = pcall (mw.uri.new, ulx.url1.url);								-- get a table of uri parts from this url; protected mode to prevent lua error when ulx.url1.url is malformed&lt;br /&gt;
	&lt;br /&gt;
	if not good or nil == uri.host then											-- abandon when ulx.url1.url is malformed&lt;br /&gt;
		return inlineError (data.crit_err_msgs.invalid_url);&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	serviceName(uri.host, args.nolink)&lt;br /&gt;
&lt;br /&gt;
	if args.date and args.date1 then											-- Date argument&lt;br /&gt;
		return inlineError (data.crit_err_msgs.conflicting, {origin.date, origin.date1});&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	date = args.date or args.date1;&lt;br /&gt;
	date = date and date:gsub (&#039; +&#039;, &#039; &#039;);										-- replace multiple spaces with a single space&lt;br /&gt;
&lt;br /&gt;
	if date and config.verifydates then&lt;br /&gt;
		if &#039;*&#039; == date then&lt;br /&gt;
			date = &#039;index&#039;;&lt;br /&gt;
			ldf = &#039;iso&#039;;														-- set to default format&lt;br /&gt;
		elseif &#039;mdy&#039; == date then&lt;br /&gt;
			date = nil;															-- if date extracted from URL,&lt;br /&gt;
			ldf = &#039;mdy&#039;;														-- then |date=mdy overrides iso&lt;br /&gt;
		elseif &#039;dmy&#039; == date then&lt;br /&gt;
			date = nil;															-- if date extracted from URL,&lt;br /&gt;
			ldf = &#039;dmy&#039;;														-- then |date=dmy overrides iso&lt;br /&gt;
		elseif &#039;ymd&#039; == date then&lt;br /&gt;
			date = nil;															-- if date extracted from URL,&lt;br /&gt;
			ldf = &#039;ymd&#039;;														-- then |date=ymd overrides iso&lt;br /&gt;
		else&lt;br /&gt;
			date, ldf = decode_date (date);										-- get an iso format date from date and get date&#039;s original format&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if &#039;wayback&#039; == ulx.url1.service or &#039;locwebarchives&#039; == ulx.url1.service or &#039;ukgwa&#039; == ulx.url1.service then&lt;br /&gt;
		if date then&lt;br /&gt;
			if config.verifydates then&lt;br /&gt;
				if ldf then&lt;br /&gt;
					udate, msg = decodeWaybackDate (uri.path);					-- get the url date in iso format and format of date in |date=; &#039;index&#039; when wayback url date is *&lt;br /&gt;
					if not udate then											-- this is the only &#039;fatal&#039; error return&lt;br /&gt;
						return inlineError (data.crit_err_msgs[msg]);&lt;br /&gt;
					end&lt;br /&gt;
&lt;br /&gt;
					if udate ~= date then										-- date comparison using iso format dates&lt;br /&gt;
						date = udate;&lt;br /&gt;
						msg = table.concat ({&lt;br /&gt;
							inlineRed (err_warn_msgs.mismatch, &#039;warning&#039;),		-- add warning message&lt;br /&gt;
							msg,												-- add message if there is one&lt;br /&gt;
						});&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else																	-- no |date=&lt;br /&gt;
			udate, msg = decodeWaybackDate (uri.path);&lt;br /&gt;
&lt;br /&gt;
			if not udate then													-- this is the only &#039;fatal&#039; error return&lt;br /&gt;
				return inlineError (data.crit_err_msgs[msg]);&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if &#039;&#039; == udate then &lt;br /&gt;
				date = nil;														-- unset&lt;br /&gt;
			else&lt;br /&gt;
				date = udate;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	elseif &#039;webcite&#039; == ulx.url1.service then&lt;br /&gt;
		if date then&lt;br /&gt;
			if config.verifydates then&lt;br /&gt;
				if ldf then&lt;br /&gt;
					udate = decodeWebciteDate (uri.path);						-- get the url date in iso format&lt;br /&gt;
					if &#039;query&#039; ~= udate then									-- skip if query&lt;br /&gt;
						if udate ~= date then									-- date comparison using iso format dates&lt;br /&gt;
							date = udate;&lt;br /&gt;
							msg = table.concat ({&lt;br /&gt;
								inlineRed (err_warn_msgs.mismatch, &#039;warning&#039;),&lt;br /&gt;
								});&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			date = decodeWebciteDate( uri.path, &amp;quot;iso&amp;quot; )&lt;br /&gt;
			if date == &amp;quot;query&amp;quot; then&lt;br /&gt;
				date = nil;														-- unset&lt;br /&gt;
				msg = inlineRed (err_warn_msgs.date_miss, &#039;warning&#039;);&lt;br /&gt;
			elseif not date then												-- invalid base62 string&lt;br /&gt;
				date = inlineRed (err_warn_msgs.date1, &#039;error&#039;);&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	elseif &#039;archiveis&#039; == ulx.url1.service then&lt;br /&gt;
		if date then&lt;br /&gt;
			if config.verifydates then&lt;br /&gt;
				if ldf then&lt;br /&gt;
					udate, msg = decodeArchiveisDate (uri.path)					-- get the url date in iso format&lt;br /&gt;
					if &#039;short link&#039; ~= udate then								-- skip if short link&lt;br /&gt;
						if udate ~= date then									-- date comparison using iso format dates&lt;br /&gt;
							date = udate;&lt;br /&gt;
							msg = table.concat ({&lt;br /&gt;
								inlineRed (err_warn_msgs.mismatch, &#039;warning&#039;),	-- add warning message&lt;br /&gt;
								msg,											-- add message if there is one&lt;br /&gt;
							});&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else																	-- no |date=&lt;br /&gt;
			udate, msg = decodeArchiveisDate( uri.path, &amp;quot;iso&amp;quot; )&lt;br /&gt;
			if udate == &amp;quot;short link&amp;quot; then&lt;br /&gt;
				date = nil;														-- unset&lt;br /&gt;
				msg = inlineRed (err_warn_msgs.date_miss, &#039;warning&#039;);&lt;br /&gt;
			elseif &#039;&#039; == udate then&lt;br /&gt;
				date = nil;														-- unset&lt;br /&gt;
			else&lt;br /&gt;
				date = udate;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
	else																		-- some other service&lt;br /&gt;
		if not date then&lt;br /&gt;
			msg = inlineRed (err_warn_msgs.date_miss, &#039;warning&#039;);&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if &#039;index&#039; == date then&lt;br /&gt;
		ulx.url1.date = date .. (msg or &#039;&#039;);									-- create index + message (if there is one)&lt;br /&gt;
	elseif date then&lt;br /&gt;
		ulx.url1.date = makeDate (date, nil, nil, ldf) .. (msg or &#039;&#039;);			-- create a date in the wiki&#039;s local language + message (if there is one)&lt;br /&gt;
	else&lt;br /&gt;
		ulx.url1.date = msg;&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	format = args.format;														-- Format argument &lt;br /&gt;
&lt;br /&gt;
	if not format then&lt;br /&gt;
		format = &amp;quot;none&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		for k, v in pairs (data.format_vals) do									-- |format= accepts two specific values loop through a table of those values&lt;br /&gt;
			local found;														-- declare a nil flag&lt;br /&gt;
			for _, p in ipairs (v) do											-- loop through local language variants&lt;br /&gt;
				if format == p then												-- when |format= value matches &lt;br /&gt;
					format = k;													-- use name from table key&lt;br /&gt;
					found = true;												-- declare found so that we can break out of outer for loop&lt;br /&gt;
					break;														-- break out of inner for loop&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if found then&lt;br /&gt;
				break;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if format == &amp;quot;addlpages&amp;quot; then&lt;br /&gt;
			if not ulx.url1.date then&lt;br /&gt;
				format = &amp;quot;none&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		elseif format == &amp;quot;addlarchives&amp;quot; then&lt;br /&gt;
			format = &amp;quot;addlarchives&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			format = &amp;quot;none&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	ulx.url1.format = format&lt;br /&gt;
&lt;br /&gt;
	if args.title and args.title1 then											-- Title argument&lt;br /&gt;
		return inlineError (data.crit_err_msgs.conflicting, {origin.title, origin.title1});&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	ulx.url1.title = args.title or args.title1;&lt;br /&gt;
&lt;br /&gt;
	local rend = createRendering()&lt;br /&gt;
	if not rend then&lt;br /&gt;
		return inlineError (data.crit_err_msgs.unknown);&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return rend .. ((unnamed_params and inlineRed (err_warn_msgs.unnamed_params, &#039;warning&#039;)) or &#039;&#039;) .. createTracking();&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T E D 	 F U N C T I O N S &amp;gt;------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {webarchive = webarchive};&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Webarchive&amp;diff=1631</id>
		<title>Template:Webarchive</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Webarchive&amp;diff=1631"/>
		<updated>2025-03-26T14:21:54Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Webarchive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:webarchive|webarchive}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Android_OS&amp;diff=1629</id>
		<title>Android OS</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Android_OS&amp;diff=1629"/>
		<updated>2025-03-26T11:37:48Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: Created page with &amp;quot;Android is a widely used operating system used by nearly all non-Apple smartphones, including Google Pixel, Samsung Galaxy, and many more. (Side note, Samsung Galaxy does run on One UI but is still powered by Android)  ==UPDATE HISTORY== {| class=&amp;quot;wikitable&amp;quot; |- ! Name ! Internal codename&amp;lt;ref name=&amp;quot;Codenames&amp;quot;&amp;gt;{{Cite web |title=Codenames,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Wikipedia:Android (operating system)|Android]] is a widely used operating system used by nearly all non-[[Wikipedia:IOS|Apple]] smartphones, including [[Wikipedia:Google Pixel|Google Pixel]], [[Wikipedia:Samsung Galaxy|Samsung Galaxy]], and many more. (Side note, Samsung Galaxy does run on [[Wikipedia:One UI|One UI]] but is still powered by Android)&lt;br /&gt;
&lt;br /&gt;
==UPDATE HISTORY==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Internal codename&amp;lt;ref name=&amp;quot;Codenames&amp;quot;&amp;gt;{{Cite web |title=Codenames, Tags, and Build Numbers |url=https://source.android.com/setup/start/build-numbers |access-date=June 1, 2022 |website=Android Open Source Project |publisher=Google |archive-date=November 24, 2020 |archive-url=https://web.archive.org/web/20201124122032/https://source.android.com/setup/start/build-numbers |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
! Version number(s)&lt;br /&gt;
! [[API]] level&lt;br /&gt;
! Release date&lt;br /&gt;
! Latest security patch date&amp;lt;ref&amp;gt;{{Cite web |title=Android Security Bulletins |url=https://source.android.com/security/bulletin |access-date=February 8, 2022 |website=Android Open Source Project |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134818/https://source.android.com/docs/security/bulletin |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
! Latest [[Google Play Services]] version&amp;lt;ref&amp;gt;{{cite web |title=Google System Release Notes |url=https://support.google.com/product-documentation/answer/14343500 |access-date=17 May 2024 |archive-date=May 13, 2024 |archive-url=https://web.archive.org/web/20240513094036/https://support.google.com/product-documentation/answer/14343500 |url-status=live }}&amp;lt;/ref&amp;gt; (release date)&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 1.0]]&lt;br /&gt;
| {{N/A}}&lt;br /&gt;
| {{Version|o|1.0}}&lt;br /&gt;
| 1&lt;br /&gt;
| September 23, 2008&lt;br /&gt;
| rowspan=&amp;quot;18&amp;quot; {{N/A}}&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; {{N/A}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 1.1]]&lt;br /&gt;
| Petit Four&lt;br /&gt;
| {{Version|o|1.1}}&lt;br /&gt;
| 2&lt;br /&gt;
| February 9, 2009&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Cupcake]]&lt;br /&gt;
| Cupcake&lt;br /&gt;
| {{Version|o|1.5}}&lt;br /&gt;
| 3&lt;br /&gt;
| April 27, 2009&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Donut]]&lt;br /&gt;
| Donut&lt;br /&gt;
| {{Version|o|1.6}}&lt;br /&gt;
| 4&lt;br /&gt;
| September 15, 2009&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[Android Eclair]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Eclair&lt;br /&gt;
| {{Version|o|2.0}}&lt;br /&gt;
| 5&lt;br /&gt;
| October 27, 2009&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|2.0.1}}&lt;br /&gt;
| 6&lt;br /&gt;
| December 3, 2009&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|2.1}}&lt;br /&gt;
| 7&lt;br /&gt;
| January 11, 2010&amp;lt;ref name=&amp;quot;ReferenceA&amp;quot;&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2010/01/android-21-sdk.html |title=Android 2.1 SDK |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134715/https://android-developers.googleblog.com/2010/01/android-21-sdk.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Froyo]]&lt;br /&gt;
| Froyo&lt;br /&gt;
| {{Version|o|2.2 – 2.2.3}}&lt;br /&gt;
| 8&lt;br /&gt;
| May 20, 2010&lt;br /&gt;
| 3.2.25 (October 2014)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Gingerbread]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Gingerbread&lt;br /&gt;
| {{Version|o|2.3 – 2.3.2}}&lt;br /&gt;
| 9&lt;br /&gt;
| December 6, 2010&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 10.0.84 (November 2016)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|2.3.3 – 2.3.7}}&lt;br /&gt;
| 10&lt;br /&gt;
| February 9, 2011&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[Android Honeycomb]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Honeycomb&lt;br /&gt;
| {{Version|o|3.0}}&lt;br /&gt;
| 11&lt;br /&gt;
| February 22, 2011&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|3.1}}&lt;br /&gt;
| 12&lt;br /&gt;
| May 10, 2011&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|3.2 – 3.2.6}}&lt;br /&gt;
| 13&lt;br /&gt;
| July 15, 2011&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Ice Cream Sandwich]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Ice Cream Sandwich&lt;br /&gt;
| {{Version|o|4.0 – 4.0.2}}&lt;br /&gt;
| 14&lt;br /&gt;
| October 18, 2011&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 14.8.49 (February 2019)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|4.0.3 – 4.0.4}}&lt;br /&gt;
| 15&lt;br /&gt;
| December 16, 2011&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[Android Jelly Bean]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Jelly Bean&lt;br /&gt;
| {{Version|o|4.1 – 4.1.2}}&lt;br /&gt;
| 16&lt;br /&gt;
| July 9, 2012&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 21.33.56 (September 2021)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|4.2 – 4.2.2}}&lt;br /&gt;
| 17&lt;br /&gt;
| November 13, 2012&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|4.3 – 4.3.1}}&lt;br /&gt;
| 18&lt;br /&gt;
| July 24, 2013&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android KitKat]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Key Lime Pie&lt;br /&gt;
| {{Version|o|4.4 – 4.4.4}}&lt;br /&gt;
| 19&lt;br /&gt;
| October 31, 2013&lt;br /&gt;
| October 2017&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 23.30.13 (August 2023)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|4.4W – 4.4W.2}}&lt;br /&gt;
| 20&lt;br /&gt;
| June 25, 2014&lt;br /&gt;
| {{dunno}}&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Lollipop]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Lemon Meringue Pie&lt;br /&gt;
| {{Version|o|5.0 – 5.0.2}}&lt;br /&gt;
| 21&lt;br /&gt;
| November 4, 2014&amp;lt;ref name=&amp;quot;android.googlesource.com&amp;quot;&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.0.0_r1 |title=refs/tags/android-5.0.0_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134715/https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.0.0_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| November 2017&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |24.28.35 (August 2024)&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|5.1 – 5.1.1}}&lt;br /&gt;
| 22&lt;br /&gt;
| March 2, 2015&amp;lt;ref name=&amp;quot;ReferenceB&amp;quot;&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.1.0_r1 |title=refs/tags/android-5.1.0_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134720/https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.1.0_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| March 2018&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Marshmallow]]&lt;br /&gt;
| Macadamia Nut Cookie&lt;br /&gt;
| {{Version|o|6.0 – 6.0.1}}&lt;br /&gt;
| 23&lt;br /&gt;
| September 29, 2015&amp;lt;ref name=&amp;quot;ReferenceC&amp;quot;&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-6.0.0_r1 |title=refs/tags/android-6.0.0_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134721/https://android.googlesource.com/platform/system/core/+/refs/tags/android-6.0.0_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| August 2018&lt;br /&gt;
| rowspan=&amp;quot;13&amp;quot; |25.09.33 (March 2025)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Nougat]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | New York Cheesecake&lt;br /&gt;
| {{Version|o|7.0}}&lt;br /&gt;
| 24&lt;br /&gt;
| August 22, 2016&lt;br /&gt;
| August 2019&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|7.1 – 7.1.2}}&lt;br /&gt;
| 25&lt;br /&gt;
| October 4, 2016&lt;br /&gt;
| October 2019&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Android Oreo]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Oatmeal Cookie&lt;br /&gt;
| {{Version|o|8.0}}&lt;br /&gt;
| 26&lt;br /&gt;
| August 21, 2017&lt;br /&gt;
| January 2021&lt;br /&gt;
|-&lt;br /&gt;
| {{Version|o|8.1}}&lt;br /&gt;
| 27&lt;br /&gt;
| December 5, 2017&lt;br /&gt;
| October 2021&lt;br /&gt;
|-&lt;br /&gt;
| [[Android Pie]]&lt;br /&gt;
| Pistachio Ice Cream&amp;lt;ref&amp;gt;{{cite web |last1=Parker |first1=Steven |title=Android P being referred to as &#039;Pistachio Ice Cream&#039; internally at Google |url=https://www.neowin.net/news/android-p-being-referred-to-as-pistachio-ice-cream-internally-at-google/ |website=Neowin |publisher=Neowin LLC |access-date=December 15, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134820/https://www.neowin.net/news/android-p-being-referred-to-as-pistachio-ice-cream-internally-at-google/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|o|9}}&lt;br /&gt;
| 28&lt;br /&gt;
| August 6, 2018&lt;br /&gt;
| January 2022&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 10]]&lt;br /&gt;
| Quince Tart&amp;lt;ref name=&amp;quot;VergeQR&amp;quot;&amp;gt;{{cite web |last1=Gartenberg |first1=Chaim |title=Even Android 11 is cake |url=https://www.theverge.com/tldr/2020/7/23/21336209/android-11-r-red-velvet-cake-internal-code-name-dessert-google |website=The Verge |date=July 23, 2020 |publisher=Vox Media, LLC |access-date=July 27, 2021 |quote=Burke revealed last year that Android Q had been internally known as &amp;quot;Quince Tart&amp;quot; |archive-date=December 17, 2022 |archive-url=https://web.archive.org/web/20221217230719/https://www.theverge.com/tldr/2020/7/23/21336209/android-11-r-red-velvet-cake-internal-code-name-dessert-google |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|o|10}}&lt;br /&gt;
| 29&lt;br /&gt;
| September 3, 2019&lt;br /&gt;
| February 2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 11]]&lt;br /&gt;
| Red Velvet Cake&amp;lt;ref name=&amp;quot;VergeQR&amp;quot;/&amp;gt;&lt;br /&gt;
| {{Version|o|11}}&lt;br /&gt;
| 30&lt;br /&gt;
| September 8, 2020&lt;br /&gt;
| February 2024&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 12]]&lt;br /&gt;
| Snow Cone&lt;br /&gt;
| {{Version|co|12}}&lt;br /&gt;
| 31&lt;br /&gt;
| October 4, 2021&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | March 2025&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 12L]]&lt;br /&gt;
| Snow Cone v2&lt;br /&gt;
| {{version|co|12.1}}{{efn|name=A12.1|12L launched as part of the March 2022 security update to supported Pixel devices. The factory images for March 2022 and subsequent updates display the version as 12.1.&amp;lt;ref name=&amp;quot;FactoryImages&amp;quot;&amp;gt;{{cite web |access-date=March 31, 2022 |title=Factory Images for Nexus and Pixel Devices |url=https://developers.google.com/android/images |website=Google Developers |archive-date=April 4, 2017 |archive-url=https://web.archive.org/web/20170404151606/https://developers.google.com/android/images |url-status=live }}&amp;lt;/ref&amp;gt; The device&#039;s about page will still show the Android version as 12.&amp;lt;ref&amp;gt;{{cite web |first1=Ron |last1=Amadeo |access-date=2023-03-08 |title=Android 12L is official as &amp;quot;Android 12.1,&amp;quot; rolling out now to Pixel phones |url=https://arstechnica.com/gadgets/2022/03/tablet-focused-android-12l-update-rolls-out-just-not-to-any-tablets/ |date=March 7, 2022 |website=Ars Technica |archive-date=March 7, 2022 |archive-url=https://web.archive.org/web/20220307232151/https://arstechnica.com/gadgets/2022/03/tablet-focused-android-12l-update-rolls-out-just-not-to-any-tablets/ |url-status=live }}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
| 32&lt;br /&gt;
| March 7, 2022&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 13]]&lt;br /&gt;
| Tiramisu&lt;br /&gt;
| {{Version|co|13}}&lt;br /&gt;
| 33&lt;br /&gt;
| August 15, 2022&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 14]]&lt;br /&gt;
| Upside Down Cake&amp;lt;ref&amp;gt;{{cite news |last1=Bradshaw |first1=Kyle |title=Android 14 gets official internal codename… Upside Down Cake |url=https://9to5google.com/2022/04/22/android-14-gets-official-internal-codename-upside-down-cake/ |access-date=October 5, 2022 |publisher=[[9to5Google]] |date=April 22, 2022 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114134822/https://9to5google.com/2022/04/22/android-14-gets-official-internal-codename-upside-down-cake/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|co|14}}&lt;br /&gt;
| 34&lt;br /&gt;
| October 4, 2023&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 15]]&lt;br /&gt;
| Vanilla Ice Cream&amp;lt;ref&amp;gt;{{cite news |last1=Cantisano |first1=Timi |title=Android 15 dessert-themed codename revealed as &#039;Vanilla Ice Cream&#039; |url=https://www.xda-developers.com/android-15-vanilla-ice-cream/ |access-date=27 April 2023 |work=[[XDA Developers]] |date=3 March 2023 |language=en |archive-date=April 27, 2023 |archive-url=https://web.archive.org/web/20230427135948/https://www.xda-developers.com/android-15-vanilla-ice-cream/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|c|15}}&lt;br /&gt;
| 35&lt;br /&gt;
| September 3, 2024&lt;br /&gt;
|-&lt;br /&gt;
| [[Android 16]]&lt;br /&gt;
| Baklava&amp;lt;ref&amp;gt;{{cite web |last1=McCullough |first1=Matthew |title=The First Developer Preview of Android 16 |url=https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html |website=Android Developers Blog |access-date=25 November 2024 |date=18 November 2024 |archive-date=November 21, 2024 |archive-url=https://web.archive.org/web/20241121185224/https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| {{Version|cp|16}} Beta 3&amp;lt;ref name=&amp;quot;A16RN&amp;quot;&amp;gt;{{cite web |title=Release notes |url=https://developer.android.com/about/versions/16/release-notes |website=Android Developers |access-date=25 November 2024 |date=19 November 2024 |archive-date=November 25, 2024 |archive-url=https://web.archive.org/web/20241125091646/https://developer.android.com/about/versions/16/release-notes |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| 36&lt;br /&gt;
| March 13, 2025&amp;lt;ref name=&amp;quot;A16RN&amp;quot; /&amp;gt;&lt;br /&gt;
| March 2025&amp;lt;ref name=&amp;quot;A16RN&amp;quot; /&amp;gt;&lt;br /&gt;
| 25.07.33 (February 2025)&amp;lt;ref name=&amp;quot;A16RN&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; | {{Version|l|show=111110}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==More Info==&lt;br /&gt;
=== Android 1.0 ===&lt;br /&gt;
{{anchor|Android 1.0|Android 1|1.0}}&lt;br /&gt;
&lt;br /&gt;
Android 1.0, the first commercial version of the software, was released on September 23, 2008.&amp;lt;ref&amp;gt;{{cite web |last=Morrill |first=Dan |title=Announcing the Android 1.0 SDK, release 1 |publisher=Android Developers Blog |date=September 23, 2008 |url=http://android-developers.blogspot.com/2008/09/announcing-android-10-sdk-release-1.html |access-date=January 12, 2011 |archive-date=May 12, 2012 |archive-url=https://web.archive.org/web/20120512135036/http://android-developers.blogspot.com/2008/09/announcing-android-10-sdk-release-1.html |url-status=live }}&amp;lt;/ref&amp;gt; The first commercially available Android device was the [[HTC Dream]].&amp;lt;ref name=HTC&amp;gt;{{cite news |publisher=T-Mobile |url=http://www.t-mobile.com/company/PressReleases_Article.aspx?assetName=Prs_Prs_20080923&amp;amp;title=T-Mobile%20Unveils%20the%20T-Mobile%20G1%20%E2%80%93%20the%20First%20Phone%20Powered%20by%20Android |access-date=October 15, 2013 |title=T-Mobile Unveils the T-Mobile G1 – the First Phone Powered by Android |archive-url=https://web.archive.org/web/20131016001926/http://www.t-mobile.com/company/PressReleases_Article.aspx?assetName=Prs_Prs_20080923&amp;amp;title=T-Mobile%20Unveils%20the%20T-Mobile%20G1%20%E2%80%93%20the%20First%20Phone%20Powered%20by%20Android |archive-date=October 16, 2013 |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 1.0 (API 1)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| September 23, 2008&lt;br /&gt;
|&lt;br /&gt;
* [[Android Market]], allowing application downloads and updates through the Market application.&lt;br /&gt;
* [[Web browser]] to show, zoom and pan full [[HTML]] and [[XHTML]] web pages – multiple pages show as windows (&amp;quot;cards&amp;quot;).&amp;lt;ref name=&amp;quot;Engadget&amp;quot;&amp;gt;{{cite news |url=https://www.engadget.com/2008/10/16/t-mobile-g1-review-part-2-software-and-wrap-up/ |title=T-Mobile G1 review, part 2: software and wrap-up |first=Joshua |last=Topolsky |publisher=Engadget |date=October 16, 2008 |access-date=June 28, 2013 |archive-date=July 31, 2017 |archive-url=https://web.archive.org/web/20170731231733/https://www.engadget.com/2008/10/16/t-mobile-g1-review-part-2-software-and-wrap-up/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;&amp;gt;{{cite web |url=https://sites.google.com/a/android.com/opensource/release-features---android-1-0 |title=Release features – Android 1.0 |year=2008 |access-date=February 7, 2013 |archive-date=September 19, 2019 |archive-url=https://web.archive.org/web/20190919041651/https://www.google.com/a/android.com/ServiceLogin?service=jotspot&amp;amp;passive=1209600&amp;amp;continue=https%3A%2F%2Fsites.google.com%2Fa%2Fandroid.com%2Fopensource%2Frelease-features---android-1-0&amp;amp;followup=https%3A%2F%2Fsites.google.com%2Fa%2Fandroid.com%2Fopensource%2Frelease-features---android-1-0&amp;amp;ul=1 |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Camera support – however, this version lacked the option to change the camera&#039;s resolution, white balance, quality, etc.&amp;lt;ref name=&amp;quot;T-Mobile G1 Google Android Phone&amp;quot;&amp;gt;{{cite news |publisher=PC Magazine |url=https://www.pcmag.com/article2/0,2817,2331003,00.asp |title=T-Mobile G1 (Google Android Phone) |first=Sascha |last=Segan |date=October 16, 2008 |access-date=February 6, 2013 |archive-date=May 30, 2013 |archive-url=https://web.archive.org/web/20130530160849/http://www.pcmag.com/article2/0,2817,2331003,00.asp |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Folders allowing the grouping of a number of application icons into a single folder icon on the Home screen.&amp;lt;ref&amp;gt;{{cite news |url=http://www.androidauthority.com/folders-on-the-android-desktop-and-how-to-rename-them-466/ |title=Folders on the Android desktop, and how to rename them |publisher=Android Authority |first=Darcy |last=LaCouvee |date=October 17, 2008 |access-date=June 28, 2013 |archive-date=May 18, 2013 |archive-url=https://web.archive.org/web/20130518172012/http://www.androidauthority.com/folders-on-the-android-desktop-and-how-to-rename-them-466/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Access to web email servers, supporting [[POP3]], [[IMAP4]], and [[SMTP]].&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;/&amp;gt;&lt;br /&gt;
* [[Gmail]] synchronization with the Gmail application.&lt;br /&gt;
* [[Google Contacts]] synchronization with the People application.&lt;br /&gt;
* [[Google Calendar]] synchronization with the Calendar application.&lt;br /&gt;
* [[Google Maps]] with [[Google Street View|Street View]] to view maps and satellite imagery, as well as find local businesses and obtain driving directions using [[GPS]].&amp;lt;ref name=&amp;quot;T-Mobile G1 Google Android Phone&amp;quot;/&amp;gt;&lt;br /&gt;
* [[Google Sync]], allowing management of [[Over the Air|over-the-air]] synchronization of Gmail, People, and Calendar.&lt;br /&gt;
* [[Google Search]], allowing users to search the Internet and phone applications, contacts, calendar, etc.&lt;br /&gt;
* [[Google Talk]] instant messaging.&lt;br /&gt;
* [[Instant messaging]], [[text messaging]], and MMS.&lt;br /&gt;
* [[Media player (application software)|Media Player]], enabling management, importing, and playback of media files – however, this version lacked video and stereo [[Bluetooth]] support.&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;T-Mobile G1 Google Android Phone&amp;quot;/&amp;gt;&lt;br /&gt;
* Notifications appear in the Status bar, with options to set ringtone, LED or vibration alerts.&amp;lt;ref name=&amp;quot;Engadget&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/guide/topics/ui/notifiers/notifications.html |title=Status Bar Notifications |publisher=Android Developers |date=May 24, 2012 |access-date=June 1, 2012 |archive-date=June 13, 2012 |archive-url=https://web.archive.org/web/20120613233007/http://developer.android.com/guide/topics/ui/notifiers/notifications.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Voice Dialer allows dialing and placing of phone calls without typing a name or number.&amp;lt;ref name=&amp;quot;Release features – Android 1.0&amp;quot;/&amp;gt;&lt;br /&gt;
* Wallpaper allows the user to set the background image or photo behind the Home screen icons and widgets.&lt;br /&gt;
* [[YouTube]] video player.&amp;lt;ref name=&amp;quot;Android for Dummies&amp;quot;&amp;gt;{{cite web |url=http://www.techpluto.com/what-is-android/ |title=What is Android? |date=September 18, 2008 |publisher=TechPluto.com |access-date=June 28, 2013 |archive-date=October 23, 2021 |archive-url=https://web.archive.org/web/20211023184321/https://www.techpluto.com/what-is-android/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Other applications include: Alarm Clock, Calculator, Dialer (Phone), Home screen (Launcher), Pictures (Gallery), and Settings.&lt;br /&gt;
* [[Wi-Fi]] and Bluetooth support.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 1.1 ===&lt;br /&gt;
{{anchor|Android 1.1}}&lt;br /&gt;
&lt;br /&gt;
On February 9, 2009, the Android 1.1 update was released, initially for the HTC Dream only. Android 1.1 was known as &amp;quot;[[Petit four|Petit Four]]&amp;quot; internally, though this name was not used officially.&amp;lt;ref name=&amp;quot;unofficial_and_official_codenames&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Android Platform Overview |url=http://source.android.com/source/overview.html |publisher=Android Source |access-date=September 15, 2012|archive-url=https://web.archive.org/web/20120922202532/https://source.android.com/source/overview.html|archive-date=September 22, 2012|url-status=dead}}&amp;lt;/ref&amp;gt; The update resolved bugs, changed the Android [[Application programming interface|API]] and added a number of features:&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-1.1.html |title=Android 1.1 Version Notes |date=February 2009 |publisher=Android Developers |access-date=April 10, 2020 |archive-url=https://web.archive.org/web/20110221194031/https://developer.android.com/sdk/android-1.1.html |archive-date=February 21, 2011}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 1.1 (API 2)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 1.1&lt;br /&gt;
| February 9, 2009&lt;br /&gt;
|&lt;br /&gt;
* Details and reviews available when a user searches for businesses on Maps.&lt;br /&gt;
* Longer in-call screen timeout by default when using the speakerphone, plus the ability to show/hide the dialpad.&lt;br /&gt;
* Ability to save attachments in messages.&lt;br /&gt;
* Support added for marquee in system layouts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 1.5 Cupcake ===&lt;br /&gt;
{{Main|Android Cupcake}}&lt;br /&gt;
{{anchor|Android 1.5|Android Cupcake|Cupcake|1.5}}&lt;br /&gt;
&lt;br /&gt;
On April 27, 2009, the Android 1.5 update was released, based on [[Linux kernel]] 2.6.27.&amp;lt;ref name=&amp;quot;cupcake-is-here&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2009/04/android-15-is-here.html |title=Android 1.5 is here! |date=April 27, 2009 |publisher=Android Developers Blog |first=Xavier |last=Ducrohet |access-date=September 3, 2009| archive-url=https://web.archive.org/web/20090925095047/http://android-developers.blogspot.com/2009/04/android-15-is-here.html |archive-date=September 25, 2009 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |last=Rob |first=Jackson |title=CONFIRMED: Official Cupcake Update Underway for T-Mobile G1 USA &amp;amp; UK! |date=April 30, 2009 |url=http://phandroid.com/2009/04/30/official-cupcake-update-underway-for-t-mobile-g1-usa/ |publisher=Phandroid |access-date=September 3, 2009 |archive-date=May 4, 2009 |archive-url=https://web.archive.org/web/20090504130749/http://phandroid.com/2009/04/30/official-cupcake-update-underway-for-t-mobile-g1-usa/ |url-status=live }}&amp;lt;/ref&amp;gt; This was the first release to officially use a codename based on a dessert item (&amp;quot;Cupcake&amp;quot;), a theme used for all releases until [[Android 9 Pie|Android Pie]], with [[Android 10]] and later using a number-only system. The update included several new features and UI amendments:&amp;lt;ref name=&amp;quot;cupcake-highlights&amp;quot;&amp;gt;{{cite web |date=April 2009 |url=http://developer.android.com/sdk/android-1.5-highlights.html |title=Android 1.5 Platform Highlights |publisher=Android Developers |access-date=September 3, 2009 |archive-date=September 1, 2009 |archive-url=https://web.archive.org/web/20090901200518/http://developer.android.com/sdk/android-1.5-highlights.html |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 1.5 Cupcake (API 3)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 1.5&lt;br /&gt;
| April 27, 2009&amp;lt;ref name=&amp;quot;cupcake-is-here&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Support for third-party virtual keyboards with text prediction and a user dictionary for custom words.&lt;br /&gt;
* Support for [[Widget engine|Widgets]] – miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates.&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/guide/topics/appwidgets/index.html |title=App Widgets |publisher=Android Developers |year=2012 |access-date=October 23, 2012 |archive-date=October 24, 2012 |archive-url=https://web.archive.org/web/20121024060808/https://developer.android.com/guide/topics/appwidgets/index.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Video recording and playback in [[MPEG-4]] and 3GP formats.&lt;br /&gt;
* Auto-pairing and stereo support for Bluetooth (A2DP and AVRCP profiles).&lt;br /&gt;
* Copy and paste features in web browser.&lt;br /&gt;
* User pictures shown for Favorites in Contacts.&lt;br /&gt;
* Specific date/time stamp shown for events in call log, and one-touch access to a contact card from a call log event.&lt;br /&gt;
* Animated screen transitions.&lt;br /&gt;
* Auto-rotation option.&lt;br /&gt;
* New stock boot animation.&lt;br /&gt;
* Ability to upload videos to YouTube.&lt;br /&gt;
* Ability to upload photos to [[Picasa]].&lt;br /&gt;
* Ability to check phone usage history.&amp;lt;ref&amp;gt;{{cite web |url=https://101android.com/view-phone-usage-history/ |title=Phone Usage History |publisher=101 Android |year=2017|access-date=December 24, 2017|archive-date=February 23, 2018|archive-url=https://web.archive.org/web/20180223191108/https://101android.com/view-phone-usage-history/|url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 1.6 Donut ===&lt;br /&gt;
{{Main|Android Donut}}&lt;br /&gt;
{{anchor|Android 1.6|Android Donut|Donut|1.6}}&lt;br /&gt;
&lt;br /&gt;
On September 15, 2009, Android 1.6 – dubbed Donut – was released, based on Linux kernel 2.6.29.&amp;lt;ref name=&amp;quot;Word-highlights&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;Word-is-here&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2009/09/android-16-sdk-is-here.html |title=Android 1.6 SDK is here |date=September 15, 2009 |publisher=Android Developers Blog |first=Xavier |last=Ducrohet |access-date=October 1, 2009 |archive-url=https://web.archive.org/web/20090925095011/http://android-developers.blogspot.com/2009/09/android-16-sdk-is-here.html |archive-date=September 25, 2009 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |last=Ryan |first=Paul |title=Google releases Android 1.6; Palm unleashes WebOS 1.2 |date=October 1, 2009 |url=https://arstechnica.com/gadgets/news/2009/10/google-releases-android-16-palm-releases-webos-12.ars |work=Ars Technica |access-date=October 1, 2009 |archive-url=https://web.archive.org/web/20091002105348/http://arstechnica.com/gadgets/news/2009/10/google-releases-android-16-palm-releases-webos-12.ars |archive-date=October 2, 2009 |url-status=live}}&amp;lt;/ref&amp;gt; Included in the update were numerous new features:&amp;lt;ref name=&amp;quot;Word-highlights&amp;quot;&amp;gt;{{cite web |title=Android 1.6 Platform Highlights |publisher=Android Developers |date=September 2009 |url=http://developer.android.com/sdk/android-1.6-highlights.html |access-date=October 1, 2009 |archive-url=https://web.archive.org/web/20100430191552/http://developer.android.com/sdk/android-1.6-highlights.html |archive-date=April 30, 2010 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 1.6 Donut (API 4)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 1.6&lt;br /&gt;
| September 15, 2009&amp;lt;ref name=&amp;quot;Word-is-here&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Voice and text entry search enhanced to include bookmark history, contacts, and the web.&lt;br /&gt;
* Ability for developers to include their content in search results.&lt;br /&gt;
* Multi-lingual [[speech synthesis]] engine to allow any Android application to &amp;quot;speak&amp;quot; a string of text.&lt;br /&gt;
* Easier searching and the ability to view app screenshots in Android Market.&lt;br /&gt;
* Gallery, Camera and camcorder more fully integrated, with faster camera access.&lt;br /&gt;
* Ability for users to select multiple photos for deletion.&lt;br /&gt;
* Updated technology support for [[IS-95|CDMA]]/[[Evolution-Data Optimized|EVDO]], [[IEEE 802.1X|802.1x]], [[virtual private network|VPNs]], and a text-to-speech engine.&lt;br /&gt;
* Support for [[Wide VGA|WVGA]] screen resolutions.&lt;br /&gt;
* Speed improvements in searching and camera applications.&lt;br /&gt;
* Expanded Gesture framework and a new GestureBuilder development tool.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 2.0 Eclair ===&lt;br /&gt;
{{Main|Android Eclair}}&lt;br /&gt;
{{Anchor|Android 2.0|Android Eclair|Eclair|Android 2|2.0}}&lt;br /&gt;
&lt;br /&gt;
On October 27, 2009, the Android 2.0 SDK was released, based on Linux kernel 2.6.29 and codenamed [[Éclair|Eclair]].&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.0.html |title=Android 2.0, Release 1 |publisher=Android Developers |access-date=October 27, 2009 |archive-url=https://web.archive.org/web/20091030044736/http://developer.android.com/sdk/android-2.0.html |archive-date=October 30, 2009 |url-status=live}}&amp;lt;/ref&amp;gt; Changes include the ones listed below.&amp;lt;ref name=&amp;quot;eclair-highlights&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.0-highlights.html |title=Android 2.0 Platform Highlights |publisher=Android Developers |access-date=October 27, 2009 |archive-url=https://web.archive.org/web/20091030044731/http://developer.android.com/sdk/android-2.0-highlights.html |archive-date=October 30, 2009 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.0 Eclair (API 5)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.0&lt;br /&gt;
| October 27, 2009&amp;lt;ref name=&amp;quot;android-developers.googleblog.com&amp;quot;&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2009/10/announcing-android-20-support-in-sdk.html |title=Announcing Android 2.0 support in the SDK! |access-date=May 19, 2021 |archive-date=October 31, 2021 |archive-url=https://web.archive.org/web/20211031125134/https://android-developers.googleblog.com/2009/10/announcing-android-20-support-in-sdk.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Expanded Account sync, allowing users to add multiple accounts to a device for synchronization of an email and contacts.&lt;br /&gt;
* [[Microsoft Exchange Server|Microsoft Exchange]] email support, with a combined inbox to browse an email from multiple accounts in one page.&lt;br /&gt;
* Bluetooth 2.1 support.&lt;br /&gt;
* Ability to tap a Contacts photo and select to call, SMS, or email the person.&lt;br /&gt;
* Ability to search all saved SMS and MMS messages, with the added ability to delete the oldest messages in a conversation automatically deleted when a defined limit is reached.&lt;br /&gt;
* Numerous new camera features, including flash support, digital zoom, scene mode, white balance, color effect and macro focus.&lt;br /&gt;
* Improved typing speed on a virtual keyboard, with a smarter dictionary that learns from word usage and includes contact names as suggestions.&lt;br /&gt;
* Refreshed browser UI with bookmark thumbnails, double-tap zoom and support for [[HTML5]].&lt;br /&gt;
* Calendar agenda view enhanced, showing attending status for each invitee, and the ability to invite new guests to events.&lt;br /&gt;
* Optimized hardware speed and revamped UI.&lt;br /&gt;
* Support for more screen sizes and resolutions, with better contrast ratio.&lt;br /&gt;
* Improved [[Google Maps]] 3.1.2.&lt;br /&gt;
* MotionEvent class enhanced to track multi-touch events.&amp;lt;ref&amp;gt;{{cite web |title=Android 2.0 API Changes Summary |url=http://developer.android.com/sdk/android-2.0.html#api-changes |access-date=March 6, 2010 |archive-url=https://web.archive.org/web/20091030044736/http://developer.android.com/sdk/android-2.0.html |archive-date=October 30, 2009 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Force Touch|Pressure-sensitive touch]] support in [[application programming interface|API]], even though no according hardware existed at that time.&amp;lt;ref&amp;gt;{{cite web |title=Force Touch? Android has had that for years |url=https://pocketnow.com/force-touch-android-has-had-that-for-years |website=Pocketnow |access-date=June 13, 2021 |date=September 7, 2015 |archive-date=June 13, 2021 |archive-url=https://web.archive.org/web/20210613183953/https://pocketnow.com/force-touch-android-has-had-that-for-years |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=MotionEvent § getPressure() |url=https://developer.android.com/reference/android/view/MotionEvent.html#getPressure() |website=Android Developers |language=en |access-date=June 13, 2021 |archive-date=June 13, 2021 |archive-url=https://web.archive.org/web/20210613183953/https://developer.android.com/reference/android/view/MotionEvent.html#getPressure() |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Addition of live wallpapers, allowing the animation of home-screen background images to show movement.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 2.0.1 Eclair ====&lt;br /&gt;
{{anchor|Android 2.0.1|2.0.1}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.0.1 Eclair (API 6)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.0.1&lt;br /&gt;
| December 3, 2009&amp;lt;ref name = &amp;quot;2.0.1 SDK&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.0.1.html |title=Android 2.0.1, Release 1 SDK |publisher=Android Developers |access-date=January 17, 2010 |archive-url=https://web.archive.org/web/20100115003947/http://developer.android.com/sdk/android-2.0.1.html |archive-date=January 15, 2010 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Minor API changes, bug fixes and framework behavioral changes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 2.1 Eclair ====&lt;br /&gt;
{{anchor|Android 2.1}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.1 Eclair (API 7)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.1&lt;br /&gt;
| January 11, 2010&amp;lt;ref name=&amp;quot;2.1 SDK&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.1.html |title=Android 2.1, Release 1 |publisher=Android Developers |access-date=January 17, 2010 |archive-url=https://web.archive.org/web/20100114194657/http://developer.android.com/sdk/android-2.1.html |archive-date=January 14, 2010 |url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;ReferenceA&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Minor amendments to the API and bug fixes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 2.2 Froyo ===&lt;br /&gt;
{{Main|Android Froyo}}&lt;br /&gt;
{{anchor|Android 2.2|Android Froyo|Froyo|2.2}}&lt;br /&gt;
&lt;br /&gt;
On May 20, 2010, the SDK for Android 2.2 (Froyo, short for [[frozen yogurt]]) was released, based on Linux kernel 2.6.32.&amp;lt;ref name=&amp;quot;froyo-dev-blog&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2010/05/android-22-and-developers-goodies.html |work=Android Developers Blog |title=Android 2.2 and developers goodies |access-date=May 20, 2010 |first=Xavier |last=Ducrohet |date=May 20, 2010 |archive-date=May 12, 2012 |archive-url=https://web.archive.org/web/20120512013526/http://android-developers.blogspot.com/2010/05/android-22-and-developers-goodies.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.2 Froyo (API 8)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.2&lt;br /&gt;
| May 20, 2010&lt;br /&gt;
|&lt;br /&gt;
* Speed, memory, and performance optimizations.&amp;lt;ref name=&amp;quot;unofficial-froyo-features&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2010/05/20/exclusive-unofficially-confirmed-froyo-features-post-day-1-of-google-io-google-io-blitz-coverage-day-1/ |title=Unofficially Confirmed Froyo Features, Post-Day-1 Of Google I/O |date=May 20, 2010 |publisher=Android Police |access-date=May 20, 2010 |archive-date=May 1, 2012 |archive-url=https://web.archive.org/web/20120501015836/http://www.androidpolice.com/2010/05/20/exclusive-unofficially-confirmed-froyo-features-post-day-1-of-google-io-google-io-blitz-coverage-day-1/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Additional application speed improvements, implemented through [[Just-in-time compilation|JIT compilation]].&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2010/05/11/exclusive-androidpolice-coms-nexus-one-is-running-android-2-2-froyo-how-fast-is-it-compared-to-2-1-oh-only-about-450-faster/ |title=Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster |publisher=Android Police |access-date=May 13, 2010 |archive-date=August 1, 2012 |archive-url=https://web.archive.org/web/20120801040059/http://www.androidpolice.com/2010/05/11/exclusive-androidpolice-coms-nexus-one-is-running-android-2-2-froyo-how-fast-is-it-compared-to-2-1-oh-only-about-450-faster/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Integration of [[Google Chrome|Chrome]]&#039;s [[V8 (JavaScript engine)|V8 JavaScript engine]] into the Browser application.&lt;br /&gt;
* Support for the [[Android Cloud to Device Messaging]] (C2DM) service, enabling [[Push technology|push notifications]].&lt;br /&gt;
* Improved [[Microsoft Exchange Server|Microsoft Exchange]] support, including security policies, auto-discovery, GAL look-up, calendar synchronization and remote wipe.&amp;lt;ref&amp;gt;{{cite web |last1=Harbor |title=Android now fully supports Exchange |url=https://www.harborcomputerservices.net/android-now-fully-supports-exchange/ |website=harborcomputerservices.net |access-date=September 11, 2010 |date=June 29, 2010 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135753/https://www.harborcomputerservices.net/android-now-fully-supports-exchange/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved application launcher with shortcuts to Phone and Browser applications.&lt;br /&gt;
* USB tethering and [[Wi-Fi hotspot]] functionality&amp;lt;ref name=&amp;quot;wired sorrel 2010&amp;quot;&amp;gt;{{cite magazine |url=https://www.wired.com/gadgetlab/2010/05/android-22-froyo-features-usb-wi-fi-tethering/ |title=Android 2.2 &#039;Froyo&#039; Features USB, Wi-Fi Tethering |magazine=[[Wired (magazine)|Wired]] |date=May 13, 2010 |access-date=February 14, 2013 |author=Sorrel, Charlie |archive-date=November 6, 2012 |archive-url=https://web.archive.org/web/20121106224423/http://www.wired.com/gadgetlab/2010/05/android-22-froyo-features-usb-wi-fi-tethering/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Option to disable data access over a mobile network.&lt;br /&gt;
* Updated Market application with batch and automatic update features.&amp;lt;ref name=&amp;quot;unofficial-froyo-features&amp;quot;/&amp;gt;&lt;br /&gt;
* Quick switching between multiple keyboard languages and their dictionaries.&lt;br /&gt;
* Support for [[Bluetooth]]-enabled car and desk docks.&lt;br /&gt;
* Support for numeric and alphanumeric passwords.&lt;br /&gt;
* Support for file upload fields in the Browser application.&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=2519#c112 |title=Browser support for file upload field is coming in Froyo |access-date=May 13, 2010 |archive-date=March 20, 2017 |archive-url=https://web.archive.org/web/20170320120623/https://code.google.com/p/android/issues/detail?id=2519#c112 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The browser now shows all frames of animated GIFs instead of just the first frame only.&lt;br /&gt;
* Support for installing applications to expandable memory.&lt;br /&gt;
* [[Adobe Flash]] support.&amp;lt;ref&amp;gt;{{cite news |url=http://bits.blogs.nytimes.com/2010/04/27/googles-andy-rubin-on-everything-android/ |title=Google&#039;s Andy Rubin on Everything Android |work=[[The New York Times]] |access-date=May 20, 2010 |first=Brad |last=Stone |date=April 27, 2010 |archive-url=https://web.archive.org/web/20100430192951/http://bits.blogs.nytimes.com/2010/04/27/googles-andy-rubin-on-everything-android/ |archive-date=April 30, 2010 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Support for high-[[Pixel density|PPI]] displays (up to 320&amp;amp;nbsp;ppi), such as four-inch [[720p]] screens.&amp;lt;ref name=&amp;quot;multiple-screens&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/guide/practices/screens_support.html#range |title=Supporting Multiple Screens: Range of screens supported |publisher=Android Developers |access-date=February 8, 2013 |archive-date=January 28, 2013 |archive-url=https://web.archive.org/web/20130128224652/http://developer.android.com/guide/practices/screens_support.html#range |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Gallery allows users to view picture stacks using a zoom gesture.&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.1&lt;br /&gt;
| September 27, 2010&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.2.1_r1 |title=refs/tags/android-2.2.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135742/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.2.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Bug fixes, security updates and performance improvements.&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.2&lt;br /&gt;
| January 21, 2011&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.2.2_r1 |title=refs/tags/android-2.2.2_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135743/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.2.2_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Minor bug fixes, including SMS routing issues that affected the [[Nexus One]].&amp;lt;ref&amp;gt;{{cite news |last=Hollister |first=Sean |title=Nexus One gets tiny update to Android 2.2.2, fixes SMS routing issues |url=https://www.engadget.com/2011/01/22/nexus-one-gets-tiny-update-to-android-2-2-2-probably-fixes-sms/ |access-date=November 17, 2011 |publisher=Engadget |date=January 22, 2011 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135748/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2011-01-22-nexus-one-gets-tiny-update-to-android-2-2-2-probably-fixes-sms.html%26tbla_id%3Db8801a67-ee65-488a-8ce7-a9677f4e6876-tuctc9d6ddb%26gam_id%3Dy-vEZQfbNE2uLaKjAB0lE7iYBpOYMIKf.u%7EA%26axids%3Dgam%3Dy-vEZQfbNE2uLaKjAB0lE7iYBpOYMIKf.u%7EA%26dv360%3DeS1DUm1OUC5sRTJ1RTdhelFfNDJjT1g3R3BabVlwZGJIQX5B%26ydsp%3Dy-9B3bUgFE2uLe_tF8l4JDw9mOQ_CWu5.o%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 2.2.3&lt;br /&gt;
| November 21, 2011&amp;lt;ref&amp;gt;{{cite web |url=https://android.googlesource.com/platform/build/+/refs/tags/android-2.2.3_r1 |access-date=September 2, 2013 |title=Android 2.2.3 source tag |archive-date=September 29, 2023 |archive-url=https://web.archive.org/web/20230929173218/https://android.googlesource.com/platform/build/+/refs/tags/android-2.2.3_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Two security updates.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 2.3 Gingerbread ===&lt;br /&gt;
{{Main|Android Gingerbread}}&lt;br /&gt;
{{anchor|Android 2.3|Gingerbread|Android Gingerbread|2.3}}&lt;br /&gt;
&lt;br /&gt;
On December 6, 2010, the Android 2.3 (Gingerbread) SDK was released, based on Linux kernel 2.6.35.&amp;lt;ref name=&amp;quot;gingerbread-highlights&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;gingerbread-dev-blog&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2010/12/android-23-platform-and-updated-sdk.html |publisher=Android Developers Blog |title=Android 2.3 Platform and Updated SDK Tools |access-date=December 7, 2010 |first=Xavier |last=Ducrohet |date=December 6, 2010 |archive-url= https://web.archive.org/web/20101227190245/http://android-developers.blogspot.com/2010/12/android-23-platform-and-updated-sdk.html |archive-date=December 27, 2010 |url-status=live}}&amp;lt;/ref&amp;gt; Changes included:&amp;lt;ref name=&amp;quot;gingerbread-highlights&amp;quot;&amp;gt;{{cite web |date=December 6, 2010 |url=http://developer.android.com/sdk/android-2.3-highlights.html |title=Android 2.3 Platform Highlights |publisher=Android Developers Blog |access-date=December 7, 2010 |archive-url= https://web.archive.org/web/20101210235053/http://developer.android.com/sdk/android-2.3-highlights.html |archive-date=December 10, 2010 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.3 Gingerbread (API 9)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.3&lt;br /&gt;
| December 6, 2010&amp;lt;ref name=&amp;quot;gingerbread-dev-blog&amp;quot; /&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Updated user interface design with increased simplicity and speed.&lt;br /&gt;
* Support for extra-large screen sizes and resolutions ([[WXGA (graphics)|WXGA]] and higher).&amp;lt;ref name=&amp;quot;multiple-screens&amp;quot;/&amp;gt;&lt;br /&gt;
* Native support for [[Session Initiation Protocol|SIP]] [[Voice over IP|VoIP]] internet telephones.&lt;br /&gt;
* Faster, more intuitive text input on a virtual keyboard, with improved accuracy, better suggested text and voice input mode.&lt;br /&gt;
* Enhanced [[cut, copy, and paste|copy/paste]] functionality, allowing users to select a word by press-holding, copying, and pasting.&lt;br /&gt;
* Support for [[Near Field Communication]] (NFC), allowing the user to read an NFC tag embedded in a poster, sticker, or advertisement.&lt;br /&gt;
* New audio effects such as reverb, equalization, headphone virtualization, and bass boost.&lt;br /&gt;
* New [[Download Manager]], giving users easy access to any file downloaded from the browser, email, or another application.&lt;br /&gt;
* Support for multiple cameras on the device, including a front-facing camera, if available.&lt;br /&gt;
* Support for [[WebM]]/VP8 video playback, and [[Advanced Audio Coding|AAC]] audio encoding.&lt;br /&gt;
* Improved [[power management]] with a more active role in managing applications that are keeping the device awake for too long.&lt;br /&gt;
* Enhanced support for native code development.&lt;br /&gt;
* Switched from [[YAFFS]] to [[ext4]] on newer devices.&amp;lt;ref&amp;gt;{{Cite news |url=http://www.linuxfoundation.org/news-media/blogs/browse/2010/12/android-will-be-using-ext4-starting-gingerbread |title=Android will be using ext4 starting with Gingerbread |publisher=Linux Foundation |first=Theodore |last=Ts&#039;o |date=December 12, 2010 |access-date=June 11, 2011 |archive-url=https://web.archive.org/web/20110528064125/http://www.linuxfoundation.org/news-media/blogs/browse/2010/12/android-will-be-using-ext4-starting-gingerbread |archive-date=May 28, 2011 |url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2010/12/saving-data-safely.html |title=Saving Data Safely |author=Tim Bray |publisher=Android Developers Blog |date=December 19, 2010 |access-date=June 11, 2011 |archive-date=July 27, 2011 |archive-url=https://web.archive.org/web/20110727234704/http://android-developers.blogspot.com/2010/12/saving-data-safely.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Audio, graphical, and input enhancements for game developers.&lt;br /&gt;
* Concurrent [[Garbage collection (computer science)|garbage collection]] for increased performance.&lt;br /&gt;
* Native support for more sensors (such as [[gyroscope]]s and [[barometer]]s).&lt;br /&gt;
* First Android version to feature an Easter egg. It was an image of the Bugdroid standing next to a zombie gingerbread man, with many more zombies in the background.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.1&lt;br /&gt;
| December 22, 2010&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.1_r1 |title=refs/tags/android-2.3.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135846/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improvements and bug fixes for the Nexus&amp;amp;nbsp;S.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.2&lt;br /&gt;
| January 21, 2011&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.2_r1 |title=refs/tags/android-2.3.2_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135758/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.2_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improvements and bug fixes for the Nexus&amp;amp;nbsp;S.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 2.3.3 Gingerbread ====&lt;br /&gt;
{{Anchor|Android 2.3.3|2.3.3}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 2.3.3 Gingerbread (API 10)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.3&lt;br /&gt;
| February 9, 2011&amp;lt;ref&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2011/02/android-233-platform-new-nfc.html |title=Android 2.3.3 Platform, New NFC Capabilities |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135849/https://android-developers.googleblog.com/2011/02/android-233-platform-new-nfc.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Several improvements and API fixes.&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-2.3.3.html |title=Android 2.3.3 Platform |publisher=Android Developers |year=2011|access-date=November 19, 2012|archive-date=June 13, 2012|archive-url=https://web.archive.org/web/20120613232731/http://developer.android.com/sdk/android-2.3.3.html|url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.4&lt;br /&gt;
| April 28, 2011&amp;lt;ref&amp;gt;{{cite web |url=https://android.googlesource.com/platform/system/core/+/android-2.3.4_r1 |access-date=September 2, 2013 |title=Android 2.3.4 source tag |archive-date=September 29, 2023 |archive-url=https://web.archive.org/web/20230929174948/https://android.googlesource.com/platform/system/core/+/android-2.3.4_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Support for voice or video chat using [[Google Talk]].&amp;lt;ref&amp;gt;{{cite web |url=http://googlemobile.blogspot.com/2011/04/video-chat-on-your-android-phone.html |title=Video Chat on Your Android Phone |date=April 28, 2011 |publisher=Google Mobile Blog |access-date=April 18, 2013 |archive-date=November 28, 2020 |archive-url=https://web.archive.org/web/20201128144225/http://googlemobile.blogspot.com/2011/04/video-chat-on-your-android-phone.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Open Accessory Library support. Open Accessory was introduced in 3.1 (Honeycomb) but the Open Accessory Library grants 2.3.4 added support when connecting to a USB peripheral with compatible software and a compatible application on the device.&amp;lt;ref&amp;gt;{{cite web |title=Open Accessory Library 2.3.4 |url=http://developer.android.com/about/versions/android-2.3.4.html |publisher=Android Developers |access-date=August 3, 2012 |archive-date=August 5, 2012 |archive-url=https://web.archive.org/web/20120805081044/http://developer.android.com/about/versions/android-2.3.4.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Switched the default encryption for SSL from AES256-SHA to RC4-MD5.&amp;lt;ref&amp;gt;{{cite web |last=Sarkar |first=Abhijoy |url=http://www.muktware.com/2013/10/java-weakened-androids-ssl-security-nsa-may-picture/15033 |title=Is it Java that weakened Android&#039;s SSL security? |publisher=Muktware |date=October 14, 2013 |access-date=November 2, 2013 |archive-date=October 26, 2013 |archive-url=https://web.archive.org/web/20131026181842/http://www.muktware.com/2013/10/java-weakened-androids-ssl-security-nsa-may-picture/15033 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://op-co.de/blog/posts/android_ssl_downgrade/ |title=Why Android SSL was downgraded from AES256-SHA to RC4-MD5 in late 2010 |date=October 15, 2013 |access-date=November 2, 2013 |publisher=op-co.de |archive-date=November 5, 2013 |archive-url=https://web.archive.org/web/20131105221353/http://op-co.de/blog/posts/android_ssl_downgrade/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Fixed a spontaneous reboot on [[Samsung Galaxy S Plus]].&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.5&lt;br /&gt;
| July 25, 2011&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.5_r1 |title=refs/tags/android-2.3.5_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114135849/https://android.googlesource.com/platform/system/core/+/refs/tags/android-2.3.5_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improved network performance for the [[Nexus S]] 4G, among other fixes and improvements.&lt;br /&gt;
* Fixed a Bluetooth bug on [[Samsung Galaxy S (2010 smartphone)|Samsung Galaxy S]].&lt;br /&gt;
* Fixed a Wi-Fi crash on [[Samsung Galaxy S Plus]].&lt;br /&gt;
* Improved the Gmail application.&lt;br /&gt;
* Shadow animations for list scrolling.&lt;br /&gt;
* Camera software enhancements.&amp;lt;ref&amp;gt;{{cite news |last=Arghire |first=Ionut |title=Android 2.3.5 Arrives on Galaxy S in the UK |url=http://news.softpedia.com/news/Android-2-3-5-Arrives-on-Galaxy-S-in-the-UK-235644.shtml |publisher=Softpedia.com |access-date=December 1, 2011 |archive-date=December 4, 2011 |archive-url=https://web.archive.org/web/20111204034344/http://news.softpedia.com/news/Android-2-3-5-Arrives-on-Galaxy-S-in-the-UK-235644.shtml |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved battery efficiency.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.6&lt;br /&gt;
| September 2, 2011&amp;lt;ref&amp;gt;{{cite web |url=http://pocketnow.com/android/nexus-s-ushers-in-android-236-but-does-it-fix-or-cause-bugs |title=Nexus S Ushers-In Android 2.3.6, But Does It Fix Or Cause Bugs? |publisher=pocketnow |date=September 2, 2011 |access-date=August 4, 2014 |author=Stephen Schenck |archive-date=October 17, 2014 |archive-url=https://web.archive.org/web/20141017014023/http://pocketnow.com/android/nexus-s-ushers-in-android-236-but-does-it-fix-or-cause-bugs |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixed a voice search bug.{{Efn|The 2.3.6 update had the side-effect of impairing the Wi-Fi hotspot functionality of many Canadian Nexus S phones. Google acknowledged this problem and fixed it in late September.&amp;lt;ref&amp;gt;{{cite web |url=http://www.addictivetips.com/mobile/android-2-3-6-gingerbread-update-for-nexus-s-available-wi-fi-and-tethering-fix/ |title=Android 2.3.6 Gingerbread Update For Nexus S Available (Wi-Fi And Tethering Fix) |publisher=Addictive Tips |date=September 28, 2011 |access-date=December 20, 2011 |author=Ali Waqas |archive-date=December 12, 2011 |archive-url=https://web.archive.org/web/20111212004046/http://www.addictivetips.com/mobile/android-2-3-6-gingerbread-update-for-nexus-s-available-wi-fi-and-tethering-fix/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://pocketnow.com/android/google-samsung-nexus-s-gets-android-236-update |title=Google Samsung Nexus S Gets Android 2.3.6 Update |publisher=PocketNow |date=September 27, 2011 |access-date=December 20, 2011 |author=Anton D. Nagy |archive-url=https://web.archive.org/web/20111230132748/http://pocketnow.com/android/google-samsung-nexus-s-gets-android-236-update |archive-date=December 30, 2011 |url-status=dead}}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.7&lt;br /&gt;
| September 21, 2011&lt;br /&gt;
|&lt;br /&gt;
* [[Google Wallet]] support for the Nexus S 4G.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 3.0 Honeycomb ===&lt;br /&gt;
{{Main|Android Honeycomb}}&lt;br /&gt;
{{Anchor|Android 3.0|Android Honeycomb|Honeycomb|Android 3|3.0}}&lt;br /&gt;
&lt;br /&gt;
On February 22, 2011, the Android 3.0 (Honeycomb) SDK – the first [[tablet computer|tablet]]-only Android update – was released, based on Linux kernel 2.6.36.&amp;lt;ref name=&amp;quot;honeycomb-highlights&amp;quot;/&amp;gt;&amp;lt;ref name=&amp;quot;honeycomb-sneak-peek&amp;quot;&amp;gt;{{cite web |url=http://googlemobile.blogspot.com/2011/01/sneak-peak-of-android-30-honeycomb.html |title=A Sneak Peek of Android 3.0, Honeycomb |first=Andy |last=Rubin |publisher=Google Mobile Blog |date=January 5, 2011 |access-date=January 5, 2011 |archive-url= https://web.archive.org/web/20110108061358/http://googlemobile.blogspot.com/2011/01/sneak-peak-of-android-30-honeycomb.html |archive-date=January 8, 2011 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;3.0-release&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2011/02/final-android-30-platform-and-updated.html |title=Final Android 3.0 Platform and Updated SDK Tools |author=Xavier Ducrohet |publisher=Android Developers Blog |date=February 22, 2011 |access-date=February 23, 2011 |archive-url= https://web.archive.org/web/20110305143408/http://android-developers.blogspot.com/2011/02/final-android-30-platform-and-updated.html |archive-date=March 5, 2011 |url-status=live}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://www.anandtech.com/show/4150/googles-android-event-analysis/2 |title=Google&#039;s Android Event Analysis |author=Mithun Chandrasekhar |publisher=AnandTech |date=February 2, 2011 |access-date=February 5, 2011 |quote=I confirmed this with Google; Honeycomb, at least in the current form, will not be coming to non-tablet devices. |archive-date=February 5, 2011 |archive-url=https://web.archive.org/web/20110205210127/http://www.anandtech.com/show/4150/googles-android-event-analysis/2 |url-status=live }}&amp;lt;/ref&amp;gt; The first device featuring this version, the [[Motorola Xoom]] tablet, was released on February 24, 2011.&amp;lt;ref&amp;gt;{{cite web |url=https://www.engadget.com/2011/01/26/motorola-atrix-4g-and-xoom-tablet-launching-at-the-end-of-februa/ |title=Motorola Atrix 4G and Xoom tablet launching at the end of February, Droid Bionic and LTE Xoom in Q2 |author=Nilay Patel |publisher=Engadget |date=January 26, 2011 |access-date=February 5, 2011 |archive-date=February 4, 2011 |archive-url=https://web.archive.org/web/20110204085801/http://www.engadget.com/2011/01/26/motorola-atrix-4g-and-xoom-tablet-launching-at-the-end-of-februa? |url-status=live }}&amp;lt;/ref&amp;gt; The update&#039;s features included:&amp;lt;ref name=&amp;quot;honeycomb-highlights&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/sdk/android-3.0-highlights.html |title=Android 3.0 Platform Highlights |publisher=Android Developers |access-date=February 23, 2011 |archive-url=https://web.archive.org/web/20110216200154/http://developer.android.com/sdk/android-3.0-highlights.html |archive-date=February 16, 2011 |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 3.0 Honeycomb (API 11)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 3.0&lt;br /&gt;
| February 22, 2011&amp;lt;ref name=&amp;quot;3.0-release&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Optimized tablet support with a new &amp;quot;holographic&amp;quot; user interface (removed again the following year with version 4.2).&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* New Easter egg, an image of a [[Tron]]-themed bumblebee.&lt;br /&gt;
* Added System Bar, featuring quick access to notifications, status, and soft navigation buttons, available at the bottom of the screen.&lt;br /&gt;
* Added the Action Bar, giving access to contextual options, navigation, widgets, or other types of content at the top of the screen.&lt;br /&gt;
* Simplified multitasking – tapping Recent Applications in the System Bar allows users to see snapshots of the tasks underway and quickly jump from one application to another.&lt;br /&gt;
* Redesigned the keyboard, making typing fast, efficient and accurate on larger screen sizes&lt;br /&gt;
* Simplified, more intuitive copy/paste interface.&lt;br /&gt;
* Multiple browser tabs replacing browser windows, plus form auto-fill and a new &amp;quot;incognito&amp;quot; mode allowing somewhat anonymous browsing.&lt;br /&gt;
* Quick access to camera exposure, focus, flash, zoom, front-facing camera, time-lapse, and other camera features.&lt;br /&gt;
* Ability to view albums and other collections in full-screen mode in Gallery, with easy access to thumbnails for other photos.&lt;br /&gt;
* New two-pane Contacts UI and Fast Scroll to let users easily organize and locate contacts.&lt;br /&gt;
* New two-pane Email UI to make viewing and organizing messages more efficient, allowing users to select one or more messages.&lt;br /&gt;
* Hardware acceleration.&lt;br /&gt;
* Support for [[multi-core processor]]s.&lt;br /&gt;
* Ability to encrypt all user data.&lt;br /&gt;
* HTTPS stack improved with [[Server Name Indication]] (SNI).&lt;br /&gt;
* [[Filesystem in Userspace]] (FUSE; kernel module).&lt;br /&gt;
* Disallows applications from having to write access to secondary storage (memory cards on devices with internal primary storage) outside of designated, application-specific directories. Full access to primary internal storage is still allowed through a separate application-level permission.&amp;lt;ref name=&amp;quot;anandtech-sdkitkat&amp;quot;&amp;gt;{{cite web |last=Ho |first=Joshua |title=Examining MicroSD changes in Android 4.4 |url=http://www.anandtech.com/show/7859/examining-microsd-changes-in-android-44 |work=Anandtech |access-date=March 28, 2014 |archive-date=March 28, 2014 |archive-url=https://web.archive.org/web/20140328131328/http://anandtech.com/show/7859/examining-microsd-changes-in-android-44 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;androidpolice-sdcards&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/02/17/external-blues-google-has-brought-big-changes-to-sd-cards-in-kitkat-and-even-samsung-may-be-implementing-them/ |title=External Blues: Google Has Brought Big Changes To SD Cards In KitKat, And Even Samsung Is Implementing Them |date=February 17, 2014 |author=Cody Toombs |access-date=February 20, 2014 |publisher=Android Police |archive-date=February 21, 2014 |archive-url=https://web.archive.org/web/20140221100831/http://www.androidpolice.com/2014/02/17/external-blues-google-has-brought-big-changes-to-sd-cards-in-kitkat-and-even-samsung-may-be-implementing-them/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 3.1 Honeycomb ====&lt;br /&gt;
{{anchor|Android 3.1|3.1}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 3.1 Honeycomb (API 12)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 3.1&lt;br /&gt;
| May 10, 2011&amp;lt;ref&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2011/05/android-31-platform-new-sdk-tools.html |title=Android 3.1 Platform, New SDK tools |date=May 10, 2011 |first=Xavier |last=Ducrohet |publisher=Android Developers Blog |access-date=May 10, 2011 |archive-url= https://web.archive.org/web/20110511072447/http://android-developers.blogspot.com/2011/05/android-31-platform-new-sdk-tools.html |archive-date=May 11, 2011 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* UI refinements.&lt;br /&gt;
* Connectivity for USB accessories ([[USB On-The-Go]]).&lt;br /&gt;
* Expanded Recent Applications list.&lt;br /&gt;
* Resizable Home screen widgets.&lt;br /&gt;
* Support for external keyboards and pointing devices.&lt;br /&gt;
* Support for joysticks and gamepads.&lt;br /&gt;
* Support for [[FLAC]] audio playback.&amp;lt;ref name=&amp;quot;Android-Media-Formats&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/guide/appendix/media-formats.html |title=Android Supported Media Formats |publisher=Android Developers |access-date=March 30, 2012 |archive-date=March 11, 2012 |archive-url=https://web.archive.org/web/20120311121312/http://developer.android.com/guide/appendix/media-formats.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=1461 |title=Issue 1461 – Android – FLAC file support enhancement request. |access-date=August 5, 2011 |archive-date=April 10, 2017 |archive-url=https://web.archive.org/web/20170410001003/https://code.google.com/p/android/issues/detail?id=1461 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* High-performance Wi-Fi lock, maintaining high-performance Wi-Fi connections when the device screen is off.&lt;br /&gt;
* Support for HTTP proxy for each connected Wi-Fi access point.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 3.2 Honeycomb ====&lt;br /&gt;
{{anchor|Android 3.2|3.2}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 3.2 Honeycomb (API 13)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 3.2&lt;br /&gt;
| July 15, 2011&amp;lt;ref name=&amp;quot;Ducrohet&amp;quot;&amp;gt;{{cite web |url=http://android-developers.blogspot.com/2011/07/android-32-platform-and-updated-sdk.html |title=Android 3.2 Platform and Updated SDK tools |date=July 15, 2011 |first=Xavier |last=Ducrohet |publisher=Android Developers Blog |access-date=July 16, 2011 |archive-date=July 18, 2011 |archive-url=https://web.archive.org/web/20110718090730/http://android-developers.blogspot.com/2011/07/android-32-platform-and-updated-sdk.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improved hardware support, including optimizations for a wider range of tablets.&lt;br /&gt;
* Increased ability of applications to access files on the SD card, e.g. for synchronization.&lt;br /&gt;
* Compatibility display mode for applications that have not been optimized for tablet screen resolutions.&lt;br /&gt;
* New display support functions, giving developers more control over display appearance on different Android devices.&amp;lt;ref name=&amp;quot;Android Developers&amp;quot;&amp;gt;{{cite web |title=Supporting Multiple Screens: Declaring Tablet Layouts for Android 3.2 |publisher=Android Developers |year=2012 |url=http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts |access-date=February 18, 2013 |archive-date=January 28, 2013 |archive-url=https://web.archive.org/web/20130128224652/http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.1&lt;br /&gt;
| September 20, 2011&lt;br /&gt;
|&lt;br /&gt;
* Bug fixes and minor security, stability and Wi-Fi improvements.&lt;br /&gt;
* Update to [[Android Market]] with automatic updates and easier-to-read Terms and Conditions text.&lt;br /&gt;
* Update to [[Google Books]].&lt;br /&gt;
* Improved [[Adobe Flash]] support in browser.&lt;br /&gt;
* Improved [[Chinese language|Chinese]] handwriting prediction.&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.2&lt;br /&gt;
| September 30, 2011&lt;br /&gt;
|&lt;br /&gt;
* Bug fixes and other minor improvements for the Motorola Xoom 4G.&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.4&lt;br /&gt;
| December 15, 2011&lt;br /&gt;
|&lt;br /&gt;
* Pay As You Go for 3G and 4G tablets.&lt;br /&gt;
|-&lt;br /&gt;
| 3.2.6&lt;br /&gt;
| February 15, 2012&lt;br /&gt;
|&lt;br /&gt;
* Fixed data connectivity issues when coming out of Airplane mode on the US 4G Motorola Xoom.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 4.0 Ice Cream Sandwich ===&lt;br /&gt;
{{Main|Android Ice Cream Sandwich}}&lt;br /&gt;
{{anchor|Android 4.0|Ice Cream Sandwich|Android Ice Cream Sandwich|Android 4|4.0}}&lt;br /&gt;
&lt;br /&gt;
The SDK for Android 4.0.1 (Ice Cream Sandwich), based on Linux kernel 3.0.1,&amp;lt;ref&amp;gt;{{cite web |last=Maroger |title=Ice Cream Sandwich Runs on Linux Kernel 3.0.1 |url=http://fineoils.blogspot.com/2011/10/ice-cream-sandwich-runs-on-linux-kernel.html#!/2011/10/ice-cream-sandwich-runs-on-linux-kernel.html |publisher=[[Blogspot]] |work=Fine Oils |date=October 19, 2011 |access-date=July 24, 2013 |archive-date=September 26, 2013 |archive-url=https://web.archive.org/web/20130926170532/http://fineoils.blogspot.com/2011/10/ice-cream-sandwich-runs-on-linux-kernel.html#!/2011/10/ice-cream-sandwich-runs-on-linux-kernel.html |url-status=live }}&amp;lt;/ref&amp;gt; was publicly released on October 19, 2011.&amp;lt;ref&amp;gt;{{cite web |url=http://socialbarrel.com/android-4-0-ice-cream-sandwich-sdk-now-available/24093/ |title=Android 4.0 Ice Cream Sandwich SDK Now Available |publisher=Social Barrel |first=Francis |last=Rey |date=October 19, 2011 |access-date=July 24, 2013 |archive-date=September 8, 2013 |archive-url=https://web.archive.org/web/20130908152338/http://socialbarrel.com/android-4-0-ice-cream-sandwich-sdk-now-available/24093/ |url-status=live }}&amp;lt;/ref&amp;gt; Google&#039;s Gabe Cohen stated that Android 4.0 was &amp;quot;theoretically compatible&amp;quot; with any Android 2.3.x device in production at that time.&amp;lt;ref&amp;gt;{{cite news |url=https://www.engadget.com/2011/10/19/google-confirms-nexus-s-will-get-ice-cream-sandwich-for-real/ |title=Google confirms Nexus S will get Ice Cream Sandwich – for real this time (Gingerbread devices, too) |publisher=Engadget |first=Tim |last=Stevens |date=October 19, 2011 |access-date=July 24, 2013 |archive-date=August 25, 2013 |archive-url=https://web.archive.org/web/20130825184314/http://www.engadget.com/2011/10/19/google-confirms-nexus-s-will-get-ice-cream-sandwich-for-real/ |url-status=live }}&amp;lt;/ref&amp;gt; The [[source code]] for Android 4.0 became available on November 14, 2011.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidguys.com/2011/11/15/ice-cream-sandwich-source-code-released-custom-roms-inevitable/ |title=Ice Cream Sandwich source code released, custom ROMs inevitable |publisher=AndroidGuys |first=Vincent |last=Messina |date=November 15, 2011 |access-date=July 24, 2013 |archive-date=September 22, 2013 |archive-url=https://web.archive.org/web/20130922033259/http://www.androidguys.com/2011/11/15/ice-cream-sandwich-source-code-released-custom-roms-inevitable/ |url-status=dead }}&amp;lt;/ref&amp;gt; Ice Cream Sandwich was the last version to officially support [[Adobe Systems]]&#039; [[Flash player#Mobile platforms|Flash player]].&amp;lt;ref&amp;gt;{{cite web |url=http://www.webpronews.com/today-is-the-last-day-to-get-flash-for-android-2012-08 |title=Today Is The Last Day To Get Flash For Android |publisher=WebProNews |date=August 14, 2012 |access-date=February 7, 2013 |archive-date=January 30, 2013 |archive-url=https://web.archive.org/web/20130130212639/http://www.webpronews.com/today-is-the-last-day-to-get-flash-for-android-2012-08 |url-status=live }}&amp;lt;/ref&amp;gt; The update introduced numerous new features:&amp;lt;ref name=&amp;quot;ics-release&amp;quot;&amp;gt;{{cite web |url=https://www.engadget.com/2011/10/18/android-4-0-ice-cream-sandwich-now-official/ |title=Android 4.0 Ice Cream Sandwich now official, includes revamped design, enhancements galore |publisher=Engadget |first=Brad |last=Molen |date=October 19, 2011 |access-date=October 19, 2011 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141807/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2011-10-18-android-4-0-ice-cream-sandwich-now-official.html%26tbla_id%3D291617d0-ae7b-4f64-a3ab-2d9c87337e65-tuctc9d729d%26gam_id%3Dy-Dg48dZ5E2uL0jTg1pU87JdyUKqk5Bqxu%7EA%26axids%3Dgam%3Dy-Dg48dZ5E2uL0jTg1pU87JdyUKqk5Bqxu%7EA%26dv360%3DeS1xMElGWXRORTJ1RWJBTHF3SFM2Tl9kRWV1bVE4cnB0b35B%26ydsp%3Dy-sZGCizFE2uJUefsPeUXcKYwdxKNrsV3C%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |url=http://reviews.cnet.com/8301-19736_7-20122331-251/ice-cream-sandwich-adds-tons-of-new-features/?tag=mncol;txt |title=Ice Cream Sandwich adds tons of new features |publisher=CNET |first=Kent |last=German |date=October 18, 2011 |access-date=July 24, 2013}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://techcrunch.com/2011/10/18/a-quick-ice-cream-sandwich-feature-rundown/ |title=A Quick Android 4.0 Ice Cream Sandwich Feature Rundown |publisher=Tech Crunch |first=Chris |last=Velazco |date=October 18, 2011 |access-date=July 24, 2013 |archive-date=July 28, 2013 |archive-url=https://web.archive.org/web/20130728060204/http://techcrunch.com/2011/10/18/a-quick-ice-cream-sandwich-feature-rundown/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.0 Ice Cream Sandwich (API 14)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| October 18, 2011&amp;lt;ref name=&amp;quot;ics-release&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Major refinements to the &amp;quot;Holo&amp;quot; interface with the new [[Roboto]] font family.&lt;br /&gt;
* Soft buttons from Android 3.x are now available for use on phones.&lt;br /&gt;
* Separation of widgets in a new tab, listed in a similar manner to applications.&lt;br /&gt;
* Easier-to-create folders, with a drag-and-drop style.&lt;br /&gt;
* Improved visual voicemail with the ability to speed up or slow down voicemail messages.&lt;br /&gt;
* Pinch-to-zoom functionality in the Calendar.&lt;br /&gt;
* Integrated screenshot capture (accomplished by holding down the Power and Volume-Down buttons).&lt;br /&gt;
* Improved error correction on the keyboard.&lt;br /&gt;
* Ability to access applications directly from the [[lock screen]].&lt;br /&gt;
* Improved copy-and-paste functionality.&lt;br /&gt;
* Better voice integration and continuous, real-time speech-to-text dictation.&lt;br /&gt;
* Face Unlock, a feature that allows users to unlock handsets using [[facial recognition software]].&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* Automatic syncing of browser with users&#039; Chrome bookmarks.&lt;br /&gt;
* Data Usage section in settings that lets users set warnings when they approach a certain usage limit, and disable data use when the limit is exceeded.&lt;br /&gt;
* Ability to shut down applications from the recent apps list with a swipe.&amp;lt;ref&amp;gt;{{cite web |url=http://www.howtogeek.com/169549/what-exactly-happens-when-you-swipe-an-android-app-from-the-recent-apps-list/ |title=What Exactly Happens When You Swipe An Android App From the Recent Apps List? |last=Fitzpatrick |first=Jason |date=August 20, 2013 |publisher=How-To Geek |access-date=September 19, 2014 |archive-date=October 15, 2014 |archive-url=https://web.archive.org/web/20141015200044/http://www.howtogeek.com/169549/what-exactly-happens-when-you-swipe-an-android-app-from-the-recent-apps-list/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved camera application with zero shutter lag, time lapse settings, panorama mode, and the ability to zoom while recording.&lt;br /&gt;
* Built-in photo editor.&lt;br /&gt;
* New gallery layout, organized by location and person.&lt;br /&gt;
* Refreshed the &amp;quot;People&amp;quot; application with social network integration, status updates and hi-res images.&lt;br /&gt;
* [[Android Beam]], a [[near-field communication]] feature allowing the rapid short-range exchange of web bookmarks, contact info, directions, YouTube videos and other data.&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* Support for the [[WebP]] image format.&amp;lt;ref name=&amp;quot;Android-Media-Formats&amp;quot; /&amp;gt;&lt;br /&gt;
* Hardware acceleration of the UI.&amp;lt;ref&amp;gt;{{cite web |url=http://phandroid.com/2011/10/19/android-4-0-ice-cream-sandwich-has-hardware-acceleration/ |title=Android 4.0 Ice Cream Sandwich has Hardware Acceleration |publisher=Phandroid |first=Quentyn |last=Kennemer |date=October 19, 2011 |access-date=October 19, 2011 |archive-date=October 21, 2011 |archive-url=https://web.archive.org/web/20111021022202/http://phandroid.com/2011/10/19/android-4-0-ice-cream-sandwich-has-hardware-acceleration/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Wi-Fi Direct]].&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/guide/topics/connectivity/wifip2p.html |title=Wi-Fi Direct |publisher=Android Developers |access-date=July 27, 2013 |archive-date=August 17, 2013 |archive-url=https://web.archive.org/web/20130817042707/http://developer.android.com/guide/topics/connectivity/wifip2p.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[1080p]] video recording for stock Android devices.&lt;br /&gt;
* Android VPN Framework (AVF), and TUN (but not TAP) kernel module. Prior to 4.0, VPN software required a rooted Android device.&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.1&lt;br /&gt;
| October 19, 2011&lt;br /&gt;
|&lt;br /&gt;
* Fixed minor bugs for the Samsung Galaxy Nexus.&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.2&lt;br /&gt;
| November 28, 2011&lt;br /&gt;
|&lt;br /&gt;
* Fixed minor bugs on the Verizon Galaxy Nexus, the US launch of which was later delayed until December 2011.{{Efn|For Canadian consumers, 4.0.2 reportedly created a bug on the Galaxy Nexus that crashed the application market when users attempted to view details of any Android application. It also inadvertently reduced the [[Near-field communication|NFC]] capabilities of the Nexus phone.&amp;lt;ref&amp;gt;{{cite web |url=http://www.droid-life.com/2011/11/28/verizons-4g-lte-galaxy-nexus-still-in-testing-receives-android-4-0-2-update/ |title=Verizon&#039;s 4G LTE Galaxy Nexus Gets Pictured, Receives Android 4.0.2 Update |publisher=DroidLife |date=November 28, 2011 |access-date=December 8, 2011 |archive-date=December 7, 2011 |archive-url=https://web.archive.org/web/20111207015154/http://www.droid-life.com/2011/11/28/verizons-4g-lte-galaxy-nexus-still-in-testing-receives-android-4-0-2-update/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://www.droid-life.com/2011/12/15/within-2-hours-of-activation-your-galaxy-nexus-will-receive-an-update-here-are-the-details/ |title=Within 2 Hours of Activation, Your Galaxy Nexus Will Receive an Update |publisher=DroidLife |date=December 15, 2011 |access-date=December 15, 2011 |archive-date=December 15, 2011 |archive-url=https://web.archive.org/web/20111215185645/http://www.droid-life.com/2011/12/15/within-2-hours-of-activation-your-galaxy-nexus-will-receive-an-update-here-are-the-details/ |url-status=live }}&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 4.0.3 Ice Cream Sandwich ====&lt;br /&gt;
{{anchor|Android 4.0.3|4.0.3}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.0.3 Ice Cream Sandwich (API 15)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.3&lt;br /&gt;
| December 16, 2011&amp;lt;ref name=ICS16Dec2011&amp;gt;[http://android-developers.blogspot.com/2011/12/android-403-platform-and-updated-sdk.html &amp;quot;Android 4.0.3 Platform and Updated SDK tools&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20140719073950/http://android-developers.blogspot.com/2011/12/android-403-platform-and-updated-sdk.html |date=July 19, 2014 }}. Android Developers Blog. December 16, 2011. Retrieved January 4, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Numerous bug fixes and optimizations.&lt;br /&gt;
* Improvements to graphics, databases, spell-checking and Bluetooth functionality.&lt;br /&gt;
* New APIs for developers, including a social stream API in the Contacts provider.&lt;br /&gt;
* Calendar provider enhancements.&lt;br /&gt;
* New camera applications enhancing video stabilization and [[Quarter Video Graphics Array|QVGA]] resolution.&lt;br /&gt;
* Accessibility refinements such as improved content access for screen readers.&amp;lt;ref&amp;gt;{{cite web |url=https://www.engadget.com/2011/12/16/android-4-0-3-announced-brings-variety-of-optimizations-and-bu/ |title=Android 4.0.3 announced, bringing &#039;variety of optimizations and bug fixes&#039; to phones and tablets |publisher=Engadget |date=December 16, 2011 |access-date=December 17, 2011 |archive-date=January 2, 2013 |archive-url=https://web.archive.org/web/20130102083750/http://www.engadget.com/2011/12/16/android-4-0-3-announced-brings-variety-of-optimizations-and-bu/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4.0.4&lt;br /&gt;
| March 28, 2012&lt;br /&gt;
|&lt;br /&gt;
* Stability improvements.&lt;br /&gt;
* Better camera performance.&lt;br /&gt;
* Smoother screen rotation.&lt;br /&gt;
* Improved phone number recognition.&amp;lt;ref name=ICS29mar2012&amp;gt;[https://plus.google.com/u/0/104629412415657030658/posts/NgGwavbmkQ7 Google announces 4.0.4 on Google+] {{Webarchive|url=https://web.archive.org/web/20120329020144/https://plus.google.com/u/0/104629412415657030658/posts/NgGwavbmkQ7 |date=March 29, 2012 }}. March 28, 2012. Retrieved March 31, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 4.1 Jelly Bean ===&lt;br /&gt;
{{Main|Android Jelly Bean}}&lt;br /&gt;
{{anchor|Jelly Bean|Project Butter|Android 4.1|Android Jelly Bean|4.1}}&lt;br /&gt;
&lt;br /&gt;
Google announced Android 4.1 (Jelly Bean) at the [[Google I/O]] conference on June 27, 2012. Based on Linux kernel 3.0.31, Jelly Bean was an incremental update with the primary aim of improving the functionality and performance of the user interface. The performance improvement involved &amp;quot;Project Butter&amp;quot;, which uses touch anticipation, [[Multiple buffering|triple buffering]], extended [[vsync (computing)|vsync]] timing and a fixed frame rate of 60&amp;amp;nbsp;[[framerate|fps]] to create a fluid and &amp;quot;buttery-smooth&amp;quot; UI.&amp;lt;ref name=&amp;quot;Android-4.1-devs&amp;quot; /&amp;gt; Android 4.1 Jelly Bean was released to the [[Android Open Source Project]] on July 9, 2012,&amp;lt;ref&amp;gt;{{cite web |last=Queru |first=Jean-Baptiste |title=Android 4.1 in AOSP |url=https://groups.google.com/forum/#!topic/android-building/XBYeD-bhk1o |access-date=July 12, 2012 |archive-date=January 22, 2011 |archive-url=http://arquivo.pt/wayback/20110122130054/https://groups.google.com/forum/#!topic/android-building/XBYeD-bhk1o |url-status=live }}&amp;lt;/ref&amp;gt; and the [[Nexus 7 (2012 version)|Nexus 7]] tablet, the first device to run Jelly Bean, was released on July 13, 2012.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.1 Jelly Bean (API 16)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| July 9, 2012&lt;br /&gt;
|&lt;br /&gt;
* Smoother user interface:&lt;br /&gt;
** Vsync timing across all drawing and animation done by the Android framework, including application rendering, touch events, screen composition and display refresh.&lt;br /&gt;
** Triple buffering in the graphics pipeline.&lt;br /&gt;
** CPU input boost.&lt;br /&gt;
** Synchronizing touch to vsync timing.&lt;br /&gt;
* Enhanced [[accessibility]].&lt;br /&gt;
* Bi-directional text and other language support.&lt;br /&gt;
* User-installable keyboard maps.&lt;br /&gt;
* Expandable notifications.&lt;br /&gt;
* TLS v1.1 and v1.2 support added.&lt;br /&gt;
* Ability to turn off notifications on an application-specific basis.&lt;br /&gt;
* Shortcuts and widgets can automatically be re-arranged or re-sized to allow new items to fit on home screens.&lt;br /&gt;
* Bluetooth data transfer for Android Beam.&lt;br /&gt;
* Tablets with smaller screens now use an expanded version of the interface layout and home screen used by phones.&amp;lt;ref name=&amp;quot;android41-differentlayouts&amp;quot;&amp;gt;{{cite news |title=Confirmed: Android 4.1 uses different layouts for different tablet sizes |url=http://blogs.computerworld.com/mobile-and-wireless/20653/android-41-tablet-layout |publisher=ComputerWorld |access-date=July 8, 2012 |archive-url=https://web.archive.org/web/20130119012034/http://blogs.computerworld.com/mobile-and-wireless/20653/android-41-tablet-layout |archive-date=January 19, 2013 |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved camera application.&lt;br /&gt;
* Multichannel audio.&amp;lt;ref name=&amp;quot;Android-4.1-devs&amp;quot;&amp;gt;{{cite web |url=http://developer.android.com/about/versions/jelly-bean.html#media |title=Android 4.1 for Developers |publisher=Android Developers |access-date=February 9, 2013 |archive-date=January 28, 2013 |archive-url=https://web.archive.org/web/20130128204124/http://developer.android.com/about/versions/jelly-bean.html#media |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[Fraunhofer FDK AAC]] codec becomes standard in Android, adding AAC 5.1 channel encoding/decoding.&lt;br /&gt;
* USB audio (for external sound [[Digital-to-analog converter|DACs]]).&amp;lt;ref name=&amp;quot;Android-4.1-devs&amp;quot; /&amp;gt;&lt;br /&gt;
* Audio chaining (also known as [[gapless playback]]).&amp;lt;ref name=&amp;quot;Android-4.1-devs&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=3461 |title=Issue 3461: Implement Gapless Playback of consecutive audio files |access-date=November 12, 2012 |archive-date=May 25, 2013 |archive-url=https://web.archive.org/web/20130525015225/http://code.google.com/p/android/issues/detail?id=3461 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://www.pocketables.com/2012/06/android-4-1-finally-adds-gapless-music-playback-to-stock-music-apps.html |title=Android 4.1 finally adds gapless music playback to stock music apps |publisher=Pocketables.com |date=June 29, 2012 |access-date=June 30, 2012 |archive-date=November 10, 2012 |archive-url=https://web.archive.org/web/20121110090332/http://www.pocketables.com/2012/06/android-4-1-finally-adds-gapless-music-playback-to-stock-music-apps.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Ability for other launchers to add widgets from the application drawer without requiring root access.&lt;br /&gt;
|-&lt;br /&gt;
| 4.1.1&lt;br /&gt;
| July 9, 2012&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.1.1_r1 |title=refs/tags/android-4.1.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141825/https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.1.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixed a bug on the Nexus 7 regarding the inability to change screen orientation in applications.&lt;br /&gt;
|-&lt;br /&gt;
| 4.1.2&lt;br /&gt;
| October 9, 2012&amp;lt;ref name=&amp;quot;Jelly Bean 4.1.2&amp;quot;&amp;gt;[https://www.theverge.com/2012/10/9/3479662/android-4-1-2-coming-to-nexus-7 &amp;quot;Android 4.1.2 rolling out for Nexus 7&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130521093052/http://www.theverge.com/2012/10/9/3479662/android-4-1-2-coming-to-nexus-7 |date=May 21, 2013 }}. &#039;&#039;[[The Verge (website)|The Verge]]&#039;&#039;. October 9, 2012. Retrieved October 9, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Lock/home screen rotation support.&amp;lt;ref&amp;gt;{{cite web |url=http://gigaom.com/mobile/android-4-1-2-brings-home-screen-rotation-to-devices/ |title=Android 4.1.2 brings homescreen rotation to devices |publisher=GigaOM |date=October 9, 2012 |access-date=October 9, 2012 |archive-date=October 11, 2012 |archive-url=https://web.archive.org/web/20121011120521/http://gigaom.com/mobile/android-4-1-2-brings-home-screen-rotation-to-devices/ |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* One-finger gestures to expand/collapse notifications.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2012/10/09/new-in-android-4-1-2-expandingcollapsing-notifications-with-one-finger-video/ |title=New Feature In Android 4.1.2: Expanding/Collapsing Notifications With One Finger (Video) |publisher=Android Police |date=October 9, 2012 |access-date=October 9, 2012 |archive-date=October 11, 2012 |archive-url=https://web.archive.org/web/20121011072628/http://www.androidpolice.com/2012/10/09/new-in-android-4-1-2-expandingcollapsing-notifications-with-one-finger-video/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Bug fixes and performance enhancements.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 4.2 Jelly Bean ====&lt;br /&gt;
{{anchor|Android 4.2|4.2}}&lt;br /&gt;
&lt;br /&gt;
Google was expected to announce Jelly Bean 4.2 at an event in [[New York City]] on October 29, 2012, but the event was cancelled due to [[Hurricane Sandy]].&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidcentral.com/monday-s-google-event-nyc-cancelled-due-hurricane-sandy |title=Monday&#039;s Google event in NYC canceled due to Hurricane Sandy |publisher=Android Central |date=October 27, 2012 |access-date=February 19, 2014 |archive-date=September 26, 2013 |archive-url=https://web.archive.org/web/20130926100214/http://www.androidcentral.com/monday-s-google-event-nyc-cancelled-due-hurricane-sandy |url-status=live }}&amp;lt;/ref&amp;gt; Instead of rescheduling the live event, Google announced the new version with a press release, under the slogan &amp;quot;A new flavor of Jelly Bean&amp;quot;. Jelly Bean 4.2 was based on Linux kernel 3.4.0, and debuted on Google&#039;s [[Nexus 4]] and [[Nexus 10]], which were released on November 13, 2012.&amp;lt;ref name=&amp;quot;New4.2And&amp;quot;&amp;gt;{{cite web |url=http://www.knowyourmobile.com/blog/1678521/android_42_jelly_bean_lands_on_nexus_7.html |title=Android 4.2 Jelly Bean lands on Nexus 7 |publisher=Know Your Mobile |date=November 14, 2012 |access-date=November 14, 2012 |archive-url=https://web.archive.org/web/20121117002507/http://www.knowyourmobile.com/blog/1678521/android_42_jelly_bean_lands_on_nexus_7.html |archive-date=November 17, 2012 |url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite news |url=https://uk.ign.com/articles/2012/11/14/google-releases-nexus-4-nexus-10-and-android-42 |title=Google Releases Nexus 4, Nexus 10 and Android 4.2 |publisher=IGN |date=November 13, 2012 |access-date=November 16, 2012 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141827/https://www.ign.com/articles/2012/11/14/google-releases-nexus-4-nexus-10-and-android-42 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.2 Jelly Bean (API 17)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| November 13, 2012&amp;lt;ref name=&amp;quot;Jelly Bean 4.2&amp;quot;&amp;gt;[https://www.theverge.com/2012/10/29/3569244/android-4-2-new-features-miracast-gesture-keyboard-multiple-users-photo-sphere &amp;quot;Android 4.2 adds gestue typing, wireless TV display, multiple user support on tablets, and more&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20240114141804/https://www.theverge.com/2012/10/29/3569244/android-4-2-new-features-miracast-gesture-keyboard-multiple-users-photo-sphere |date=January 14, 2024 }}. &#039;&#039;[[The Verge (website)|The Verge]]&#039;&#039;. October 29, 2012. Retrieved October 29, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[Lock screen]] improvements, including widget support (removed again in 2014)&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt; and the ability to swipe directly to the camera.&amp;lt;ref&amp;gt;[http://www.techradar.com/news/phone-and-communications/mobile-phones/android-4-2-jelly-bean-brings-all-new-photography-powers-1108294 &amp;quot;Android 4.2 Jelly Bean brings all-new photography powers&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20121030113843/http://www.techradar.com/news/phone-and-communications/mobile-phones/android-4-2-jelly-bean-brings-all-new-photography-powers-1108294 |date=October 30, 2012 }}. TechRadar.com. October 29, 2012. Retrieved November 12, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Notification power controls (&amp;quot;Quick Settings&amp;quot;).&lt;br /&gt;
* &amp;quot;Daydream&amp;quot; [[screensaver]]s, showing information when idle or docked (later renamed to &amp;quot;screen saver&amp;quot; following the launch of the unrelated [[Google Daydream]] VR platform in 2016).&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* Multiple user accounts (tablets only).&lt;br /&gt;
* Rewritten [[Bluetooth stack]], switching from [[Bluez]] to [[Broadcom]] open source [[BlueDroid]],&amp;lt;ref name=&amp;quot;anand1&amp;quot;&amp;gt;{{cite web |url=http://www.anandtech.com/show/6965/the-next-version-of-android-some-of-whats-coming |title=The Next Version of Android – Some of What&#039;s Coming |website=anandtech.com |first=Brian |last=Klug |date=May 19, 2013 |access-date=October 28, 2014 |archive-date=October 6, 2014 |archive-url=https://web.archive.org/web/20141006122815/http://www.anandtech.com/show/6965/the-next-version-of-android-some-of-whats-coming |url-status=live }}&amp;lt;/ref&amp;gt; allowing improved support for multiple displays and wireless display ([[Miracast]]).&lt;br /&gt;
* Native [[right-to-left]], always-on [[Virtual Private Network|VPN]] and application verification.&amp;lt;ref name=&amp;quot;aosp-jb1&amp;quot;&amp;gt;{{cite web |title=Jelly Bean |url=http://developer.android.com/about/versions/jelly-bean.html |website=Android developer portal |access-date=July 2, 2014 |archive-date=January 28, 2013 |archive-url=https://web.archive.org/web/20130128204124/http://developer.android.com/about/versions/jelly-bean.html |url-status=live }}&amp;lt;/ref&amp;gt; A new [[Near field communication|NFC]] stack was added at the same time.&amp;lt;ref name=&amp;quot;anand1&amp;quot; /&amp;gt;&lt;br /&gt;
* Accessibility improvements: triple-tap to magnify the entire screen, pan and zoom with two fingers. Speech output and Gesture Mode navigation for blind users.&lt;br /&gt;
* New clock application with a built-in world clock, stop watch and timer.&lt;br /&gt;
* All devices now use the same interface layout, previously adapted from phones on 4.1 for smaller tablets (with centered software buttons, the system bar at the top of the screen, and a home screen with a dock and centered application menu), regardless of screen size.&lt;br /&gt;
* Increased number of extended notifications and Actionable Notifications for more applications, allowing users to respond to certain notifications within the notification bar and without launching the application directly.&lt;br /&gt;
* [[SELinux]] support.&lt;br /&gt;
* Premium [[SMS]] confirmation.&amp;lt;ref name=&amp;quot;Android Police 4.2 Alpha Teardown&amp;quot;&amp;gt;[http://www.androidpolice.com/2012/10/17/exclusive-android-4-2-alpha-teardown-part-2-selinux-vpn-lockdown-and-premium-sms-confirmation/ &amp;quot;Exclusive Android 4.2 Alpha Teardown, Part 2: SELinux, VPN Lockdown, And Premium SMS Confirmation&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20121021032403/http://www.androidpolice.com/2012/10/17/exclusive-android-4-2-alpha-teardown-part-2-selinux-vpn-lockdown-and-premium-sms-confirmation/ |date=October 21, 2012 }}. Android Police. October 17, 2012. Retrieved November 12, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Group Messaging support.&lt;br /&gt;
* Developer options hidden in settings and can be displayed after tapping the Build number 7 times on About phone.&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.1&lt;br /&gt;
| November 27, 2012&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.2.1_r1 |title=refs/tags/android-4.2.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141830/https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.2.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Jelly Bean 4.2.1&amp;quot;&amp;gt;[http://www.androidpolice.com/2012/11/27/changelog-whats-new-in-android-4-2-1-jop40d/ &amp;quot;(Changelog) What&#039;s New In Android 4.2.1 (JOP40D)&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20121130085348/http://www.androidpolice.com/2012/11/27/changelog-whats-new-in-android-4-2-1-jop40d/ |date=November 30, 2012 }}. Android Police. November 27, 2012. Retrieved November 27, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixed a bug in the People application where December was not displayed on the date selector when adding an event to a contact.&amp;lt;ref name=&amp;quot;December bug&amp;quot;&amp;gt;[http://www.androidpolice.com/2012/11/17/sorry-santa-google-cancels-december-in-android-4-2/ &amp;quot;Sorry, Santa – Google Cancels December In Android 4.2&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20121121185515/http://www.androidpolice.com/2012/11/17/sorry-santa-google-cancels-december-in-android-4-2/ |date=November 21, 2012 }}. Android Police. November 17, 2012. Retrieved November 27, 2012.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added Bluetooth gamepads and joysticks as supported [[Human interface device|HIDs]] (Human interface devices).&lt;br /&gt;
|-&lt;br /&gt;
| 4.2.2&lt;br /&gt;
| February 11, 2013&amp;lt;ref name=&amp;quot;Jelly Bean 4.2.2&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/02/11/breaking-android-4-2-2-build-jdq39-update-rolling-out-to-gsm-galaxy-nexus-nexus-7-nexus-10/ &amp;quot;Breaking: Android 4.2.2 (Build JDQ39) Update Rolling Out To GSM Galaxy Nexus, Nexus 7, Nexus 10&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130215033526/http://www.androidpolice.com/2013/02/11/breaking-android-4-2-2-build-jdq39-update-rolling-out-to-gsm-galaxy-nexus-nexus-7-nexus-10/ |date=February 15, 2013 }}. Android Police. February 11, 2013. Retrieved February 12, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixed Bluetooth audio streaming bugs.&amp;lt;ref&amp;gt;{{cite news |url=https://arstechnica.com/gadgets/2013/02/android-4-2-2-brings-bluetooth-audio-fixes-to-nexus-phones-and-tablets/ |title=Android 4.2.2 brings Bluetooth audio fixes to Nexus phones and tablets |publisher=Ars Technica |date=February 12, 2013 |access-date=February 12, 2013 |archive-date=February 12, 2013 |archive-url=https://web.archive.org/web/20130212200213/http://arstechnica.com/gadgets/2013/02/android-4-2-2-brings-bluetooth-audio-fixes-to-nexus-phones-and-tablets/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Long-pressing the Wi-Fi and Bluetooth icons in Quick Settings now toggles the on/off state.&lt;br /&gt;
* New download notifications, which now show the percentage and estimated time remaining for active application downloads.&lt;br /&gt;
* New sounds for wireless charging and low battery.&lt;br /&gt;
* New Gallery application animation allows faster loading.&lt;br /&gt;
* USB debug whitelist.&lt;br /&gt;
* Bug fixes and performance enhancements.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 4.3 Jelly Bean ====&lt;br /&gt;
{{anchor|Android 4.3|4.3}}&lt;br /&gt;
&lt;br /&gt;
Google released Jelly Bean 4.3 under the slogan &amp;quot;An even sweeter Jelly Bean&amp;quot; on July 24, 2013, during an event in [[San Francisco]] called &amp;quot;Breakfast with [[Sundar Pichai]]&amp;quot;. Most Nexus devices received the update within a week, although the [[Nexus 7 (2nd generation)|second-generation Nexus 7]] tablet was the first device to officially ship with it.&amp;lt;ref name=TomsJuly2013&amp;gt;{{cite web |url=http://www.tomshardware.com/news/Android-4.3-Update-Roll-out-Release-Nexus,23671.html |title=Google Announces Android 4.3, Update Rolling Out Today |publisher=Tom&#039;s Hardware |date=July 24, 2013 |access-date=July 25, 2013 |archive-date=October 3, 2023 |archive-url=https://web.archive.org/web/20231003112436/https://www.tomshardware.com/news/Android-4.3-Update-Roll-out-Release-Nexus,23671.html |url-status=live }}&amp;lt;/ref&amp;gt; A minor bug fix update was released on August 22, 2013.&amp;lt;ref&amp;gt;{{cite news |url=https://www.engadget.com/2013/08/22/aosp-latest-4-3-fixes/ |title=Android Open Source Project now has latest 4.3 fixes for most Nexus hardware |publisher=[[Engadget]] |date=August 22, 2013 |access-date=August 22, 2013 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114141808/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2013-08-22-aosp-latest-4-3-fixes.html%26tbla_id%3D447fb467-8d25-454f-82ad-98780acfec34-tuctc9d729f%26gam_id%3Dy-eqLeIpRE2uJ.vUrah5ms6o3fu9Z8svld%7EA%26axids%3Dgam%3Dy-eqLeIpRE2uJ.vUrah5ms6o3fu9Z8svld%7EA%26dv360%3DeS1iUmlHeE1kRTJ1R2NTSG5tYkhzRnVrU0g3emw0eTEwbX5B%26ydsp%3Dy-SJLpaihE2uLvwgj5B5tUS9dk0wj2wjfR%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.3 Jelly Bean (API 18)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| July 24, 2013&amp;lt;ref name=&amp;quot;Jelly Bean 4.3&amp;quot;&amp;gt;[https://www.theverge.com/2013/7/24/4550234/android-4-3-announcement &amp;quot;Android 4.3 announced, rolling out to Nexus devices today&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20230929173309/https://www.theverge.com/2013/7/24/4550234/android-4-3-announcement |date=September 29, 2023 }}. &#039;&#039;[[The Verge (website)|The Verge]]&#039;&#039;. July 24, 2013. Retrieved July 24, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[Bluetooth Low Energy]] support.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot;&amp;gt;[http://officialandroid.blogspot.com/2013/07/introducing-android-43-sweeter-jelly.html &amp;quot;Introducing Android 4.3, a sweeter Jelly Bean&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130730233815/http://officialandroid.blogspot.com/2013/07/introducing-android-43-sweeter-jelly.html |date=July 30, 2013 }}. Official Android Blog. July 24, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[AVRCP|Bluetooth Audio/Video Remote Control Profile (AVRCP) 1.3]] support.&lt;br /&gt;
* [[OpenGL ES#OpenGL ES 3.0|OpenGL ES 3.0]] support, allowing improved game graphics.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot; /&amp;gt;&lt;br /&gt;
* Restricted access mode for new user profiles.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot; /&amp;gt;&lt;br /&gt;
* Filesystem performance improvement by running the [[Trim (computing)|fstrim]] command while a device is idle.&amp;lt;ref name=&amp;quot;EngdtTRIM&amp;quot;&amp;gt;[https://www.engadget.com/2013/07/30/android-4-3-supports-trim-improves-performance-on-nexus-devices/ &amp;quot;Android 4.3 supports TRIM, improves performance on Nexus devices&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20240114141809/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2013-07-30-android-4-3-supports-trim-improves-performance-on-nexus-devices.html%26tbla_id%3Dd275f044-f810-4e4e-b4b0-2dc43cb31d45-tuctc9d72a0%26gam_id%3Dy-xD8ykKpE2uLB04V0irxMKnP08zDBz2ql%7EA%26axids%3Dgam%3Dy-xD8ykKpE2uLB04V0irxMKnP08zDBz2ql%7EA%26dv360%3DeS1tVkZ1LjBWRTJ1RUVpdnJON3h0aEQwTVFoNXdxbUVSc35B%26ydsp%3Dy-nSbl59VE2uIt3s8z8x8Yh7ewOVW.GSw_%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |date=January 14, 2024 }}. Engadget. July 30, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Dial pad auto-complete in the Phone application.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot; /&amp;gt;&lt;br /&gt;
* Volume for incoming calls (ringtone) and notification alerts is no longer adjustable separately.&lt;br /&gt;
* Improvements to Photo Sphere.&amp;lt;ref name=&amp;quot;APPhotosphere&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/07/25/another-android-4-3-change-photo-spheres-look-a-lot-better-now/ &amp;quot;Another Android 4.3 Change: Photo Spheres Look A Lot Better Now&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130728065835/http://www.androidpolice.com/2013/07/25/another-android-4-3-change-photo-spheres-look-a-lot-better-now/ |date=July 28, 2013 }}. Android Police. July 25, 2013. Retrieved July 28, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Reworked camera UI, previously introduced on Google Play edition phones.&amp;lt;ref name=&amp;quot;4.3Camera&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/05/24/android-4-3-and-updated-camera-ui-spotted-on-a-nexus-4-at-thailand-mobile-expo/ &amp;quot;Android 4.3 And Updated Camera UI Spotted On A Nexus 4 At Thailand Mobile Expo&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130728012100/http://www.androidpolice.com/2013/05/24/android-4-3-and-updated-camera-ui-spotted-on-a-nexus-4-at-thailand-mobile-expo/ |date=July 28, 2013 }}. Android Police. May 24, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Addition of &amp;quot;[[App Ops]]&amp;quot;, a fine-grained application permissions control system (hidden by default).&amp;lt;ref name=&amp;quot;AppOps&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/07/25/app-ops-android-4-3s-hidden-app-permission-manager-control-permissions-for-individual-apps/ &amp;quot;App Ops: Android 4.3&#039;s Hidden App Permission Manager, Control Permissions For Individual Apps!&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130728063247/http://www.androidpolice.com/2013/07/25/app-ops-android-4-3s-hidden-app-permission-manager-control-permissions-for-individual-apps/ |date=July 28, 2013 }}. Android Police. July 25, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[SELinux]] enabled by default.&lt;br /&gt;
* [[4K resolution]] support.&amp;lt;ref name=&amp;quot;Engdt4K&amp;quot;&amp;gt;[https://www.engadget.com/2013/07/26/android-4-3-source-reveals-support-for-4k-resolution/ &amp;quot;Android 4.3 source code reveals support for 4K resolution&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20240114141812/https://tag.idsync.analytics.yahoo.com/sp-frame.html?referrer=https%3A//opus.analytics.yahoo.com/tag/opus-frame.html%3Freferrer%3Dhttps%3A//www.engadget.com/2013-07-26-android-4-3-source-reveals-support-for-4k-resolution.html%26tbla_id%3Dc2fda73b-cf47-40e0-9d41-1f4193094d43-tuctc9d72a0%26gam_id%3Dy-8cQTXVlE2uI7XqkakHI8b97yxunxa7_H%7EA%26axids%3Dgam%3Dy-8cQTXVlE2uI7XqkakHI8b97yxunxa7_H%7EA%26dv360%3DeS0yT0hfV1ExRTJ1R19JT2Q2bVpBT2NTX2lEM3JMb2htM35B%26ydsp%3Dy-PNeWeWBE2uIf8ODb9T71tFdeHqMq1QZY%7EA%26gdpr%3Dfalse%26gdpr_consent%3D%26gpp%3DDBABBg%7EBVoIgACA.QA%26gpp_sid%3D8%26us_privacy%3D1YNN%26reset_idsync%3D1 |date=January 14, 2024 }}. Engadget. July 26, 2013. Retrieved July 30, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Numerous security updates, performance enhancements, and bug fixes.&amp;lt;ref name=&amp;quot;AP4.3&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/07/24/a-n-in-depth-look-at-the-big-and-small-additions-to-android-jelly-bean-4-3/ &amp;quot;An In-Depth Look At The Big (And Small) Additions To Android Jelly Bean 4.3&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20130726112508/http://www.androidpolice.com/2013/07/24/a-n-in-depth-look-at-the-big-and-small-additions-to-android-jelly-bean-4-3/ |date=July 26, 2013 }}. Android Police. July 24, 2013. Retrieved July 25, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* System-level support for [[geo-fence|geofencing]] and Wi-Fi scanning APIs.&lt;br /&gt;
* Background Wi-Fi location still runs even when Wi-Fi is turned off.&lt;br /&gt;
* Developer logging and analyzing enhancements.&lt;br /&gt;
* Added support for five more languages.&lt;br /&gt;
* Changed [[digital rights management]] (DRM) APIs.&lt;br /&gt;
* [[Right-to-left]] (RTL) languages now supported.&amp;lt;ref name=&amp;quot;OfficialAndroidBlog4.3&amp;quot; /&amp;gt;&lt;br /&gt;
* Clock in the status bar disappears if it is selected as a lockscreen widget.&lt;br /&gt;
* Native [[emoji]] support.&amp;lt;ref name=&amp;quot;CNet_4.3&amp;quot;&amp;gt;{{cite web |url=https://www.cnet.com/products/google-android-4-3-jelly-bean/ |title=Google Android 4.3 Jelly Bean Release Date, Price and Specs – CNET |author=Jaymar Cabebe |date=July 25, 2013 |publisher=CBS Interactive |work=CNET |access-date=February 21, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142319/https://www.cnet.com/reviews/google-android-4-3-jelly-bean-preview/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4.3.1&lt;br /&gt;
| October 3, 2013&amp;lt;ref name=&amp;quot;Jelly Bean 4.3.1&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/10/03/suddenly-a-wild-android-4-3-1-appears-lte-nexus-7-receiving-android-4-3-1-ota-jls36i/ &amp;quot;Suddenly, A Wild Android 4.3.1 Appears – LTE Nexus 7 Receiving Android 4.3.1 OTA (JLS36I)&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20131004055112/http://www.androidpolice.com/2013/10/03/suddenly-a-wild-android-4-3-1-appears-lte-nexus-7-receiving-android-4-3-1-ota-jls36i/ |date=October 4, 2013 }}. Android Police. October 3, 2013. Retrieved October 4, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Bug fixes and small tweaks for the Nexus 7 LTE.&amp;lt;ref name=&amp;quot;4.3.1changelog&amp;quot;&amp;gt;[http://www.androidpolice.com/2013/10/08/factory-image-and-binaries-are-now-available-for-the-nexus-7-lte-android-4-3-1-update-jls36i/ &amp;quot;Factory Image And Binaries Are Now Available For The Nexus 7 LTE Android 4.3.1 Update (JLS36I)&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20131009005051/http://www.androidpolice.com/2013/10/08/factory-image-and-binaries-are-now-available-for-the-nexus-7-lte-android-4-3-1-update-jls36i/ |date=October 9, 2013 }}. Android Police. October 8, 2013. Retrieved October 9, 2013.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 4.4 KitKat ===&lt;br /&gt;
{{Main|Android KitKat}}&lt;br /&gt;
{{anchor|KitKat|Android 4.4|Android KitKat|Key Lime Pie|4.4}}&lt;br /&gt;
&lt;br /&gt;
Google announced Android 4.4 [[Kit Kat|KitKat]] on September 3, 2013. Although initially under the &amp;quot;Key Lime Pie&amp;quot; (&amp;quot;KLP&amp;quot;) codename, the name was changed because &amp;quot;very few people actually know the taste of a [[key lime pie]].&amp;quot;&amp;lt;ref name=KitkatBBC&amp;gt;{{cite news |last=Kelion |first=Leo |title=Android KitKat announced |url=https://www.bbc.co.uk/news/technology-23926938 |access-date=September 3, 2013 |work=BBC News |date=September 3, 2013 |archive-date=September 4, 2013 |archive-url=https://web.archive.org/web/20130904070600/http://www.bbc.co.uk/news/technology-23926938 |url-status=live }}&amp;lt;/ref&amp;gt; Some technology bloggers also expected the &amp;quot;Key Lime Pie&amp;quot; release to be Android 5.&amp;lt;ref&amp;gt;{{cite news |publisher=TechRadar |url=https://www.techradar.com/us/news/phone-and-communications/mobile-phones/android-5-0-key-lime-pie-release-date-news-and-rumours-1091500 |title=Android 5.0 Key Lime Pie release date, news and rumors |date=July 2, 2013 |access-date=July 22, 2013 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142313/https://www.techradar.com/ |url-status=live }}&amp;lt;/ref&amp;gt; KitKat debuted on Google&#039;s [[Nexus 5]] on October 31, 2013, and was optimized to run on a greater range of devices than earlier Android versions, having 512&amp;amp;nbsp;MB of RAM as a recommended minimum; those improvements were known as &amp;quot;Project Svelte&amp;quot; internally at Google.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;&amp;gt;{{cite news |last=Molen |first=Brad |title=Engadget review the Nexus 5 |url=https://www.engadget.com/2013/11/05/nexus-5-review/ |publisher=Engadget |date=November 5, 2013 |access-date=November 11, 2013 |archive-date=November 9, 2013 |archive-url=https://web.archive.org/web/20131109020218/http://www.engadget.com/2013/11/05/nexus-5-review/ |url-status=live }}&amp;lt;/ref&amp;gt; The required minimum amount of RAM available to Android is 340&amp;amp;nbsp;MB, and all devices with less than 512&amp;amp;nbsp;MB of RAM must report themselves as &amp;quot;low RAM&amp;quot; devices.&amp;lt;ref name=&amp;quot;cdd-4.4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.4 KitKat (API 19)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.4&lt;br /&gt;
| October 31, 2013&amp;lt;ref name=&amp;quot;Android 4.4 KitKat&amp;quot;&amp;gt;[http://googleblog.blogspot.com/2013/10/android-for-all-and-new-nexus-5.html &amp;quot;Android for all and the new Nexus 5 &amp;quot;] {{Webarchive|url=https://web.archive.org/web/20131031201143/http://googleblog.blogspot.com/2013/10/android-for-all-and-new-nexus-5.html |date=October 31, 2013 }}. Google Official Blog. October 31, 2013. Retrieved November 1, 2013.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;androiddev-44&amp;quot;&amp;gt;{{cite web |title=Android KitKat |url=http://developer.android.com/about/versions/kitkat.html |work=Android Developers Portal |access-date=November 1, 2013 |archive-date=October 31, 2013 |archive-url=https://web.archive.org/web/20131031184317/https://developer.android.com/about/versions/kitkat.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Refreshed interface with white elements instead of blue.&lt;br /&gt;
* Clock no longer shows bold hours; all digits are thin. The H, M, and S markings for the stopwatch and timer have been removed, leaving just the numbers.&lt;br /&gt;
* Ability for applications to trigger translucency in the navigation and status bars.&amp;lt;ref name=&amp;quot;verge-n5handson&amp;quot;&amp;gt;{{cite news |title=Google&#039;s Nexus 5 with KitKat available today, starting at $349: hands-on impressions |url=https://www.theverge.com/2013/10/31/5049068/googles-nexus-5-with-android-kit-kat-available-today-starting-349 |work=The Verge |author=Bonn, Dieter |date=October 31, 2013 |access-date=November 1, 2013 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142414/https://www.theverge.com/2013/10/31/5049068/googles-nexus-5-with-android-kit-kat-available-today-starting-349 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Ability for applications to use &amp;quot;immersive mode&amp;quot; to keep the navigation and status bars hidden while maintaining user interaction.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2013/10/31/kitkat-feature-spotlight-apps-can-now-go-truly-full-screen-hide-the-navigation-bar/ |title=KitKat Feature Spotlight: Apps Can Now Go Truly Full-Screen, Hide The Navigation Bar |date=October 31, 2013 |access-date=November 3, 2013 |author=David Ruddock |publisher=androidpolice.com |archive-date=November 3, 2013 |archive-url=https://web.archive.org/web/20131103011505/http://www.androidpolice.com/2013/10/31/kitkat-feature-spotlight-apps-can-now-go-truly-full-screen-hide-the-navigation-bar/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Action overflow menu buttons are always visible, even on devices with a &amp;quot;Menu&amp;quot; key, which was officially deprecated by Android 4.0.&amp;lt;ref name=&amp;quot;phonearena-overflowgone&amp;quot;&amp;gt;{{cite web |title=Android menu button now on by default on all device with KitKat |url=http://www.phonearena.com/news/Android-menu-button-now-on-by-default-on-all-device-with-KitKat_id50179 |publisher=PhoneArena.com |date=December 9, 2013 |access-date=February 9, 2014 |archive-date=December 13, 2013 |archive-url=https://web.archive.org/web/20131213081334/http://www.phonearena.com/news/Android-menu-button-now-on-by-default-on-all-device-with-KitKat_id50179 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Write access disabled for user-installed applications on external storage (i.e. [[MicroSD]]), except for their own directories inside &amp;lt;code&amp;gt;Android/data&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://www.androidauthority.com/fix-kitkat-sdcard-issue-app-sdfix-358844/ &#039;&#039;&amp;quot;Got the KitKat SD card blues? Solve the problem with SDFix (root required)&amp;quot;&#039;&#039;] {{Webarchive|url=https://web.archive.org/web/20210808155150/https://www.androidauthority.com/fix-kitkat-sdcard-issue-app-sdfix-358844/ |date=August 8, 2021 }} – Android Authority, March 18, 2014 (article includes details of restriction)&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;4.4storage&amp;quot;&amp;gt;{{Cite web |url=https://source.android.com/devices/storage/ |title=External Storage &amp;amp;#124; Android Developers |date=May 9, 2015|archive-url=https://web.archive.org/web/20150509021632/https://source.android.com/devices/storage/|archive-date=May 9, 2015}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Purging of app data directories in user storage (internal user storage and MicroSD) upon uninstallation&amp;lt;ref name=&amp;quot;4.4storage&amp;quot;/&amp;gt;&lt;br /&gt;
* Optimizations for performance on devices with lower specifications, including [[zram|zRAM]] support and &amp;quot;low RAM&amp;quot; device API.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* Wireless printing capability.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* NFC [[host card emulation]], enabling a device to replace [[smart card]]s.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* WebViews are now based on the [[Chromium (web browser)|Chromium]] engine (feature parity with [[Google Chrome for Android|Chrome for Android]] 30).&lt;br /&gt;
* Expanded functionality for notification listener services.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* Public API for developing and managing [[Short Message Service|text messaging]] clients.&amp;lt;ref name=&amp;quot;adb-kitkatsms&amp;quot;&amp;gt;{{cite web |title=Getting Your SMS Apps Ready for KitKat |url=http://android-developers.blogspot.co.uk/2013/10/getting-your-sms-apps-ready-for-kitkat.html |work=Android Developers Blog |access-date=October 14, 2013 |archive-date=October 15, 2013 |archive-url=https://web.archive.org/web/20131015024734/http://android-developers.blogspot.co.uk/2013/10/getting-your-sms-apps-ready-for-kitkat.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Storage Access Framework, an API allowing apps to retrieve files in a consistent manner. As part of the framework, a new system file picker allows users to access files from various sources (including those exposed by apps, such as online storage services).&amp;lt;ref name=&amp;quot;anandtech-sdkitkat&amp;quot;/&amp;gt;&lt;br /&gt;
* New framework for UI transitions.&lt;br /&gt;
* Sensor batching, step detector and counter APIs.&amp;lt;ref name=&amp;quot;Nexus 5 review&amp;quot;/&amp;gt;&lt;br /&gt;
* Settings application now makes it possible to select default text messaging and the home (launcher) application.&lt;br /&gt;
* Audio tunneling, audio monitoring and loudness enhancer.&amp;lt;ref&amp;gt;{{cite web |url=http://www.phonearena.com/news/Android-4.4-brings-support-for-low-power-audio-playback_id48948 |title=Android 4.4 brings support for low-power audio playback |publisher=PhoneArena.com |date=October 31, 2013 |access-date=February 25, 2014 |archive-date=November 10, 2013 |archive-url=https://web.archive.org/web/20131110130344/http://www.phonearena.com/news/Android-4.4-brings-support-for-low-power-audio-playback_id48948 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Built-in screen recording feature (primarily for developers, as usage of [[Android Debug Bridge|ADB]] is required).&amp;lt;ref&amp;gt;{{cite web |url=http://howto.cnet.com/8301-11310_39-57610905-285/how-to-record-your-screen-on-android-4.4-kitkat/ |title=How to record your screen on Android 4.4 KitKat |date=November 5, 2013 |access-date=January 4, 2014 |author=Jason Cipriani |publisher=CBS Interactive |work=CNET |archive-date=January 4, 2014 |archive-url=https://web.archive.org/web/20140104222416/http://howto.cnet.com/8301-11310_39-57610905-285/how-to-record-your-screen-on-android-4.4-kitkat/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Native [[infrared blaster]] API.&lt;br /&gt;
* Verified boot.&lt;br /&gt;
* Enforcing [[SELinux]].&lt;br /&gt;
* Expanded accessibility APIs and system-level [[closed captioning]] settings.&lt;br /&gt;
* [[Android Runtime]] (ART) introduced as a new experimental application [[runtime environment]], not enabled by default, as a replacement for the [[Dalvik (software)|Dalvik]] virtual machine.&amp;lt;ref&amp;gt;{{cite web |url=https://source.android.com/devices/tech/dalvik/index.html |title=Android Developers: ART and Dalvik |date=March 9, 2015 |access-date=March 19, 2015 |website=source.android.com |archive-date=March 15, 2015 |archive-url=https://web.archive.org/web/20150315163429/http://source.android.com/devices/tech/dalvik/index.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Message Access Profile|Bluetooth Message Access Profile]] (MAP) support.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2013/10/31/kitkat-feature-spotlight-android-finally-supports-bluetooth-map-will-make-bluetooth-integration-with-your-car-suck-a-lot-less/ |title=KitKat Feature Spotlight: Android Finally Supports Bluetooth MAP, Will Make Bluetooth Integration With Your Car Suck A Lot Less |author=David Ruddock |date=October 31, 2013 |access-date=November 2, 2013 |publisher=Android Police |archive-date=November 2, 2013 |archive-url=https://web.archive.org/web/20131102201043/http://www.androidpolice.com/2013/10/31/kitkat-feature-spotlight-android-finally-supports-bluetooth-map-will-make-bluetooth-integration-with-your-car-suck-a-lot-less/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Disabled access to battery statistics by third-party applications.&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=61975 |title=Android Issue 61975: Undo removal of access to BATTERY_STATS permission for apps |date=November 2013 |access-date=January 29, 2014 |archive-date=December 10, 2013 |archive-url=https://web.archive.org/web/20131210214042/https://code.google.com/p/android/issues/detail?id=61975 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Settings application no longer uses a multi-pane layout on devices with larger screens.&lt;br /&gt;
* Wi-Fi and mobile data activity (TX/RX) indicators are moved to quick settings.&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=61834 |title=Android Issue 61834: 4.4 KitKat reception/Wifi indicators no longer show data rx/tx during operation |date=November 2013 |access-date=February 20, 2014 |archive-date=April 13, 2014 |archive-url=https://web.archive.org/web/20140413183216/https://code.google.com/p/android/issues/detail?id=61834 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Disables text wrapping in the WebView browser component.&amp;lt;ref&amp;gt;{{cite web |url=https://code.google.com/p/android/issues/detail?id=62378 |title=Android Issue 62378: KitKat WebView text wrap no longer works |website=code.google.com |access-date=October 28, 2014 |archive-date=October 21, 2014 |archive-url=https://web.archive.org/web/20141021095502/https://code.google.com/p/android/issues/detail?id=62378 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4.4.1&lt;br /&gt;
| December 5, 2013&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.4.1_r1 |title=refs/tags/android-4.4.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142414/https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.4.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://plus.google.com/+Nexus/posts/YW8sTPpVN8W |title=Android 4.4.1 Released to Nexus 5 |date=December 5, 2013 |access-date=December 5, 2013 |publisher=Google Plus |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142322/https://workspaceupdates.googleblog.com/2023/04/new-community-features-for-google-chat-and-an-update-currents%20.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Better application compatibility for the experimental Android Runtime (ART).&lt;br /&gt;
* Camera application now loads Google+ Photos instead of Gallery when swiping away from the camera view.&lt;br /&gt;
* Miscellaneous improvements and bug fixes.&lt;br /&gt;
|-&lt;br /&gt;
| 4.4.2&lt;br /&gt;
| December 9, 2013&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2013/12/09/android-4-4-2-kot49h-is-already-rolling-out-to-nexus-devices-here-are-the-ota-zip-links-for-manual-updating/ |title=Android 4.4.2 (KOT49H) Is Already Rolling Out To All Nexus Devices – Here Are The OTA ZIP Links For Manual Updating |date=December 9, 2013 |access-date=December 9, 2013 |author=Artem Russakovskii |publisher=Android Police |archive-date=December 10, 2013 |archive-url=https://web.archive.org/web/20131210035532/http://www.androidpolice.com/2013/12/09/android-4-4-2-kot49h-is-already-rolling-out-to-nexus-devices-here-are-the-ota-zip-links-for-manual-updating/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Further security enhancements and bug fixes.&lt;br /&gt;
* Removal of the &amp;quot;[[App Ops]]&amp;quot; application permissions control system, introduced in Android 4.3.&amp;lt;ref&amp;gt;{{cite web |url=https://www.eff.org/deeplinks/2013/12/google-removes-vital-privacy-features-android-shortly-after-adding-them |title=Google Removes Vital Privacy Feature From Android, Claiming Its Release Was Accidental |date=December 12, 2013 |access-date=December 14, 2013 |author=Peter Eckersley |publisher=Electronic Frontier Foundation |archive-date=December 13, 2013 |archive-url=https://web.archive.org/web/20131213220101/https://www.eff.org/deeplinks/2013/12/google-removes-vital-privacy-features-android-shortly-after-adding-them |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 4.4.3&lt;br /&gt;
| June 2, 2014&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.4.3_r1 |title=refs/tags/android-4.4.3_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142335/https://android.googlesource.com/platform/system/core/+/refs/tags/android-4.4.3_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://arstechnica.com/gadgets/2014/06/google-releases-android-4-4-3-to-nexus-devices/ |title=Google releases Android 4.4.3 to Nexus devices |date=June 2, 2014 |access-date=June 2, 2014 |author=Ron Amadeo |publisher=Ars Technica |archive-date=June 3, 2014 |archive-url=https://web.archive.org/web/20140603165300/http://arstechnica.com/gadgets/2014/06/google-releases-android-4-4-3-to-nexus-devices/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Refreshed the Dialer app&#039;s interface.&amp;lt;ref&amp;gt;{{cite web |url=http://www.droid-life.com/2014/06/02/fresh-new-dialer-arrives-in-android-4-4-3/ |title=Fresh New Dialer Arrives in Android 4.4.3 |date=June 2, 2014 |access-date=June 2, 2014 |author=Kellex |publisher=Droid Life |archive-date=June 6, 2014 |archive-url=https://web.archive.org/web/20140606052307/http://www.droid-life.com/2014/06/02/fresh-new-dialer-arrives-in-android-4-4-3/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated the Chromium-based WebView to version 33 (screencasting to DevTools, HTML5 Canvas hardware acceleration performance improvements, vibration API, HTML5 form validation, and an HTML5 datalist).&amp;lt;ref&amp;gt;{{cite web |url=https://plus.google.com/+AndroidDevelopers/posts/EfKRBGm19dT |title=Android 4.4.3 aka KitKat MR2 is rolling out – Google+ |date=June 3, 2014 |access-date=June 4, 2014 |author=Android Developers |publisher=Android Developers (Google+) |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142315/https://workspaceupdates.googleblog.com/2023/04/new-community-features-for-google-chat-and-an-update-currents%20.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Miscellaneous improvements and bug fixes.&lt;br /&gt;
|-&lt;br /&gt;
| 4.4.4&lt;br /&gt;
| June 19, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.droid-life.com/2014/06/19/whoa-android-4-4-4-factory-images-posted-as-build-kut84p/ |title=Whoa: Android 4.4.4 Factory Images Posted as Build KTU84P |date=June 19, 2014 |access-date=June 19, 2014 |author=Kellex |publisher=Droid Life |archive-date=June 21, 2014 |archive-url=https://web.archive.org/web/20140621023430/http://www.droid-life.com/2014/06/19/whoa-android-4-4-4-factory-images-posted-as-build-kut84p/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[CVE-2014-0224]] fixed, eliminating an [[OpenSSL]] [[man-in-the-middle attack|man-in-the-middle]] vulnerability.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/06/19/google-rolling-out-android-4-4-4-update-ktu84p-with-a-security-fix-factory-imagesbinaries-up-for-nexus-devices/ |title=Google Rolling Out Android 4.4.4 Update (KTU84P) With A Security Fix, Factory Images/Binaries Up For Nexus Devices |date=June 19, 2014 |access-date=June 25, 2014 |author=Ryan Whitwam |publisher=androidpolice.com |archive-date=June 25, 2014 |archive-url=https://web.archive.org/web/20140625085901/http://www.androidpolice.com/2014/06/19/google-rolling-out-android-4-4-4-update-ktu84p-with-a-security-fix-factory-imagesbinaries-up-for-nexus-devices/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 4.4W KitKat, with wearable extensions ====&lt;br /&gt;
{{Main|Wear OS}}&lt;br /&gt;
{{anchor|Android 4.4W|4.4W}}&lt;br /&gt;
&lt;br /&gt;
On June 24, 2014, a version of Android KitKat exclusive to Android Wear devices was released.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 4.4W KitKat, with wearable extensions (API 20)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 4.4W&amp;lt;ref name=&amp;quot;Wear source code&amp;quot;&amp;gt;{{cite web |last1=Rob |first1=Triggs |title=Google uploads part of the Android Wear source code to AOSP |date=July 22, 2014 |url=http://www.androidauthority.com/android-wear-source-code-aosp-408276/ |publisher=Android Authority |access-date=July 22, 2014 |archive-date=July 26, 2014 |archive-url=https://web.archive.org/web/20140726221313/http://www.androidauthority.com/android-wear-source-code-aosp-408276/ |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| June 25, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidauthority.com/android-wear-io-official-397096/ |title=Android Wear platform fully unveiled at I/O 2014 |author=Andrew Grush |publisher=Android Authority |date=September 6, 2014 |access-date=January 25, 2015 |archive-date=March 23, 2015 |archive-url=https://web.archive.org/web/20150323025103/http://www.androidauthority.com/android-wear-io-official-397096/ |url-status=dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Initial release of the Android Wear platform for [[smartwatch]]es: the same as Android 4.4 &amp;quot;KitKat&amp;quot;, but with wearable extensions added.&lt;br /&gt;
|-&lt;br /&gt;
| 4.4W.1&lt;br /&gt;
| September 6, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/09/09/samsung-gear-live-updated-to-android-wear-4-4-w-1-build-kgw42n-heres-whats-new/ |title=Samsung Gear Live Updated To Android Wear 4.4W.1 Build KGW42N: Here&#039;s What&#039;s New |date=September 6, 2014 |access-date=January 25, 2015 |author=Michael Crider |publisher=Android Police |archive-date=January 19, 2015 |archive-url=https://web.archive.org/web/20150119203934/http://www.androidpolice.com/2014/09/09/samsung-gear-live-updated-to-android-wear-4-4-w-1-build-kgw42n-heres-whats-new/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* UI updates for Google Maps navigation and alarms.&lt;br /&gt;
|-&lt;br /&gt;
| 4.4W.2&lt;br /&gt;
| October 21, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/10/21/android-wear-4-4w-2-build-knx01q-starts-rolling-lg-g-watch-brings-offline-music-gps-support-though-cant-use-latter/ |title=Android Wear 4.4W.2 Build KNX01Q Starts Rolling Out For The LG G Watch, Brings Offline Music And GPS Support (Though You Can&#039;t Use The Latter) |date=October 21, 2014 |access-date=January 25, 2015 |author=Rita El Khoury |publisher=Android Police |archive-date=January 7, 2015 |archive-url=https://web.archive.org/web/20150107131422/http://www.androidpolice.com/2014/10/21/android-wear-4-4w-2-build-knx01q-starts-rolling-lg-g-watch-brings-offline-music-gps-support-though-cant-use-latter/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Offline music playback.&lt;br /&gt;
* GPS support.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 5.0 Lollipop ===&lt;br /&gt;
{{Main|Android Lollipop}}&lt;br /&gt;
{{anchor|Lollipop|5.0|Android 5.0|Android 5|Android Lollipop}}&lt;br /&gt;
&lt;br /&gt;
Android 5.0 &amp;quot;Lollipop&amp;quot; was unveiled under the codename &amp;quot;Android L&amp;quot; on June 25, 2014, during [[Google I/O]]. It became available as an official [[Over-the-air programming|over-the-air]] (OTA) update on November 12, 2014, for select devices that run distributions of Android serviced by Google, including [[Google Nexus|Nexus]] and [[Google Play edition]] devices. Its source code was made available on November 3, 2014.&amp;lt;ref name=PCWorldJun2014&amp;gt;{{cite web |title=From Android L to Google Fit: All the new products and features from Google I/O |url=http://www.pcworld.com/article/2367746/from-android-l-to-google-fit-all-the-announcements-from-google-i/from-android-l-to-google-fit-all-t.html |publisher=PC World |date=June 25, 2014|access-date=June 26, 2014|archive-date=June 26, 2014|archive-url=https://web.archive.org/web/20140626183451/http://www.pcworld.com/article/2367746/from-android-l-to-google-fit-all-the-announcements-from-google-i/from-android-l-to-google-fit-all-t.html|url-status=dead}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Updated Android Lollipop Developer Preview image coming to Nexus devices in a couple of days |url=http://www.phonearena.com/news/Updated-Android-Lollipop-Developer-Preview-image-coming-to-Nexus-devices-in-a-couple-of-days_id61780 |publisher=PhoneArena.com |date=October 15, 2014 |access-date=October 16, 2014 |archive-date=October 18, 2014 |archive-url=https://web.archive.org/web/20141018090820/http://www.phonearena.com/news/Updated-Android-Lollipop-Developer-Preview-image-coming-to-Nexus-devices-in-a-couple-of-days_id61780 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lollipop features a redesigned user interface built around a responsive [[design language]] referred to as &amp;quot;[[material design]]&amp;quot;. Other changes include improvements to the notifications, which can be accessed from the lockscreen and displayed within applications as top-of-the-screen banners. Furthermore, Google made internal changes to the platform, with the [[Android Runtime]] (ART) officially replacing [[Dalvik virtual machine|Dalvik]] for improved application performance, and with changes intended to improve and optimize battery usage, known internally as [[Project Volta]].&amp;lt;ref&amp;gt;{{cite web |title=Google&#039;s new &#039;Material Design&#039; UI coming to Android, Chrome OS and the web |url=https://www.engadget.com/2014/06/25/googles-new-design-language-is-called-material-design/ |website=Engadget |date=June 25, 2014 |access-date=June 26, 2014 |archive-date=August 16, 2016 |archive-url=https://web.archive.org/web/20160816150431/https://www.engadget.com/2014/06/25/googles-new-design-language-is-called-material-design/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=We just played with Android&#039;s L Developer Preview |url=https://www.engadget.com/2014/06/26/android-developer-preview-hands-on/ |website=Engadget |date=June 26, 2014 |publisher=AOL |access-date=June 26, 2014 |archive-date=June 26, 2014 |archive-url=https://web.archive.org/web/20140626162710/http://www.engadget.com/2014/06/26/android-developer-preview-hands-on/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Google Reveals Details About Android L at Google IO |url=http://www.anandtech.com/show/8207/google-reveals-details-about-android-l-at-google-io |website=Anandtech |access-date=June 26, 2014 |archive-date=June 28, 2014 |archive-url=https://web.archive.org/web/20140628013652/http://anandtech.com/show/8207/google-reveals-details-about-android-l-at-google-io |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=A Closer Look at Android RunTime (ART) in Android L |url=http://anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-l/ |date=July 1, 2014 |access-date=July 5, 2014 |author=Andrei Frumusanu |work=AnandTech |archive-date=July 5, 2014 |archive-url=https://web.archive.org/web/20140705022457/http://anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-l |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 5.0 Lollipop (API 21)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 5.0&amp;lt;ref name = &amp;quot;Api level 21-22&amp;quot;&amp;gt;{{cite web |url=https://developer.android.com/about/versions/android-5.0.html |title=Android 5.0 APIs |publisher=Android.com |access-date=October 28, 2014 |archive-date=October 27, 2014 |archive-url=https://web.archive.org/web/20141027235642/http://developer.android.com/about/versions/android-5.0.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| November 4, 2014&amp;lt;ref name=&amp;quot;android.googlesource.com&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[Android Runtime]] (ART) with [[Ahead-of-time compilation|ahead-of-time (AOT) compilation]] and improved [[Garbage collection (computer science)|garbage collection]] (GC), replacing [[Dalvik (software)|Dalvik]] that combines bytecode [[Interpreter (computing)|interpretation]] with [[Tracing just-in-time compilation|trace-based just-in-time (JIT) compilation]].&amp;lt;ref name=&amp;quot;Api level 21-22&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=http://www.android-app-developer.co.uk/android-app-development-docs/android-jit-compiler-androids-dalvik-vm.pdf |title=A JIT Compiler for Android&#039;s Dalvik VM |date=May 2010 |access-date   = March 19, 2015 |author1=Ben Cheng |author2=Bill Buzbee |website=android-app-developer.co.uk |pages=5–14 |archive-url  = https://web.archive.org/web/20151106221110/http://www.android-app-developer.co.uk/android-app-development-docs/android-jit-compiler-androids-dalvik-vm.pdf |archive-date = November 6, 2015|url-status     = dead }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Support for [[64-bit computing|64-bit]] CPUs.&lt;br /&gt;
* [[OpenGL ES]]&amp;amp;nbsp;3.1 and Android Extension Pack (AEP) on supported GPU configurations.&lt;br /&gt;
* Recent activities screen with tasks instead of applications, up to a configured maximum of tasks per application.&lt;br /&gt;
* [[Vector graphics|Vector drawables]], which scale without losing definition.&lt;br /&gt;
* Support for print previews.&lt;br /&gt;
* [[Material design]], bringing a restyled user interface and &#039;&#039;&amp;quot;ripple effect&amp;quot;&#039;&#039; for buttons.&lt;br /&gt;
* Refreshed lock screen, no longer supporting widgets.&amp;lt;ref&amp;gt;[http://www.pocketables.com/2014/06/exploring-android-l-lockscreen-widgets-also-bite-dust.html &amp;quot;Exploring Android L: Lockscreen widgets also bite the dust&amp;quot;] {{Webarchive|url=https://web.archive.org/web/20150514110831/http://www.pocketables.com/2014/06/exploring-android-l-lockscreen-widgets-also-bite-dust.html |date=May 14, 2015 }}. Pocketables.com. June 2014. Retrieved January 25, 2015.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Refreshed notification tray and quick settings pull-down.&lt;br /&gt;
* [[Project Volta]], for battery life improvements.&lt;br /&gt;
* Searches can be performed within the system settings for quicker access to particular settings.&lt;br /&gt;
* Lock screen provides shortcuts to application and notification settings.&amp;lt;ref name=IndiaTimes&amp;gt;{{cite web |url=http://timesofindia.indiatimes.com/tech/slideshow/android-5-0-lollipop-16-new-features/itslideshowviewall/45298613.cms |title=Android 5.0 Lollipop&#039;s new features |date=November 27, 2014 |access-date=December 23, 2014 |work=India Times |archive-date=December 3, 2014 |archive-url=https://web.archive.org/web/20141203042421/http://timesofindia.indiatimes.com/tech/slideshow/android-5-0-lollipop-16-new-features/itslideshowviewall/45298613.cms |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Guest logins and multiple user accounts are available on more devices, such as phones.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidcentral.com/lollipop-brings-proper-multi-user-accounts-your-phone |title=Lollipop brings proper multi-user accounts to your phone |publisher=Android Central |access-date=January 25, 2015 |date=October 17, 2014 |archive-date=February 4, 2015 |archive-url=https://web.archive.org/web/20150204065643/http://www.androidcentral.com/lollipop-brings-proper-multi-user-accounts-your-phone |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Audio input and output through USB devices.&lt;br /&gt;
* Third-party applications regain the ability to read and modify data located anywhere on external storage, such as on [[SD card]]s. However, those must be adapted to the storage access framework of Android API level 21 or higher.&amp;lt;ref name=&amp;quot;android-police01&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/11/04/android-5-0-makes-sd-cards-great-again-extends-api-to-allow-full-directory-access-automatic-mediastore-and-improves-security/ |title=Android 5.0 Makes SD Cards Great Again, Extends API To Allow Full Directory Access, Automatic MediaStore, And Improves Security |publisher=Android Police |author=Cody Toombs |date=November 4, 2014 |access-date=November 29, 2014 |archive-date=December 6, 2014 |archive-url=https://web.archive.org/web/20141206131506/http://www.androidpolice.com/2014/11/04/android-5-0-makes-sd-cards-great-again-extends-api-to-allow-full-directory-access-automatic-mediastore-and-improves-security/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;android-police02&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/11/27/root-explorer-3-3-update-adds-sd-card-write-capability-without-root-in-lollipop/ |title=Root Explorer 3.3 Update Adds SD Card Write Capability Without Root In Lollipop |author=Michael Crider |publisher=Android Police |date=November 27, 2014 |access-date=November 29, 2014 |archive-date=November 29, 2014 |archive-url=https://web.archive.org/web/20141129151433/http://www.androidpolice.com/2014/11/27/root-explorer-3-3-update-adds-sd-card-write-capability-without-root-in-lollipop/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Pinning of an application&#039;s screen for restricted user activity.&amp;lt;ref name=IndiaTimes /&amp;gt;&lt;br /&gt;
* Recently used applications are remembered even after restarting the device.&amp;lt;ref name=IndiaTimes /&amp;gt;&lt;br /&gt;
* WebViews receive updates independently through [[Google Play]] for security reasons, instead of relying on system-wide vendor updates.&amp;lt;ref&amp;gt;{{cite web |url=https://www.zdnet.com/article/lollipop-stops-chromium-bugs-from-endangering-android/ |title=Lollipop stops Chromium bugs from endangering Android |date=October 24, 2014 |work=ZDNet |access-date=October 28, 2014 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142416/https://www.zdnet.com/article/lollipop-stops-chromium-bugs-from-endangering-android/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Addition of 15 new languages: Basque, Bengali, Burmese, Chinese (Hong Kong), Galician, Icelandic, Kannada, Kyrgyz, Macedonian, Malayalam, Marathi, Nepali, Sinhala, Tamil and Telugu.&amp;lt;ref name=AndroidLollipop&amp;gt;{{cite web |url=http://www.android.com/versions/lollipop-5-0/ |title=Android – 5.0 Lollipop |date=November 3, 2014 |access-date=November 28, 2014 |publisher=Android.com |archive-date=November 25, 2014 |archive-url=https://web.archive.org/web/20141125175546/https://android.com/versions/lollipop-5-0/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;Tap and Go&#039;&#039; allows users to quickly migrate to a new Android device, using NFC and Bluetooth to transfer Google Account details, configuration settings, user data and installed applications.&amp;lt;ref name=IndiaTimes /&amp;gt;&lt;br /&gt;
* A flashlight-style application is included, working on supported devices with a camera flash.&amp;lt;ref name=IndiaTimes /&amp;gt;&lt;br /&gt;
* User-customizable priorities for application notifications.&amp;lt;ref name=&amp;quot;CNET-priority&amp;quot;&amp;gt;{{cite web |url=https://www.cnet.com/uk/how-to/setup-interruptions-android-lollipop-do-not-disturb/ |title=Set up &#039;Priority&#039; mode on Android 5.0 Lollipop |author=Jason Cipriani |publisher=CNET |date=November 3, 2014|access-date=December 23, 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Smart lock feature.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidcentral.com/smart-lock-screen-security-options-android-50-lollipop |title=Smart lock screen security options in Android 5.0 Lollipop |date=November 12, 2015 |access-date=March 15, 2015 |archive-date=March 10, 2015 |archive-url=https://web.archive.org/web/20150310235133/http://www.androidcentral.com/smart-lock-screen-security-options-android-50-lollipop |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[SELinux]] in enforcing mode for all domains.&lt;br /&gt;
* Updated emoji.&amp;lt;ref name=&amp;quot;emojipedia-50&amp;quot;&amp;gt;{{cite web |title=Android 5.0 Emoji Changelog |url=http://blog.emojipedia.org/android-50-emoji-changelog/ |website=Emojipedia |access-date=February 2, 2017 |date=November 26, 2014 |archive-date=January 16, 2017 |archive-url=https://web.archive.org/web/20170116211447/http://blog.emojipedia.org/android-50-emoji-changelog/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved [[accessibility]] support (e.g. [[switch access]] support).&amp;lt;ref name=&amp;quot;androidcentral1&amp;quot;&amp;gt;{{cite web |url=http://www.androidcentral.com/accessibility-features-android-50-lollipop |title=Accessibility features in Android 5.0 Lollipop |publisher=Android Central |date=October 25, 2014 |access-date=January 30, 2016 |archive-date=January 26, 2016 |archive-url=https://web.archive.org/web/20160126063234/http://www.androidcentral.com/accessibility-features-android-50-lollipop |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Block-based over-the-air (OTA) updates for new devices.&amp;lt;ref&amp;gt;{{cite web |url=https://source.android.com/devices/tech/ota/block.html |title=Block-Based OTAs &amp;amp;#124; Android Open Source Project |publisher=Android Source |access-date=January 30, 2016 |archive-date=March 10, 2016 |archive-url=https://web.archive.org/web/20160310191906/http://source.android.com/devices/tech/ota/block.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Task listing access disabled for third-party applications.&lt;br /&gt;
|-&lt;br /&gt;
| 5.0.1&lt;br /&gt;
| December 2, 2014&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2014/12/02/android-5-0-1-lrx22c-hitting-aosp-now/ |title=Android 5.0.1 (LRX22C) Hitting AOSP Now (Update: Factory Images Too) |date=December 2, 2014 |access-date=December 3, 2014 |author=Liam Spradlin |publisher=Android Police |archive-date=December 4, 2014 |archive-url=https://web.archive.org/web/20141204004048/http://www.androidpolice.com/2014/12/02/android-5-0-1-lrx22c-hitting-aosp-now/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* A few bug fixes, including resolving issues with video playback and password failures handling.&lt;br /&gt;
|-&lt;br /&gt;
| 5.0.2&lt;br /&gt;
| December 19, 2014&amp;lt;ref name=&amp;quot;FactoryImages&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Fixes a bug with [[Trim (computing)|TRIM]] support (introduced in Version 4.3), which prevented devices from running on-charger cleanups of file system allocations if the device was turned off at midnight, or if it was charged only when in use.&amp;lt;ref&amp;gt;{{cite web |url=https://android.googlesource.com/platform/frameworks/base/+/4f868ed |title=Commit 4f868ed to platform/frameworks/base |last=Tate |first=Christopher |date=November 21, 2014 |website=Android Git Repositories |access-date=December 27, 2017 |quote=The current heuristics depend on devices being alive at midnight+ in order to run periodic background fstrim operations...If the device goes a defined time without a background fstrim, we [now] force the fstrim at the next reboot. Once the device hits the midnight+ idle fstrim request time, then we already aggressively attempt to fstrim at the first available moment thereafter...&#039;Available&#039; here means charging + device idle. |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142908/https://android.googlesource.com/platform/frameworks/base/+/4f868ed |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changes how alarms wake the CPU, and how alarms compete for system resources.&amp;lt;ref&amp;gt;{{cite web |url=http://pocketnow.com/2014/12/22/android-5-0-2-changes |title=What&#039;s actually new in Android 5.0.2? |date=December 22, 2014 |access-date=January 6, 2015 |author=Stephen Schenck |publisher=PocketNow.com |archive-date=January 6, 2015 |archive-url=https://web.archive.org/web/20150106071243/http://pocketnow.com/2014/12/22/android-5-0-2-changes |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 5.1 Lollipop ====&lt;br /&gt;
{{anchor|Android 5.1|5.1}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 5.1 Lollipop (API 22)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 5.1&lt;br /&gt;
| March 2, 2015&amp;lt;ref name=&amp;quot;ReferenceB&amp;quot;/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Improvements and bug fixes to the Overview screen.&lt;br /&gt;
* Ability to join Wi-Fi networks and control paired Bluetooth devices from quick settings.&lt;br /&gt;
* Official support for [[Dual SIM|multiple SIM cards]].&amp;lt;ref name=&amp;quot;venturebeat-20150309&amp;quot;&amp;gt;{{cite web |url=https://venturebeat.com/2015/03/09/google-confirms-android-5-1-is-landing-on-all-compatible-devices-from-today/ |title=Google confirms Android 5.1 is rolling out today, will support multi-SIM devices and HD calls |work=VentureBeat |date=March 9, 2015 |access-date=April 24, 2015 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142908/https://venturebeat.com/ai/beyond-transactions-reimagining-banking-with-superior-digital-customer-journeys/infinite/injection_js/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Anti-theft system|Device protection]]: if a device is lost or stolen it will remain locked until the owner signs into their Google account, even if the device is reset to factory settings.&lt;br /&gt;
* [[Wideband audio|High-definition voice calls]], available between compatible 4G LTE devices running Android 5.1.&amp;lt;ref name=&amp;quot;venturebeat-20150309&amp;quot; /&amp;gt;&lt;br /&gt;
* Improvements to the notification priority system, to more closely replicate the [[silent mode]] that was removed from Android&amp;amp;nbsp;5.0.&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpit.com/android-5-1-lollipop-silent-mode |title=Android 5.1 reinstates Silent Mode, but there&#039;s a catch |work=AndroidPIT |access-date=March 27, 2015 |archive-date=April 2, 2015 |archive-url=https://web.archive.org/web/20150402181504/http://www.androidpit.com/android-5-1-lollipop-silent-mode |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 5.1.1&lt;br /&gt;
| April 20, 2015&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.1.1_r1 |title=refs/tags/android-5.1.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142928/https://android.googlesource.com/platform/system/core/+/refs/tags/android-5.1.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;phandroid-5.1.1&amp;quot;&amp;gt;{{cite web |title=Android 5.1.1 (LMY47V) officially uploaded to AOSP and here&#039;s the full changelog, Nexus Player factory images also available |date=April 21, 2015 |url=http://phandroid.com/2015/04/21/android-5-1-1-lmy47v-aosp-changelog-nexus-player-factory-images/ |access-date=May 1, 2015 |archive-date=April 28, 2015 |archive-url=https://web.archive.org/web/20150428075015/http://phandroid.com/2015/04/21/android-5-1-1-lmy47v-aosp-changelog-nexus-player-factory-images/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Various bug fixes&amp;lt;ref name=&amp;quot;phandroid-5.1.1&amp;quot; /&amp;gt;&lt;br /&gt;
* Native [[Generic Access Network|Wi-Fi calling]] support.&amp;lt;ref&amp;gt;{{cite web |first=Jack |last=Jennings |url=http://www.xda-developers.com/google-open-source-code-for-wi-fi-calling/ |title=Google Open Source Code for Wi-Fi Calling |publisher=XDA |date=June 26, 2015 |access-date=November 2, 2015 |archive-date=November 16, 2015 |archive-url=https://web.archive.org/web/20151116115614/http://www.xda-developers.com/google-open-source-code-for-wi-fi-calling/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 6.0 Marshmallow ===&lt;br /&gt;
{{Main|Android Marshmallow}}&lt;br /&gt;
{{anchor|Marshmallow|Android 6|6|Android 6.0|6.0|Android Marshmallow}}&lt;br /&gt;
&lt;br /&gt;
Android 6.0 &amp;quot;Marshmallow&amp;quot; was unveiled under the codename &amp;quot;Android&amp;amp;nbsp;M&amp;quot; during [[Google I/O]] on May 28, 2015, for the [[Nexus&amp;amp;nbsp;5]] and [[Nexus&amp;amp;nbsp;6]] phones, [[Nexus&amp;amp;nbsp;9]] tablet, and [[Nexus Player]] set-top box, under the build number MPZ44Q.&amp;lt;ref&amp;gt;{{cite web |title=Google&#039;s Android&amp;amp;nbsp;M preview build will run on the Nexus 5, 6, 9, and Player [Updated] |url=https://arstechnica.com/gadgets/2015/05/googles-android-m-preview-build-will-run-on-the-nexus-5-6-9-and-player/ |website=[[Ars Technica]] |date=May 28, 2015 |publisher=Condé Nast |access-date=May 28, 2015 |archive-date=May 29, 2015 |archive-url=https://web.archive.org/web/20150529043650/http://arstechnica.com/gadgets/2015/05/googles-android-m-preview-build-will-run-on-the-nexus-5-6-9-and-player/ |url-status=live }}&amp;lt;/ref&amp;gt; The third developer preview (MPA44G) was released on August 17, 2015, for the Nexus&amp;amp;nbsp;5, Nexus&amp;amp;nbsp;6, Nexus&amp;amp;nbsp;9 and Nexus Player devices,&amp;lt;ref&amp;gt;{{cite web |url=https://developer.android.com/preview/download.html |title=Downloads Android Developers |date=August 17, 2015 |access-date=October 13, 2015 |archive-date=August 17, 2015 |archive-url=https://web.archive.org/web/20150817224047/http://developer.android.com/preview/download.html |url-status=live }}&amp;lt;/ref&amp;gt; and was updated to MPA44I that brought fixes related to [[Android for Work]] profiles.&amp;lt;ref&amp;gt;{{cite web|title = Support and Release Notes {{!}} Android Developers|url = https://developer.android.com/preview/support.html|website = developer.android.com|access-date = August 22, 2015|archive-date = August 11, 2015|archive-url = https://web.archive.org/web/20150811015125/http://developer.android.com/preview/support.html|url-status = live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 6.0 Marshmallow (API 23)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 6.0&lt;br /&gt;
| September 29, 2015&amp;lt;ref name=&amp;quot;ReferenceC&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Get ready for the sweet taste of Android 6.0 Marshmallow |url=http://officialandroid.blogspot.com/2015/10/get-ready-for-sweet-taste-of-android-60.html |publisher=Android Developers |access-date=October 6, 2015 |archive-date=October 6, 2015 |archive-url=https://web.archive.org/web/20151006000054/http://officialandroid.blogspot.com/2015/10/get-ready-for-sweet-taste-of-android-60.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Precluded rudimentary [[file manager]] (package name: &amp;lt;code&amp;gt;com.android.documentsui&amp;lt;/code&amp;gt;), accessible from storage settings.&amp;lt;ref&amp;gt;{{cite web |last1=Mediati |first1=Nick |title=How to get to Android Marshmallow&#039;s hidden file manager |url=https://www.greenbot.com/article/2996030/how-to-get-to-android-marshmallows-hidden-file-manager.html |website=Greenbot |language=en |date=October 22, 2015 |access-date=February 12, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142829/https://www.greenbot.com/article/2996030/how-to-get-to-android-marshmallows-hidden-file-manager.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Memory card]] mounted to &amp;lt;code&amp;gt;/storage/????-????/&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;/storage/extSdCard/&amp;lt;/code&amp;gt;, with a hexadecimal [[volume serial number]] in place of the [[Wildcard character|wildcard]] question marks.&amp;lt;ref&amp;gt;{{Cite web |url=https://customer.precisely.com/s/article/How-to-configure-settings-for-maps-on-Android-6-SD-cards-in-ConfirmConnect?language=en_US |title=Customer Community |access-date=April 16, 2021 |archive-date=April 16, 2021 |archive-url=https://web.archive.org/web/20210416212913/https://customer.precisely.com/s/article/How-to-configure-settings-for-maps-on-Android-6-SD-cards-in-ConfirmConnect?language=en_US |url-status=dead}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Contextual search from keywords within apps.&amp;lt;ref&amp;gt;{{Cite web |url=https://www.theverge.com/2015/5/28/8681875/now-on-tap-is-the-coolest-android-feature-google-io |title=Now on Tap is the coolest Android feature in a long time |first=Dieter |last=Bohn |date=May 28, 2015 |website=The Verge |access-date=August 29, 2017 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142906/https://www.theverge.com/2015/5/28/8681875/now-on-tap-is-the-coolest-android-feature-google-io |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Introduction of Doze mode, which reduces CPU speed while the screen is off in order to save battery life.&amp;lt;ref&amp;gt;{{cite web |title=Android Doze |url=http://developer.android.com/training/monitoring-device-state/doze-standby.html |access-date=October 13, 2015 |archive-date=March 4, 2023 |archive-url=https://web.archive.org/web/20230304134852/https://developer.android.com/training/monitoring-device-state/doze-standby.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* App Standby feature.&lt;br /&gt;
* Alphabetically accessible vertical application drawer.&amp;lt;ref&amp;gt;{{cite web |title=Android vertical app drawer |url=https://www.android.com/intl/en_in/versions/marshmallow-6-0 |access-date=October 13, 2015 |archive-date=October 15, 2015 |archive-url=https://web.archive.org/web/20151015192909/https://www.android.com/intl/en_in/versions/marshmallow-6-0/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Application search bar and favorites.&lt;br /&gt;
* Native fingerprint reader support.&lt;br /&gt;
* Direct Share feature for target-specific sharing between apps.&amp;lt;ref&amp;gt;{{cite web |title=Android 6.0 APIs – Android Developers |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#direct-share |access-date=October 20, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#direct-share |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Renamed &amp;quot;Priority&amp;quot; mode to &amp;quot;Do Not Disturb&amp;quot; mode.&lt;br /&gt;
* App Linking for faster instinctive opening of links with corresponding applications.&amp;lt;ref&amp;gt;{{cite web |title=Handling App Links |url=http://developer.android.com/training/app-links/index.html |website=developer.android.com |access-date=November 29, 2015 |archive-date=November 24, 2015 |archive-url=https://web.archive.org/web/20151124045813/http://developer.android.com/training/app-links/index.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=App Linking in Android 6.0 |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#app-linking |website=developer.android.com |access-date=November 29, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#app-linking |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Larger Application folders with multiple pages.&lt;br /&gt;
* Post-install/run-time permission requests.&lt;br /&gt;
* [[USB-C]] support.&lt;br /&gt;
* Demo Mode feature for screenshot-capture usage.&amp;lt;ref&amp;gt;{{cite web |title=Use Android 6.0&#039;s Hidden System UI Tuner to Customize Your Quick Settings and Status Bar |date=February 3, 2022 |url=http://www.howtogeek.com/231078/use-android-6.0%E2%80%99s-hidden-system-ui-tuner-to-customize-your-quick-settings-and-status-bar/ |access-date=October 20, 2015 |archive-date=February 24, 2017 |archive-url=https://web.archive.org/web/20170224155656/https://www.howtogeek.com/231078/use-android-6.0%E2%80%99s-hidden-system-ui-tuner-to-customize-your-quick-settings-and-status-bar/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Automatic full data backup and restore for apps.&amp;lt;ref&amp;gt;{{cite web |title=Android 6.0 APIs – Android Developers |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#backup |access-date=October 20, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#backup |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 4K display mode for apps.&amp;lt;ref&amp;gt;{{cite web |title=Android 6.0 APIs – Android Developers |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#4K-display |access-date=October 20, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#4K-display |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Adoptable External storage to behave like Internal Storage.&amp;lt;ref&amp;gt;{{cite web |title=Android 6.0 APIs – Android Developers |url=http://developer.android.com/about/versions/marshmallow/android-6.0.html#adoptable-storage |access-date=October 20, 2015 |archive-date=October 7, 2015 |archive-url=https://web.archive.org/web/20151007210901/http://developer.android.com/about/versions/marshmallow/android-6.0.html#adoptable-storage |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://www.androidcentral.com/adoptable-storage |title=Everything you need to know about your SD card and Adoptable storage |date=April 7, 2017 |access-date=June 2, 2018 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142932/https://www.androidcentral.com/adoptable-storage |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[MIDI]] support for musical instruments.&amp;lt;ref&amp;gt;{{cite web |title=MIDI – Android Open Source Project |url=https://source.android.com/devices/audio/midi.html |access-date=October 20, 2015 |archive-date=September 26, 2015 |archive-url=https://web.archive.org/web/20150926143719/http://source.android.com/devices/audio/midi.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Experimental multi-window feature.&amp;lt;ref&amp;gt;{{cite web |title=How to Unlock the Hidden Multi-Window Mode in Android 6.0 Marshmallow |date=October 16, 2015 |url=http://android.wonderhowto.com/how-to/unlock-hidden-multi-window-mode-android-6-0-marshmallow-0165402/ |access-date=October 20, 2015 |archive-date=October 19, 2015 |archive-url=https://web.archive.org/web/20151019233847/http://android.wonderhowto.com/how-to/unlock-hidden-multi-window-mode-android-6-0-marshmallow-0165402/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Enable Multi-Window mode in Android 6.0 Marshmallow with a bit of tinkering |date=October 6, 2015 |url=http://www.androidauthority.com/multi-window-mode-android-6-0-marshmallow-647230/ |access-date=October 20, 2015 |archive-date=October 23, 2015 |archive-url=https://web.archive.org/web/20151023093409/http://www.androidauthority.com/multi-window-mode-android-6-0-marshmallow-647230 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Support for actions by third-party apps in the text selection menu.&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;/&amp;gt;&lt;br /&gt;
* App permissions now granted individually at run-time, not all-or-nothing at install time. Similar to [[App Ops]].&amp;lt;ref&amp;gt;{{cite web |url=http://developer.android.com/training/permissions/requesting.html |title=Request App Permissions &amp;amp;nbsp;-&amp;amp;nbsp; Android Developers |website=Android Developers |access-date=April 28, 2016 |archive-date=May 5, 2016 |archive-url=https://web.archive.org/web/20160505063403/http://developer.android.com/training/permissions/requesting.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Miracast support dropped.&amp;lt;ref name=&amp;quot;CWnostalgia&amp;quot;&amp;gt;{{Cite news |url=https://www.computerworld.com/article/3239864/android/android-nostalgia-old-features.html |title=Android nostalgia: 13 once-trumpeted features that quietly faded away |last=Raphael |first=JR |date=December 5, 2017 |work=Computerworld |access-date=December 6, 2017 |language=en |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142934/https://www.computerworld.com/article/3239864/android-features-faded.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Many new essential commands supported by Android&#039;s [[Linux shell]] &#039;&#039;(/bin/sh)&#039;&#039;.&lt;br /&gt;
* No screen rotation during touch.&lt;br /&gt;
|-&lt;br /&gt;
| 6.0.1&lt;br /&gt;
| December 7, 2015&amp;lt;ref name=&amp;quot;android-6-0-1-gadgetzarena&amp;quot;&amp;gt;{{cite web |title=Google releases Android 6.0.1 Factory Images for Nexus 6P/6, Nexus 5X/5, Nexus Player, Nexus 9 And Nexus 7 [2013] |url=http://www.gadgetzarena.com/news/google-releases-android-6-0-1-factory-images-nexus-6p6-nexus-5x5-nexus-player-nexus-9-nexus-7-2013 |website=GadgetzArena |date=December 7, 2015 |access-date=March 10, 2016 |archive-date=January 21, 2016 |archive-url=https://web.archive.org/web/20160121153839/http://www.gadgetzarena.com/news/google-releases-android-6-0-1-factory-images-nexus-6p6-nexus-5x5-nexus-player-nexus-9-nexus-7-2013/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* [[Unicode 7.0]] &amp;amp; [[Unicode 8.0|8.0]] [[emoji]] support.&amp;lt;ref name=&amp;quot;emojipedia-601&amp;quot;&amp;gt;{{cite web |title=Android 6.0.1 Emoji Changelog |url=http://blog.emojipedia.org/android-6-0-1-emoji-changelog/ |website=Emojipedia |date=December 7, 2015 |access-date=February 2, 2017 |archive-date=February 17, 2017 |archive-url=https://web.archive.org/web/20170217072617/http://blog.emojipedia.org/android-6-0-1-emoji-changelog/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Descriptions for USB connection options.&lt;br /&gt;
* Double-press the power button to open the camera.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 7.0 Nougat ===&lt;br /&gt;
{{Main|Android Nougat}}&lt;br /&gt;
{{anchor|Nougat|Android 7|7|Android 7.0|Android Nougat}}&lt;br /&gt;
&lt;br /&gt;
Android &amp;quot;Nougat&amp;quot; (codenamed N in-development) is the seventh major release of the Android operating system. It was first released as a developer preview on March 9, 2016, with factory images for supported Nexus devices, as well as with the new &amp;quot;Android Beta Program&amp;quot; which allows supported devices to be upgraded directly to the Android Nougat beta via an over-the-air update. The final release was on August 22, 2016. The final preview build was released on July 18, 2016,&amp;lt;ref&amp;gt;{{Cite web |url=http://www.androidpolice.com/2016/07/18/android-7-0-nougat-developer-preview-5-the-final-preview-is-available-for-download/ |title=Android 7.0 Nougat Developer Preview 5 – the final preview – is available for download |date=July 18, 2016 |website=Android Police |access-date=July 19, 2016 |archive-date=July 19, 2016 |archive-url=https://web.archive.org/web/20160719133438/http://www.androidpolice.com/2016/07/18/android-7-0-nougat-developer-preview-5-the-final-preview-is-available-for-download/ |url-status=live }}&amp;lt;/ref&amp;gt; with the build number NPD90G.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 7.0 Nougat (API 24)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 7.0&lt;br /&gt;
| August 22, 2016&amp;lt;ref&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2016/08/taking-final-wrapper-off-of-nougat.html |title=Taking the final wrapper off of Android 7.0 Nougat |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114142838/https://android-developers.googleblog.com/2016/08/taking-final-wrapper-off-of-nougat.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Support for file-based encryption.&amp;lt;ref&amp;gt;{{cite web |url=https://security.googleblog.com/2016/11/pixel-security-better-faster-stronger.html |title=Pixel Security: Better, Faster, Stronger |last1=Crowley |first1=Paul |last2=Lawrence |first2=Paul |website=Google Security Blog |date=November 17, 2016 |access-date=March 4, 2019 |archive-date=March 6, 2019 |archive-url=https://web.archive.org/web/20190306042809/https://security.googleblog.com/2016/11/pixel-security-better-faster-stronger.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Unicode 9.0]] [[emoji]] and skin tone modifier support (and exposes a subset of [[ICU4J]] APIs).&amp;lt;ref name=&amp;quot;emojipedia-70&amp;quot;&amp;gt;{{cite web |title=Android 7.0 Nougat Emoji Changelog |url=http://blog.emojipedia.org/android-7-0-emoji-changelog/ |website=Emojipedia |date=August 22, 2016 |access-date=February 2, 2017 |archive-date=February 22, 2017 |archive-url=https://web.archive.org/web/20170222042239/http://blog.emojipedia.org/android-7-0-emoji-changelog/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Ability to display color calibration.&lt;br /&gt;
* Ability to zoom in the screen.&lt;br /&gt;
* Ability to switch to the last opened app by double-tapping the overview button.&lt;br /&gt;
* Added an Emergency information part.&lt;br /&gt;
* Added the &amp;quot;Clear All&amp;quot; button to the Overview screen.&lt;br /&gt;
* Another system partition, which gets updated when not in use, allowing for seamless system updates.&lt;br /&gt;
* [[Google Daydream|Daydream]] virtual reality platform (VR interface).&lt;br /&gt;
* Improved Doze functionality, which aims to prolong battery life.&lt;br /&gt;
* Improvements to the file browser.&lt;br /&gt;
* Ability to [[File operation|move files]] added to &#039;&#039;Storage Access Framework&#039;&#039;&amp;lt;ref name=SAF-API24&amp;gt;{{cite web |title=DocumentsContract |url=https://developer.android.com/reference/android/provider/DocumentsContract#moveDocument(android.content.ContentResolver,%20android.net.Uri,%20android.net.Uri,%20android.net.Uri |website=Android Developers |language=en |access-date=February 2, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143342/https://developer.android.com/reference/android/provider/DocumentsContract#moveDocument(android.content.ContentResolver,%20android.net.Uri,%20android.net.Uri,%20android.net.Uri |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* More Quick Settings options.&lt;br /&gt;
* Multi-window support, which supports floating apps on a desktop layout.&lt;br /&gt;
* New Data Saver mode, which can force apps to reduce bandwidth usage.&lt;br /&gt;
* New JIT Compiler, making for 75 percent faster app installations and a 50 percent reduction in compiled code size.&lt;br /&gt;
* Just in Time (JIT) compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run.&amp;lt;ref&amp;gt;{{cite web |url=https://developer.android.com/about/versions/nougat/android-7.0.html |title=Android 7.0 for Developers &amp;amp;nbsp;-&amp;amp;nbsp; Android Developers |website=Android Developers |access-date=August 25, 2016 |archive-date=September 11, 2016 |archive-url=https://web.archive.org/web/20160911205602/https://developer.android.com/about/versions/nougat/android-7.0.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Picture-in-picture]] support for [[Android TV]].&lt;br /&gt;
* Redesigned notification shade, featuring instant access to certain settings.&lt;br /&gt;
* Redesigned Overview screen.&lt;br /&gt;
* Replaced notification cards with notification sheets.&lt;br /&gt;
* Settings app navigation drawer.&lt;br /&gt;
* [[Vulkan (API)|Vulkan 3D]] rendering API.&lt;br /&gt;
* Multiple Device Locales&amp;lt;ref&amp;gt;{{cite web |url=http://www.androidpolice.com/2016/03/12/android-n-feature-spotlight-multiple-device-locales-are-now-supported-allowing-search-results-in-multiple-languages-and-other-goodies/ |title=Android N Feature Spotlight: Multiple Device Locales Are Now Supported, Allowing Search Results In Multiple Languages And Other Goodies |date=March 12, 2016 |access-date=February 13, 2017 |archive-date=February 14, 2017 |archive-url=https://web.archive.org/web/20170214005239/http://www.androidpolice.com/2016/03/12/android-n-feature-spotlight-multiple-device-locales-are-now-supported-allowing-search-results-in-multiple-languages-and-other-goodies/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Discontinuation of Android Camera V1 API&amp;lt;ref name=CameraVersion&amp;gt;{{Cite web |url=https://source.android.com/devices/camera/versioning |title=Camera Version Support |website=Android Open Source Project |access-date=July 4, 2020 |archive-date=July 4, 2020 |archive-url=https://web.archive.org/web/20200704161717/https://source.android.com/devices/camera/versioning |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Restricted file system access&amp;lt;ref&amp;gt;{{cite web |url=https://proclockers.com/review/list-of-all-android-operating-system-names-2020-update/ |title=List of All Android Operating System Names (2020 Update) |date=November 18, 2020 |publisher=ProClockers |access-date=November 24, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143419/https://gaminggorilla.com/list-of-all-android-operating-system-names-2020-update/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 7.1 Nougat ====&lt;br /&gt;
{{anchor|Android 7.1|7.1}}&lt;br /&gt;
&lt;br /&gt;
On October 19, 2016, Google released Android 7.1.1 as a developer preview for the Nexus 5X, Nexus 6P and the Pixel C. A second preview became available on November 22, 2016, before the final version was released to the public on December 5, 2016.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 7.1 Nougat (API 25)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 7.1&lt;br /&gt;
| October 4, 2016&amp;lt;ref&amp;gt;{{Cite web |url=http://www.androidpolice.com/2016/10/04/android-7-1-nougats-changelog-includes-pixel-exclusive-non-pixel-exclusive-changes/ |title=Android 7.1 Nougat&#039;s changelog is here, includes both Pixel-exclusive and non-Pixel exclusive changes |date=October 4, 2016 |website=Android Police |access-date=October 5, 2016 |archive-date=October 5, 2016 |archive-url=https://web.archive.org/web/20161005125659/http://www.androidpolice.com/2016/10/04/android-7-1-nougats-changelog-includes-pixel-exclusive-non-pixel-exclusive-changes/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Rearranged notification shade.&lt;br /&gt;
* &amp;quot;Restart&amp;quot; option added to power button menu&amp;lt;ref&amp;gt;{{cite web |last1=Sinha |first1=Rupesh |title=Android 7.1 Changes: What The New Update Brings |url=https://beebom.com/android-7-1-changes-what-new/ |website=Beebom |access-date=June 12, 2021 |date=October 20, 2016 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143424/https://beebom.com/android-7-1-changes-what-new/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Touch/display performance improvements.&lt;br /&gt;
* Moves (Fingerprint swipe down gesture{{snd}}opt-in).&lt;br /&gt;
* Opt-in with new hardware required:&lt;br /&gt;
** Seamless A/B system updates.&lt;br /&gt;
** Daydream VR mode.&lt;br /&gt;
* Developer features:&lt;br /&gt;
** Shortcut manager APIs.&lt;br /&gt;
** Circular app icons support.&lt;br /&gt;
** Keyboard image insertion.&lt;br /&gt;
** Fingerprint sensor gesture to open/close notification shade.&lt;br /&gt;
** Manual storage manager Intent for apps.&lt;br /&gt;
** Improved VR thread scheduling.&lt;br /&gt;
** Enhanced wallpaper metadata.&lt;br /&gt;
** Multi-endpoint call support.&lt;br /&gt;
** Support for various MNO requirements.&lt;br /&gt;
*** PCDMA voice privacy property.&lt;br /&gt;
*** Source type support for Visual Voicemail.&lt;br /&gt;
*** Carrier config options for managing telephone videos.&lt;br /&gt;
* Manual storage manager{{snd}} identifies files and apps using storage.&lt;br /&gt;
|-&lt;br /&gt;
| 7.1.1&amp;lt;ref&amp;gt;{{Cite web |url=https://blog.google/products/android/sweet-update-nougat-android-711/ |title=A sweet update to Nougat: Android 7.1.1 |date=December 5, 2016 |website=Google Blog |access-date=December 13, 2016 |archive-date=December 13, 2016 |archive-url=https://web.archive.org/web/20161213001345/https://blog.google/products/android/sweet-update-nougat-android-711/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| December 1, 2016&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-7.1.1_r1 |title=refs/tags/android-7.1.1_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143448/https://android.googlesource.com/platform/system/core/+/refs/tags/android-7.1.1_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* New set of [[emoji]]s adding different skin tones and haircuts to existing ones.&lt;br /&gt;
* Send GIFs directly from the default keyboard.&lt;br /&gt;
* App shortcuts: Launch actions on apps by long-pressing the app icon.&lt;br /&gt;
* Developer Options: &#039;&#039;Show CPU Usage&#039;&#039; feature removed.&lt;br /&gt;
|-&lt;br /&gt;
| 7.1.2&amp;lt;ref&amp;gt;{{Cite web |url=https://productforums.google.com/forum/#!topic/phone-by-google/h9qq56zHiuU |title=Google Groups |website=productforums.google.com |access-date=April 4, 2017 |archive-date=December 3, 2018 |archive-url=https://web.archive.org/web/20181203081016/https://productforums.google.com/forum/#!topic/phone-by-google/h9qq56zHiuU |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=http://www.androidauthority.com/pixel-c-android-7-1-2-update-761195/ |title=Some Pixel C and Nexus Player owners are getting the official Android 7.1.2 update |date=April 2, 2017 |website=Android Authority |access-date=April 2, 2017 |archive-date=April 3, 2017 |archive-url=https://web.archive.org/web/20170403005448/http://www.androidauthority.com/pixel-c-android-7-1-2-update-761195/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| April 2, 2017&amp;lt;ref&amp;gt;{{Cite web |url=https://android.googlesource.com/platform/system/core/+/refs/tags/android-7.1.2_r1 |title=refs/tags/android-7.1.2_r1 – platform/system/core – Git at Google |website=android.googlesource.com |access-date=May 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143348/https://android.googlesource.com/platform/system/core/+/refs/tags/android-7.1.2_r1 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Battery usage alerts.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 8.0 Oreo ===&lt;br /&gt;
{{Main|Android Oreo}}&lt;br /&gt;
{{anchor|Oreo|Android 8|8|Android 8.0|Android Oreo|8.0|Project Treble}}&lt;br /&gt;
&lt;br /&gt;
Android Oreo is the eighth major release of the Android operating system. It was first released as a developer preview, codenamed Android O, on March 21, 2017, with factory images for supported Nexus and Pixel devices. The final developer preview was released on July 24, 2017, with the stable version released in August 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 8.0 Oreo (API 26)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 8.0&amp;lt;ref name=&amp;quot;guardian8&amp;quot;&amp;gt;{{cite news |url=https://www.theguardian.com/technology/2017/aug/21/oreo-google-announces-release-of-the-next-version-of-android-8 |title=Oreo: Google announces release of the next version of Android 8 |date=August 21, 2017 |work=[[The Guardian]] |first1=Samuel |last1=Gibbs |first2=Olivia |last2=Solon |access-date=March 11, 2019 |archive-date=September 3, 2017 |archive-url=https://web.archive.org/web/20170903103557/https://www.theguardian.com/technology/2017/aug/21/oreo-google-announces-release-of-the-next-version-of-android-8 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| August 21, 2017&lt;br /&gt;
|&lt;br /&gt;
* &#039;&#039;&#039;Project Treble&#039;&#039;&#039;, the biggest change to the foundations of Android to date: a modular architecture that makes it easier and faster for hardware makers to deliver Android updates.&lt;br /&gt;
* Picture-in-picture support.&lt;br /&gt;
* Support for Unicode 10.0 emoji (5.0) and replacement of all blob-shaped emojis by round ones with gradients and outlines.&lt;br /&gt;
* Redesigned Quick Settings and Settings with a white background and respectively black and Accent font colors.&lt;br /&gt;
* Restructured Settings by regrouping sections into similar entries.&lt;br /&gt;
* Adaptive icons&lt;br /&gt;
* Notification improvements.&lt;br /&gt;
** Notification channels.&lt;br /&gt;
** Notification dots (badges).&lt;br /&gt;
** Notification snoozing.&lt;br /&gt;
** Notification shade multi-colors (for music album art, messengers, etc.).&lt;br /&gt;
* System-wide Autofill framework.&lt;br /&gt;
* Support for [[Advanced Audio Coding|AAC]], [[Sony]]&#039;s [[LDAC (codec)|LDAC]] and [[Qualcomm]]&#039;s [[aptX]] and [[AptX#aptX HD|aptX HD]] codecs.&amp;lt;ref&amp;gt;{{Cite web |url=https://www.androidauthority.com/android-oreo-vs-android-nougat-audio-794775/ |title=How Oreo is better than Nougat: Audio |date=August 23, 2017 |website=Android Authority |language=en-US |access-date=December 22, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143424/https://www.androidauthority.com/android-oreo-vs-android-nougat-audio-794775/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* App-specific unknown sources.&lt;br /&gt;
* Multi-display support.&lt;br /&gt;
* 2 times faster boot time compared to Nougat according to Google, testing on their Pixel devices.&amp;lt;ref name=&amp;quot;guardian8&amp;quot;/&amp;gt;&lt;br /&gt;
* Apps background execution and location limits.&lt;br /&gt;
* Google Play Protect.&lt;br /&gt;
* Downloadable fonts.&lt;br /&gt;
* Integrated printing support.&lt;br /&gt;
* Color management (deep color and wide color gamut).&lt;br /&gt;
* Wi-Fi Assistant.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 8.1 Oreo ====&lt;br /&gt;
{{anchor|8.1|Android 8.1}}&lt;br /&gt;
&lt;br /&gt;
Android 8.1 Oreo is the sixteenth minor release of the Android operating system. It was first released as a developer preview on October 25, 2017, with factory images for current Nexus and Pixel devices. A second developer preview was made available on November 27, 2017, for Nexus and Pixel devices, before the stable version was released on December 5, 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 8.1 Oreo (API 27)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 8.1&amp;lt;ref&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2017/10/android-81-developer-preview.html |title=Google Blog |website=android-developers.googleblog.com |access-date=October 25, 2017 |archive-date=October 25, 2017 |archive-url=https://web.archive.org/web/20171025183103/https://android-developers.googleblog.com/2017/10/android-81-developer-preview.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=https://www.goandroid.co.in/android-8-1-developer-preview-arrives-pixel-nexus-devices/73184/ |title=Android 8.1 developer preview arrives for Pixel and Nexus devices |date=October 25, 2017 |website=GoAndroid |access-date=October 25, 2017 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143449/https://www.thegoandroid.com/android-8-1-developer-preview-arrives-pixel-nexus-devices/73184/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| December 5, 2017&amp;lt;ref&amp;gt;{{cite web |url=https://arstechnica.com/gadgets/2017/12/android-8-1-oreo-goes-final-rolling-out-now-to-pixel-and-nexus-devices/ |title=Android 8.1 Oreo goes final, rolling out now to Pixel and Nexus devices |date=December 5, 2017 |website=Ars Technica |access-date=December 5, 2017 |archive-date=January 2, 2018 |archive-url=https://web.archive.org/web/20180102090441/https://arstechnica.com/gadgets/2017/12/android-8-1-oreo-goes-final-rolling-out-now-to-pixel-and-nexus-devices/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |url=https://android-developers.googleblog.com/2017/12/welcoming-android-81-oreo-and-android.html |title=Welcoming Android 8.1 Oreo and Android Oreo (Go edition) |author=Dave Burke |date=December 5, 2017 |access-date=December 5, 2017 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143856/https://android-developers.googleblog.com/2017/12/welcoming-android-81-oreo-and-android.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
* Neural networks API.&lt;br /&gt;
* Shared memory API.&lt;br /&gt;
* WallpaperColors API.&lt;br /&gt;
* Bluetooth battery level for connected devices, accessible in Quick Settings.&lt;br /&gt;
* &#039;&#039;&#039;[[Android Go|Android Oreo (Go edition)]]&#039;&#039;&#039;, a lightweight distribution of Android that runs better than normal Android on devices with less than 1&amp;amp;nbsp;GB of RAM.&amp;lt;ref name = &amp;quot;Android Go&amp;quot;&amp;gt;{{cite web |url=https://www.theverge.com/circuitbreaker/2018/3/1/17052912/what-is-android-go |title=Android Go is here to fix super cheap phones |publisher=The Verge |date=March 1, 2018 |access-date=January 11, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144008/https://www.theverge.com/circuitbreaker/2018/3/1/17052912/what-is-android-go |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Autofill framework updates.&lt;br /&gt;
* Programmatic Safe Browsing actions.&lt;br /&gt;
* Navigation buttons dim when not in use.&lt;br /&gt;
* Visual changes to &#039;Power Off&#039; and &#039;Restart&#039;, including a new screen and floating toolbar.&lt;br /&gt;
* Toast messages are now white with the same existing transparency.&lt;br /&gt;
* Automatic light and dark themes.&lt;br /&gt;
* New Easter egg in the form of an official [[Oreo|Oreo cookie]] picture.&amp;lt;ref name = &amp;quot;Android police oreo cookie&amp;quot;&amp;gt;{{cite web |url=http://www.androidpolice.com/2017/10/25/android-8-1-feature-spotlight-new-oreo-easter-egg-appears-double-stuf-form-octopus-remains/ |title=Android 8.1 feature spotlight: A new Oreo Easter egg |date=October 25, 2017 |publisher=Android Police |access-date=November 28, 2017 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114143858/https://www.androidpolice.com/2017/10/25/android-8-1-feature-spotlight-new-oreo-easter-egg-appears-double-stuf-form-octopus-remains/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 9 Pie ===&lt;br /&gt;
{{Main|Android Pie}}&lt;br /&gt;
{{anchor|Pie|Android 9|9|Android 9.0|9.0|Android Pie}}&lt;br /&gt;
&lt;br /&gt;
Android Pie is the ninth major version of the Android operating system. It was first announced by Google on March 7, 2018, and the first developer preview was released on the same day. The second preview, considered beta quality, was released on May 8, 2018. The final beta of Android Pie (fifth preview, also considered as a &amp;quot;Release Candidate&amp;quot;) was released on July 25, 2018. The first official release was released on August 6, 2018.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 9 Pie (API 28)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|August 6, 2018&lt;br /&gt;
|&lt;br /&gt;
* New user interface for the quick settings menu.&amp;lt;ref name=&amp;quot;xda&amp;quot;&amp;gt;{{cite web |last1=Rahman |first1=Mishaal |title=Here&#039;s Everything New in Android P Developer Preview 1 for the Google Pixel/XL and Pixel 2/XL |url=https://www.xda-developers.com/everything-new-android-p-developer-preview/ |website=XDA Developers |access-date=March 8, 2018 |date=March 7, 2018 |archive-date=April 22, 2018 |archive-url=https://web.archive.org/web/20180422014635/https://www.xda-developers.com/everything-new-android-p-developer-preview/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The clock has moved to the left of the notification bar.&amp;lt;ref name=&amp;quot;Verge&amp;quot;&amp;gt;{{cite news |last1=Welch |first1=Chris |title=The biggest early visual changes in Android P |url=https://www.theverge.com/2018/3/7/17092800/android-p-new-design-changes-features |access-date=March 8, 2018 |work=[[The Verge]] |date=March 7, 2018 |archive-date=June 22, 2018 |archive-url=https://web.archive.org/web/20180622084001/https://www.theverge.com/2018/3/7/17092800/android-p-new-design-changes-features |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The &amp;quot;dock&amp;quot; now has a semi-transparent background.&amp;lt;ref name=&amp;quot;Verge&amp;quot;/&amp;gt;&lt;br /&gt;
* Battery Saver no longer shows an orange overlay on the notification and status bars.&amp;lt;ref name=xda/&amp;gt;&lt;br /&gt;
* A &amp;quot;screenshot&amp;quot; button has been added to the power options.&amp;lt;ref name=&amp;quot;Verge&amp;quot;/&amp;gt;&lt;br /&gt;
* A new &amp;quot;Lockdown&amp;quot; mode which disables biometric authentication once activated.&lt;br /&gt;
* Rounded corners across the UI.&lt;br /&gt;
* New transitions for switching between apps, or activities within apps.&lt;br /&gt;
* Richer messaging notifications, where a full conversation can be seen within a notification, full-scale images, and smart replies akin to Google&#039;s new app, Reply.&lt;br /&gt;
* Support for display cutouts.&lt;br /&gt;
* Redesigned volume slider.&lt;br /&gt;
* Battery percentage now shown in Always-On Display.&lt;br /&gt;
* Lock screen security changes include the possible return of an improved NFC Unlock.&lt;br /&gt;
* Experimental features (which are currently hidden within a menu called Feature Flags) such as a redesigned About Phone page in settings, and automatic Bluetooth enabling while driving.&lt;br /&gt;
* [[DNS over TLS]].&amp;lt;ref&amp;gt;{{cite web |title=DNS over TLS support in Android P Developer Preview |date=April 17, 2018 |work=Google Security Blog |url=https://security.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html |access-date=May 9, 2018 |archive-date=April 22, 2018 |archive-url=https://web.archive.org/web/20180422194047/https://security.googleblog.com/2018/04/dns-over-tls-support-in-android-p.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* A new optional gesture-based system interface, allowing users to navigate the OS using swipes more often than the traditional UI.&lt;br /&gt;
* Redesigned multitask app switcher with the Google search bar and app drawer built-in.&lt;br /&gt;
* Android Dashboard, which tells the user how much time they are spending on their device and in apps, and allows the user to set time limits on apps.&lt;br /&gt;
* &amp;quot;Shush&amp;quot;, an enhanced version of Do Not Disturb mode activated by placing the phone face down, which mutes standard notifications.&lt;br /&gt;
* &amp;quot;Adaptive Battery&amp;quot; prediction, which makes use of Doze to hibernate user apps the OS determines the user will not use.&lt;br /&gt;
* Auto-Brightness feature modifies screen brightness based on user habits.&lt;br /&gt;
* Wind Down option lets Android users set a specific bedtime that enables Do Not Disturb and turns the entire phone&#039;s interface gray to discourage further use at night.&lt;br /&gt;
* [[Vulkan#Vulkan 1.1|Vulkan 1.1]] support.&lt;br /&gt;
* Call recording options fully disabled&amp;lt;ref name=ACR&amp;gt;{{Cite web |url=https://nllapps.com/apps/acr/android9.htm |title=Android 9/10 call recording issues &amp;amp;#124; ACR – Another Call Recorder by NLL APPS |website=nllapps.com |access-date=July 5, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144014/https://nllapps.com/apps/acr/android9.htm |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 10 ===&lt;br /&gt;
{{Main|Android 10}}&lt;br /&gt;
{{anchor|10|Android 10}}&lt;br /&gt;
&lt;br /&gt;
Android 10 is the tenth major version of the Android operating system.  The stable version of Android 10 was released on September 3, 2019.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 10 (API 29)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| September 3, 2019&lt;br /&gt;
|&lt;br /&gt;
* Revamped full-screen gesture navigation with new app open/close animations.&amp;lt;ref&amp;gt;{{Cite web |url=https://www.xda-developers.com/android-q-navigation-gestures-mandatory/ |title=[Update: OEM Gestures Allowed] Google&#039;s new navigation gestures in Android Q will be mandatory for all devices |date=May 9, 2019 |website=xda-developers |access-date=August 15, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144403/https://www.xda-developers.com/android-q-navigation-gestures-mandatory/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title=Android 10 launcher port brings new gesture animations to Android 9 |url=https://www.xda-developers.com/android-10-launcher-port-gesture-animations-android-9/ |website=xda-developers |date=September 10, 2019 |access-date=March 20, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144404/https://www.xda-developers.com/android-10-launcher-port-gesture-animations-android-9/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=September 23, 2020 |title=Android 11—The Ars Technica Review |url=https://arstechnica.com/gadgets/2020/09/android-11-the-ars-technica-review/ |access-date=April 17, 2021 |website=Ars Technica |language=en-us |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144414/https://arstechnica.com/gadgets/2020/09/android-11-the-ars-technica-review/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;Scoped storage&#039;&#039; restrictions&amp;lt;ref&amp;gt;{{cite web |title=Privacy changes in Android 10 |url=https://developer.android.com/about/versions/10/privacy/changes |website=Android Developers |language=en |access-date=September 21, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144407/https://developer.android.com/about/versions/10/privacy/changes |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* New permissions required to access location in background and to access photo, video and audio files.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot;&amp;gt;{{cite web |last1=Burke |first1=Dave |title=Introducing Android Q Beta |url=https://android-developers.googleblog.com/2019/03/introducing-android-q-beta.html |website=Android Developers Blog |access-date=March 13, 2019 |date=March 13, 2019 |archive-date=May 7, 2019 |archive-url=https://web.archive.org/web/20190507090246/https://android-developers.googleblog.com/2019/03/introducing-android-q-beta.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Background apps can no longer jump into the foreground.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Limited access to non-resettable device identifiers.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Background (idle) access to camera, microphone and sensors disabled for more privacy protection with the side effect of disabling [[antitheft]] software.&amp;lt;ref name=Verge-Background&amp;gt;{{Cite web |url=https://www.theverge.com/2018/3/7/17091104/android-p-prevents-apps-using-mic-camera-idle-background |title=Android P won&#039;t let apps secretly use your mic or camera in the background |first=Chris |last=Welch |date=March 7, 2018 |website=The Verge |access-date=July 5, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144414/https://www.theverge.com/2018/3/7/17091104/android-p-prevents-apps-using-mic-camera-idle-background |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=AndroidAuth-Background&amp;gt;{{Cite web |url=https://www.androidauthority.com/android-p-camera-restrictions-839076/ |title=Android P will prevent apps from using your camera or microphone without telling you (Updated) |date=February 21, 2018 |website=Android Authority |access-date=July 5, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144520/https://www.androidauthority.com/android-p-camera-restrictions-839076/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=PhoneArena-background&amp;gt;{{Cite web |url=https://www.phonearena.com/news/Android-P-prevents-background-camera-use_id102610 |title=Android P will prevent background apps from using the camera |first=Mihail |last=Nikolov |website=Phone Arena |date=February 20, 2018 |access-date=July 5, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144410/https://www.phonearena.com/news/Android-P-prevents-background-camera-use_id102610 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sharing shortcuts, which allow sharing content with a contact directly.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Floating settings panel, that allows changing system settings directly from apps.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Dynamic depth format for photos, which allow changing background blur after taking a photo.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for the [[AV1]] video codec, the [[HDR10+]] video format and the [[Opus (audio format)|Opus]] audio codec.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for [[AptX#aptX Adaptive|aptX Adaptive]], [[LHDC (codec)#LHDC|LHDC]], [[LHDC (codec)#LLAC|LLAC]], [[CELT]] and AAC LATM codecs&amp;lt;ref&amp;gt;{{Cite web |url=https://source.android.com/devices/audio/implement |title=Audio Implementation |website=Android Open Source Project |language=en |access-date=December 22, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144519/https://source.android.com/docs/core/audio/implement |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=https://porta-fi.com/android-10-devices-are-going-to-sound-better-with-lhdc/ |title=Android 10 devices are going to sound better with LHDC™ |last=Yeow |first=Goh Beng |date=October 22, 2019 |website=Porta-Fi™ |language=en-GB |access-date=December 22, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144928/https://porta-fi.com/android-10-devices-are-going-to-sound-better-with-lhdc/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* A native [[MIDI]] API, allowing interaction with music controllers.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Better support for [[biometric authentication]] in apps.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for the [[Wi-Fi Protected Access#WPA3|WPA3]] Wi-Fi security protocol.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for [[foldable phone]]s.&amp;lt;ref name=&amp;quot;introducingqbeta&amp;quot; /&amp;gt;&lt;br /&gt;
* Support for Notification Bubbles.&amp;lt;ref name=&amp;quot;qbeta2&amp;quot;&amp;gt;{{cite web |last1=Burke |first1=Dave |title=Android Q Beta 2 update |url=https://android-developers.googleblog.com/2019/04/android-q-beta-2-update.html |website=Android Developers Blog |access-date=April 25, 2019 |date=April 3, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144944/https://android-developers.googleblog.com/2019/04/android-q-beta-2-update.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;notificationbubbles&amp;quot;&amp;gt;{{cite web |title=Bubbles |website=Android Developers |url=https://developer.android.com/preview/features/bubbles|access-date=April 25, 2019|archive-date=April 10, 2019|archive-url=https://web.archive.org/web/20190410052657/https://developer.android.com/preview/features/bubbles|url-status=dead}}&amp;lt;/ref&amp;gt; &amp;lt;!-- Replace the preview link with the final Bubbles link when Android Q is publicly released. --&amp;gt;&lt;br /&gt;
* New system-wide dark theme/mode&amp;lt;ref&amp;gt;{{Cite web |url=https://developer.android.com/guide/topics/ui/look-and-feel/darktheme |title=Dark theme |website=Android Developers |access-date=October 13, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144954/https://developer.android.com/develop/ui/views/theming/darktheme |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=https://9to5google.com/2019/10/10/google-dark-mode-apps-gallery/ |title=Google Dark Mode app roundup: Everything available so far |first=Ben |last=Schoon |work=9to5Google |date=October 10, 2019 |access-date=October 13, 2019 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144952/https://9to5google.com/2020/05/19/google-dark-mode-apps-gallery/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* TLS v1.3 support added.&lt;br /&gt;
* Project Mainline, allows core OS components to be updated via the [[Google Play Store]], without requiring a complete system update&amp;lt;ref&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html |title=Fresher OS with Projects Treble and Mainline |website=Android Developers Blog |language=en |access-date=January 6, 2020 |archive-date=February 20, 2020 |archive-url=https://web.archive.org/web/20200220093711/https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 11 ===&lt;br /&gt;
{{Main|Android 11}}&lt;br /&gt;
{{anchor|11|Android 11}}&lt;br /&gt;
&lt;br /&gt;
Android 11 is the eleventh major version of the Android operating system. It was first announced by Google on February 19, 2020, and the first developer preview released on the same day.&amp;lt;ref&amp;gt;{{Cite web |title=Turning it up to 11: the first Developer Preview of Android 11 |url=https://android-developers.googleblog.com/2020/02/Android-11-developer-preview.html |last=Burke |first=Dave |website=Android Developers Blog |language=en |access-date=May 11, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144915/https://android-developers.googleblog.com/2020/02/Android-11-developer-preview.html |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=Android 11 Developer Preview: All the changes we found from Android 10 so far! |url=https://www.xda-developers.com/android-11-developer-preview-changes/ |date=February 19, 2020 |last=Fedewa |first=Joe |website=xda-developers |language=en-US |access-date=May 11, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145014/https://www.xda-developers.com/android-11-developer-preview-changes/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;The launch of Android 11 Beta was postponed from June 3, 2020, to June 10, 2020.&amp;lt;ref name=&amp;quot;eleven-beta&amp;quot;&amp;gt;{{cite web |url=https://www.theverge.com/2020/5/30/21275399/google-delays-android-11-beta-announcement-protests-george-floyd |title=Google delays the Android 11 Beta announcement as protests roil US cities |website=www.theverge.com |access-date=June 8, 2020 |date=May 30, 2020 |archive-date=May 30, 2020 |archive-url=https://web.archive.org/web/20200530071708/https://www.theverge.com/2020/5/30/21275399/google-delays-android-11-beta-announcement-protests-george-floyd |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 11 (API 30)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| September 8, 2020&lt;br /&gt;
|&lt;br /&gt;
* Chat bubbles.&lt;br /&gt;
* Screen recorder.&lt;br /&gt;
* Notification history.&lt;br /&gt;
* New permissions controls.&lt;br /&gt;
* API distinction between standalone [[5G NR]] and non-standalone 5G.&lt;br /&gt;
* One-time permissions.&amp;lt;ref name=&amp;quot;unwrappingandroid11&amp;quot;&amp;gt;{{cite web |last1=Cuthbertso |first1=Stephanie |title=Unwrapping the Android 11 Beta, plus more developer updates |url=https://android-developers.googleblog.com/2020/06/unwrapping-android-11-beta-plus-more.html |website=Android Developers Blog |access-date=August 20, 2020 |date=June 10, 2020 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144916/https://android-developers.googleblog.com/2020/06/unwrapping-android-11-beta-plus-more.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Permissions auto-reset.&amp;lt;ref name=&amp;quot;unwrappingandroid11&amp;quot; /&amp;gt;&lt;br /&gt;
* Wireless [[Android Auto]] on devices with 5GHz Wi-Fi.&amp;lt;ref name=&amp;quot;Android 11 Product Page&amp;quot;&amp;gt;{{Cite web |title=Android 11 |url=https://www.android.com/android-11/ |access-date=September 25, 2020 |website=Android |language=en-US |archive-date=September 12, 2020 |archive-url=https://web.archive.org/web/20200912094615/https://www.android.com/android-11/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Increased number of updatable core OS components in Google Play from 12 to 21.&amp;lt;ref name=&amp;quot;unwrappingandroid11&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;mainline&amp;quot;&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2020/07/accelerating-android-updates.html |title=Accelerating Android Updates |access-date=March 19, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114144946/https://android-developers.googleblog.com/2020/07/accelerating-android-updates.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Enterprise work profile privacy protections now apply on company-owned devices.&amp;lt;ref name=&amp;quot;Android 11 Enterprise Blog&amp;quot;&amp;gt;{{Cite web |last1=Marsanyi |first1=Ian |title=Championing employee privacy, productivity with Android 11 |url=https://blog.google/products/android-enterprise/android-11/ |website=Android Enterprise Blog |access-date=September 25, 2020 |date=September 8, 2020 |language=en-US |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145503/https://blog.google/products/android-enterprise/android-11/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Independent left and right edge sensitivity for gesture navigation.&amp;lt;ref&amp;gt;{{cite web |last1=Schoon |first1=Ben |title=Android 11 prepares new settings for Gesture Navigation |url=https://9to5google.com/2020/02/19/android-11-gesture-settings-menu/ |website=[[9to5Google]] |date=February 19, 2020 |access-date=May 15, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145534/https://9to5google.com/2020/02/19/android-11-gesture-settings-menu/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Since this version, apps no longer have access to other app&#039;s directories (including &amp;quot;Android/Data&amp;quot;).&amp;lt;ref&amp;gt;{{cite news |title=Android 11 : Scoped Storage |url=https://medium.com/dhiwise/android-11-scoped-storage-9e419ea5c934 |work=DhiWise |date=21 July 2021 |language=en |access-date=January 13, 2024 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145504/https://medium.com/dhiwise/android-11-scoped-storage-9e419ea5c934 |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 12 ===&lt;br /&gt;
{{Main|Android 12}}&lt;br /&gt;
{{anchor|12|Android 12}}&lt;br /&gt;
&lt;br /&gt;
Android 12 is the twelfth major version of the Android operating system. It was first announced by Google on February 18, 2021, and the first developer preview was released on the same day.&amp;lt;ref&amp;gt;{{Cite web |title=Android S: the first Developer Preview of Android 12 |url=https://developer.android.com/about/versions/12 |website=Android Developers Blog |language=en |access-date=February 18, 2021 |archive-date=February 19, 2021 |archive-url=https://web.archive.org/web/20210219023916/https://developer.android.com/about/versions/12 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=Android 12 Developer Preview: First Developer preview |url=https://www.xda-developers.com/android-12-developer-preview-hands-on/ |date=February 18, 2021 |website=xda-developers |language=en-US |access-date=February 18, 2021 |archive-date=January 14, 2024 |archive-url=https://web.archive.org/web/20240114145505/https://www.xda-developers.com/android-12-developer-preview-hands-on/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 12 (API 31)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| October 4, 2021&lt;br /&gt;
|&lt;br /&gt;
* Easier Wi-Fi sharing.&lt;br /&gt;
* [[AVIF]] image support.&lt;br /&gt;
* Material You, an updated design language based on [[Material Design]].&lt;br /&gt;
* Scrolling Screenshot.&amp;lt;ref&amp;gt;{{cite web |title=Android 12 To Finally Bring Scrolling Screenshots |url=https://techiai.com/android-12-to-finally-bring-scrolling-screenshots-how-it-would-work/ |website=TechiAI |date=August 15, 2021 |access-date=October 20, 2021 |archive-date=July 10, 2022 |archive-url=https://web.archive.org/web/20220710104625/https://techiai.com/android-12-to-finally-bring-scrolling-screenshots-how-it-would-work/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* One Handed Mode.&amp;lt;ref&amp;gt;{{cite web |title=Guide to enable One-Handed Mode on Android 12 |url=https://www.gizmochina.com/2021/03/28/guide-to-enable-one-handed-mode-on-android-12/ |website=Gizmochina |date=March 28, 2021 |access-date=October 20, 2021 |archive-date=July 4, 2022 |archive-url=https://web.archive.org/web/20220704194900/https://www.gizmochina.com/2021/03/28/guide-to-enable-one-handed-mode-on-android-12/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Android Runtime]] (ART) module added to the updatable core OS components via Google Play, added functionality to existing modules.&amp;lt;ref name=&amp;quot;Features&amp;quot;&amp;gt;{{cite web |title=Android 12 Features |url=https://www.androidauthority.com/android-12-features-1195735/ |website=androidauthority |access-date=February 18, 2021 |date=February 18, 2021 |archive-date=August 3, 2022 |archive-url=https://web.archive.org/web/20220803160940/https://www.androidauthority.com/android-12-features-1195735/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;12preview&amp;quot;&amp;gt;{{Cite web |url=https://android-developers.googleblog.com/2021/02/android-12-dp1.html |title=First preview of Android 12 |access-date=March 19, 2021 |archive-date=February 18, 2021 |archive-url=https://web.archive.org/web/20210218180352/https://android-developers.googleblog.com/2021/02/android-12-dp1.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Area Magnification can zoom in any content on device.&amp;lt;ref&amp;gt;{{cite web |title=Magnification feature now offers a useful floating window |url=https://9to5google.com/2021/02/19/android-12-magnification-tweak/ |website=[[9to5Google]] |date=February 19, 2021 |access-date=October 20, 2021 |archive-date=July 13, 2022 |archive-url=https://web.archive.org/web/20220713032843/https://9to5google.com/2021/02/19/android-12-magnification-tweak/amp/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;quot;Extra Dim&amp;quot; is a faint level of brightness not accessible by the brightness scale.&amp;lt;ref&amp;gt;{{cite web |title=Android 12 gets &#039;Extra Dim&#039; |url=https://www.androidpolice.com/2021/04/22/android-12-dp3-gets-extra-dim-and-no-thats-not-an-insult/amp/ |website=Android Police |date=April 22, 2021 |access-date=October 20, 2021 |archive-date=July 18, 2022 |archive-url=https://web.archive.org/web/20220718044005/https://www.androidpolice.com/2021/04/22/android-12-dp3-gets-extra-dim-and-no-thats-not-an-insult/amp/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Bold Text.&lt;br /&gt;
* Greyscale.&lt;br /&gt;
* A green dot at the top right of the screen shows when the camera or microphone is in use.&amp;lt;ref&amp;gt;{{cite web |last1=Raphael |first1=J. R. |title=How to take advantage of Android 12&#039;s new privacy options |url=https://www.theverge.com/22634128/privacy-android-12-dashboard-apps-sensors |website=The Verge |access-date=1 April 2024 |language=en |date=20 August 2021 |archive-date=April 1, 2024 |archive-url=https://web.archive.org/web/20240401123146/https://www.theverge.com/22634128/privacy-android-12-dashboard-apps-sensors |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Option to choose precise or approximate location.&amp;lt;ref&amp;gt;{{cite web |title=Android 12 features: Everything you need to know about Google&#039;s latest OS |url=https://www.androidauthority.com/android-12-features-1195735/ |website=Android Authority |date=October 19, 2021 |access-date=February 19, 2021 |archive-date=August 3, 2022 |archive-url=https://web.archive.org/web/20220803160940/https://www.androidauthority.com/android-12-features-1195735/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Privacy Dashboard.&amp;lt;ref&amp;gt;{{cite web |title=How to access and use the Android 12 Privacy Dashboard |url=https://www.androidcentral.com/how-access-and-use-android-12-privacy-dashboard?amp |website=Android Central |date=September 21, 2021 |access-date=October 20, 2021 |archive-date=November 7, 2021 |archive-url=https://web.archive.org/web/20211107025705/https://www.androidcentral.com/how-access-and-use-android-12-privacy-dashboard?amp |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Gestures can work in immersive mode.&amp;lt;ref&amp;gt;{{cite web |title=Android 12 fixes one of the most frustrating things about gesture navigation |url=https://www.androidpolice.com/2021/02/18/android-12s-gestures-navigation-works-better-in-full-screen-and-immersive-views/ |website=Android Police |date=February 19, 2021 |access-date=May 15, 2021 |archive-date=July 6, 2022 |archive-url=https://web.archive.org/web/20220706101016/https://www.androidpolice.com/2021/02/18/android-12s-gestures-navigation-works-better-in-full-screen-and-immersive-views/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Performance improvements to system services to improve transitions, power efficiency, and reduce app startup times.&amp;lt;ref&amp;gt;{{cite web |title=What&#039;s new in Android 12 Beta |url=https://android-developers.googleblog.com/2021/05/whats-new-in-android-12-beta.html |website=Android Developers Blog |access-date=July 22, 2021 |language=en |archive-date=June 22, 2021 |archive-url=https://web.archive.org/web/20210622112036/https://android-developers.googleblog.com/2021/05/whats-new-in-android-12-beta.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Third party app stores now have the ability to update apps without constantly asking the user for permission.&amp;lt;ref&amp;gt;{{Cite web |date=May 20, 2021 |title=Android 12 will finally let alternative app stores update apps on their own |url=https://www.xda-developers.com/android-12-alternative-app-stores-update-apps-background/ |access-date=September 21, 2021 |website=xda-developers |language=en-US |archive-date=June 22, 2022 |archive-url=https://web.archive.org/web/20220622223308/https://www.xda-developers.com/android-12-alternative-app-stores-update-apps-background/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Android 12L ====&lt;br /&gt;
{{Main|Android 12L}}&lt;br /&gt;
{{anchor|12L|Android 12L}}&lt;br /&gt;
&lt;br /&gt;
Android 12L{{efn|Released as &amp;quot;Android 12.1&amp;quot; for smartphones}} is an interim release for Android 12 that includes design tweaks for larger displays and minor stability changes to the operating system. It was announced in October 2021 alongside Beta releases with a stable version launching on March 7, 2022.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 12L (API 32)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 12L&lt;br /&gt;
| March 7, 2022&lt;br /&gt;
|&lt;br /&gt;
* Improvements specific for foldable phones, tablets, desktop-sized screens and Chromebooks, and modifications to the user interface to tailor it to larger screens.&amp;lt;ref&amp;gt;{{Cite web |title=12L and new Android APIs and tools for large screens |last=Burke |first=Dave |url=https://android-developers.googleblog.com/2021/10/12L-preview-large-screens.html |date=October 27, 2021 |website=Android Developers Blog |language=en |access-date=May 22, 2022 |archive-date=July 22, 2022 |archive-url=https://web.archive.org/web/20220722074255/https://android-developers.googleblog.com/2021/10/12L-preview-large-screens.html |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 13 ===&lt;br /&gt;
{{Main|Android 13}}&lt;br /&gt;
{{anchor|13|Android 13}}&lt;br /&gt;
&lt;br /&gt;
Android 13 is the thirteenth major version of the Android operating system.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 13 (API 33)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| August 15, 2022&lt;br /&gt;
|&lt;br /&gt;
* Apps are now required to request permission from the user before they are able to send notifications.&amp;lt;ref&amp;gt;{{Cite web |last=Li |first=Abner |date=March 17, 2022 |title=Here&#039;s everything new in Android 13 Developer Preview 2 [Gallery] |url=https://9to5google.com/2022/03/17/android-13-dp2-new-features/ |access-date=March 18, 2022 |website=[[9to5Google]] |language=en-US |archive-date=March 17, 2022 |archive-url=https://web.archive.org/web/20220317185828/https://9to5google.com/2022/03/17/android-13-dp2-new-features/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The number of active apps is now shown at the bottom of the notifications panel, a tap on it opens a detailed panel which lets the user stop each of them.&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=August 30, 2022 |title=Android 13 review: Plans for the future, but not much to offer today |url=https://arstechnica.com/gadgets/2022/08/android-13-review-plans-for-the-future-but-not-much-to-offer-today/ |access-date=August 31, 2022 |website=Ars Technica |language=en-us |archive-date=August 30, 2022 |archive-url=https://web.archive.org/web/20220830231050/https://arstechnica.com/gadgets/2022/08/android-13-review-plans-for-the-future-but-not-much-to-offer-today/ |url-status=live }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Support for [[Bluetooth Low Energy|Bluetooth LE]] Audio and the [[LC3 (codec)|LC3 audio codec]].&amp;lt;ref&amp;gt;{{Cite web |date=December 22, 2021 |title=Android 13 may finally bring full support for Bluetooth LE Audio |url=https://www.xda-developers.com/android-13-may-add-blueooth-le-audio-support/ |access-date=April 22, 2022 |website=xda-developers |language=en-US |archive-date=June 29, 2022 |archive-url=https://web.archive.org/web/20220629122229/https://www.xda-developers.com/android-13-may-add-blueooth-le-audio-support/ |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=New LC3 Encoder (I5f2f7627) |url=https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1891675 |access-date=April 22, 2022 |website=AOSP Gerrit |archive-date=January 9, 2022 |archive-url=https://web.archive.org/web/20220109172549/https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1891675 |url-status=live }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |title=Add new LC3 decoder (I275ea8ba) |url=https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1936078 |access-date=April 22, 2022 |website=AOSP Gerrit}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Android Runtime|ART]] update with a new [[Garbage collection (computer science)|garbage collector]] utilizing the [[Linux kernel|Linux]] userfaultfd [[system call]].&amp;lt;ref name=&amp;quot;Gidra&amp;quot;&amp;gt;{{Citation |last=Gidra |first=Lokesh |title=What&#039;s new in app performance |date=May 12, 2022 |url=https://www.youtube.com/watch?v=DYdHLqLVspY |language=en |access-date=August 16, 2022}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite journal |last1=Gidra |first1=Lokesh |last2=Boehm |first2=Hans-J. |last3=Fernandes |first3=Joel |date=October 12, 2020 |title=Utilizing the Linux Userfaultfd System Call in a Compaction Phase of a Garbage Collection Process |url=https://www.tdcommons.org/dpubs_series/3671 |journal=Defensive Publications Series}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;Android 13 is in AOSP&amp;quot;&amp;gt;{{Cite web |title=Android 13 is in AOSP! |url=https://android-developers.googleblog.com/2022/08/android-13-is-in-aosp.html |access-date=August 16, 2022 |website=Android Developers Blog |language=en}}&amp;lt;/ref&amp;gt; It reduces memory pressure, compiled code size and [[Jank (web)|jank]], and prevents the risk of killing apps because of low memory during garbage collection.&amp;lt;ref name=&amp;quot;Android 13 is in AOSP&amp;quot; /&amp;gt; Other changes also improve app startup, reduce jank and improve performance.&amp;lt;ref name=&amp;quot;Android 13 is in AOSP&amp;quot; /&amp;gt; Because of the Mainline project, Android 12 ART will also be updated.&amp;lt;ref name=&amp;quot;Gidra&amp;quot;/&amp;gt;&lt;br /&gt;
* Support of Themed icons by third-party apps and manufacturers.&amp;lt;ref&amp;gt;{{Cite web |last=Schoon |first=Ben |date=2022-12-09 |title=Android themed: These apps support Material You makeovers |url=https://9to5google.com/2022/12/09/android-13-themed-icons/ |access-date=2023-08-09 |website=[[9to5Google]]}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 14 ===&lt;br /&gt;
{{Main|Android 14}}&lt;br /&gt;
&lt;br /&gt;
Android 14 is the fourteenth major version of the Android operating system. Google announced Android 14 on February 8, 2023, with the first Developer Preview releasing on the same day.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 14 (API 34)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|October 4, 2023&lt;br /&gt;
|&lt;br /&gt;
* Installation of apps designed to target Android versions and SDKs older than [[Android Marshmallow|Marshmallow (6.0)]] is blocked to prevent malware.&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=February 8, 2023 |title=Android 14 Preview 1 is out, will officially ban installation of old apps |url=https://arstechnica.com/gadgets/2023/02/android-14-preview-1-is-out-will-officially-ban-installation-of-old-apps/ |url-status=live |archive-url=https://web.archive.org/web/20230208214958/https://arstechnica.com/gadgets/2023/02/android-14-preview-1-is-out-will-officially-ban-installation-of-old-apps/ |archive-date=February 8, 2023 |access-date=February 8, 2023 |website=[[Ars Technica]]}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=February 8, 2023 |title=22 Best Android 14 Features (New and Upcoming) |url=https://beebom.com/best-android-14-features/ |url-status=live |archive-url=https://web.archive.org/web/20230208214958/https://beebom.com/best-android-14-features/ |archive-date=February 8, 2023 |access-date=February 8, 2023 |website=[[Beebom]]}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 15 ===&lt;br /&gt;
{{Main|Android 15}}&lt;br /&gt;
&lt;br /&gt;
Android 15 is the fifteenth major version of the Android operating system. It was released on September 3, 2024 as part of the Android Open Source Project,&amp;lt;ref&amp;gt;{{Cite web |last=Matthew|first=McCullough |date=September 3, 2024 |url=https://android-developers.googleblog.com/2024/09/android-15-is-released-to-aosp.html |title=Android 15 is released to AOSP |website=Android Developer Blog |publisher=Google |access-date=October 16, 2024}}&amp;lt;/ref&amp;gt; and was first released to a device on September 30, 2024 by [[Vivo (technology company)|Vivo]].&amp;lt;ref&amp;gt;{{Cite web |last=Bonggolto |first=Jay |date=September 30, 2024 |url=https://www.androidcentral.com/apps-software/the-first-oem-to-drop-android-15-updates-is-one-youd-never-guess |title=The first OEM to drop Android 15 updates is one you&#039;d never guess |website=Android Central |publisher=Future US |access-date=October 16, 2024}}&amp;lt;/ref&amp;gt; Unlike previous versions of Android, the new update wasn&#039;t made available upon its release to Google&#039;s own Pixel line, instead being released on October 15, 2024.&amp;lt;ref&amp;gt;{{Cite web |last=Peters |first=Jay |date=October 15, 2024 |url=https://www.theverge.com/2024/10/15/24268043/google-android-15-pixel |title=Android 15 is now available for Pixels |website=The Verge |publisher=Vox Media |access-date=October 15, 2024}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 15 (API 35)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 15.0&lt;br /&gt;
| September 3, 2024&lt;br /&gt;
|&lt;br /&gt;
* Reintroduction of lock screen widgets on tablets, which were introduced in Android 4.2 and removed in Android 5.0.&amp;lt;ref&amp;gt;{{Cite web |last=Amadeo |first=Ron |date=2024-01-12 |title=Android 15 might bring back lock screen widgets |url=https://arstechnica.com/gadgets/2024/01/it-looks-like-lock-screen-widgets-are-making-a-comeback-in-android-15/ |access-date=2024-01-14 |website=Ars Technica |language=en-us}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Android 16 ===&lt;br /&gt;
{{Main|Android 16}}&lt;br /&gt;
Android 16 is the upcoming major release of [[Android (operating system)|Android]]. The first Developer Preview of Android 16 was released on 19 November 2024,&amp;lt;ref&amp;gt;{{Cite web |last=Weatherbed |first=Jess |date=2024-11-19 |title=Android 16 is now available for early testers |url=https://www.theverge.com/2024/11/19/24300673/android-16-developer-preview-availability-release-timeline |access-date=2024-11-20 |website=The Verge |language=en}}&amp;lt;/ref&amp;gt; [[Google]] expects the platform to reach beta stage in January 2025 with a final release expected in Q2 2025.&amp;lt;ref&amp;gt;{{Cite web |title=The First Developer Preview of Android 16 |url=https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html |access-date=2024-11-20 |website=Android Developers Blog |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+ Android 16 (API 36)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:2%;&amp;quot; | Version&lt;br /&gt;
! style=&amp;quot;width:11%;&amp;quot; | Release date&lt;br /&gt;
! style=&amp;quot;width:87%;&amp;quot; | Features&lt;br /&gt;
|-&lt;br /&gt;
| 16 DP1&lt;br /&gt;
| November 19, 2024&lt;br /&gt;
|&lt;br /&gt;
* Embedded photo picker&lt;br /&gt;
* Health records&lt;br /&gt;
* privacy sandbox on android.&amp;lt;ref&amp;gt;{{Cite web |title=The First Developer Preview of Android 16 |url=https://android-developers.googleblog.com/2024/11/the-first-developer-preview-android16.html |access-date=2024-11-20 |website=Android Developers Blog |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Fake_heading/styles.css&amp;diff=1628</id>
		<title>Template:Fake heading/styles.css</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Fake_heading/styles.css&amp;diff=1628"/>
		<updated>2025-03-26T11:35:26Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Fake_heading/styles.css&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp-template}} */&lt;br /&gt;
.fake-heading {&lt;br /&gt;
	color: var(--color-emphasized, #000000);&lt;br /&gt;
	background: none;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	padding-bottom: 0.17em;&lt;br /&gt;
	page-break-after: avoid;&lt;br /&gt;
	padding-top: 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fake-heading.h1,&lt;br /&gt;
.fake-heading.h2 {&lt;br /&gt;
	border-bottom: 1px solid var(--border-color-base, #a2a9b1);&lt;br /&gt;
	margin-bottom: 0.25em;&lt;br /&gt;
	margin-top: 1em;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	font-family: &#039;Linux Libertine&#039;,&#039;Georgia&#039;,&#039;Times&#039;,&#039;Source Serif Pro&#039;,serif;&lt;br /&gt;
	line-height: 1.375;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-monobook .fake-heading.h1,&lt;br /&gt;
body.skin-monobook .fake-heading.h2 {&lt;br /&gt;
	font-family: inherit;&lt;br /&gt;
	line-height: inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .fake-heading.h1,&lt;br /&gt;
body.skin-timeless .fake-heading.h2 {&lt;br /&gt;
	border-bottom: 3px solid #c8ccd1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fake-heading.h1 {&lt;br /&gt;
	font-size: 1.8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .fake-heading.h1 {&lt;br /&gt;
	font-size: 2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fake-heading.h2 {&lt;br /&gt;
	font-size: 1.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body.skin-timeless .fake-heading.h2 {&lt;br /&gt;
	font-size: 1.8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fake-heading.h3,&lt;br /&gt;
.fake-heading.h4,&lt;br /&gt;
.fake-heading.h5,&lt;br /&gt;
.fake-heading.h6 {&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	margin-top: 0.3em;&lt;br /&gt;
	margin-bottom: 0;&lt;br /&gt;
	padding-bottom: 0;&lt;br /&gt;
	line-height: 1.6;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fake-heading.h3 {&lt;br /&gt;
	font-size: 1.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fake-heading.h4 {&lt;br /&gt;
	font-size: 100%;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Fake_heading&amp;diff=1624</id>
		<title>Template:Fake heading</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Fake_heading&amp;diff=1624"/>
		<updated>2025-03-26T11:35:19Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Fake_heading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{main other&lt;br /&gt;
|1={{error|Per [[WP:PSEUDOHEADING]] fake headings should not be used in articles.}}[[Category:Pages with templates in the wrong namespace]]&lt;br /&gt;
|2=&amp;lt;templatestyles src=&amp;quot;Template:Fake_heading/styles.css&amp;quot; /&amp;gt;&amp;lt;div class=&amp;quot;fake-heading {{#switch: {{{level|{{{sub|}}}}}}&lt;br /&gt;
  | 1 = h1&lt;br /&gt;
  | 2 | #default = h2&lt;br /&gt;
  | 3 = h3&lt;br /&gt;
  | 4 | 5 | 6 = h4&lt;br /&gt;
  }}&amp;quot;&amp;gt;{{{1|Section}}}&amp;lt;/div&amp;gt;}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Template&amp;diff=1622</id>
		<title>Template:Template</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Template&amp;diff=1622"/>
		<updated>2025-03-26T11:35:19Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Template link]]&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Note_label&amp;diff=1620</id>
		<title>Template:Note label</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Note_label&amp;diff=1620"/>
		<updated>2025-03-26T11:35:19Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Note_label&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;Citation/styles.css&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;citation wikicite&amp;quot; id=&amp;quot;{{anchorencode:endnote_{{{1}}}{{{3|}}}}}&amp;quot;&amp;gt;{{#if:{{{3|}}}&lt;br /&gt;
  |[[#ref_{{{1}}}{{{3}}}|&#039;&#039;&#039;&amp;lt;sup&amp;gt;{{#ifeq:none|{{{3|none}}}&lt;br /&gt;
    |^&lt;br /&gt;
    |{{{3|}}}&lt;br /&gt;
  }}&amp;lt;/sup&amp;gt;&#039;&#039;&#039;]]&lt;br /&gt;
  |&amp;lt;sup&amp;gt;{{{2|}}}&amp;lt;/sup&amp;gt;&lt;br /&gt;
}}{{#if:{{{4|}}}| {{{4|}}}}}&amp;lt;/span&amp;gt; &amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|Template:Ref/doc}}&lt;br /&gt;
&amp;lt;!-- Add categories and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Ref_label&amp;diff=1618</id>
		<title>Template:Ref label</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Ref_label&amp;diff=1618"/>
		<updated>2025-03-26T11:35:19Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Ref_label&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;Citation/styles.css&amp;quot;/&amp;gt;&amp;lt;{{#ifeq:yes|{{yesno|def=|{{{sub|}}}}}|sub|sup}} class=&amp;quot;citation nobold&amp;quot; {{#ifeq:{{{noid}}}|noid||id=&amp;quot;ref_{{{1}}}{{{3|}}}&amp;quot;}}&amp;gt;[[#endnote_{{{1}}}{{{3|}}}|[{{{2}}}]]]&amp;lt;/{{#ifeq:yes|{{yesno|def=|{{{sub|}}}}}|sub|sup}}&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|Template:Ref/doc}}&lt;br /&gt;
&amp;lt;!-- Add categories and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Note&amp;diff=1616</id>
		<title>Template:Note</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Note&amp;diff=1616"/>
		<updated>2025-03-26T11:35:19Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Distinguish|Template:A note}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;templatestyles src=&amp;quot;Citation/styles.css&amp;quot;/&amp;gt;&amp;lt;span class=&amp;quot;citation wikicite&amp;quot; id=&amp;quot;endnote_{{{1}}}&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[[#ref_{{{1}}}|^{{{2|}}}]]&amp;lt;/b&amp;gt;{{#if:{{{3|}}}|&amp;amp;#32;{{{3|}}}}}&amp;lt;/span&amp;gt; &amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|Template:Ref/doc}}&lt;br /&gt;
&amp;lt;!-- Add categories and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Ref&amp;diff=1612</id>
		<title>Template:Ref</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Ref&amp;diff=1612"/>
		<updated>2025-03-26T11:35:18Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Ref&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;sup class=&amp;quot;plainlinks nourlexpansion citation&amp;quot; {{#ifeq:{{{noid}}}|noid||id=&amp;quot;ref_{{{1}}}&amp;quot;}}&amp;gt;{{#if:{{{2|}}}|[[#endnote_{{{1}}}|{{{2}}}]]|[{{fullurl:{{FULLPAGENAME}}}}#endnote_{{anchorencode:{{{1|}}}}}]}}&amp;lt;/sup&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Main/doc&amp;diff=1608</id>
		<title>Template:Main/doc</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Main/doc&amp;diff=1608"/>
		<updated>2025-03-26T11:32:42Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Main/doc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{pp-vandalism|small=yes}}&amp;lt;/noinclude&amp;gt;{{Documentation subpage}}&lt;br /&gt;
{{High-use}}&lt;br /&gt;
{{Never substitute}}&lt;br /&gt;
{{Lua|icononly=on|Module:Labelled list hatnote}}&lt;br /&gt;
&lt;br /&gt;
{{hatnote|This template is for linking to main content. For the mainspace detection template, see [[:template:main other]].}}&lt;br /&gt;
&lt;br /&gt;
When a [[Wikipedia:What is an article?|Wikipedia article]] is large, it is often written in [[Wikipedia:Summary style|summary style]]. This [[Wikipedia:Template messages|template]] is used after the heading of the summary, to link to the subtopic article that has been summarized. For [[Help:Category|Category namespace]], please use &#039;&#039;&#039;{{tl|Cat main}}&#039;&#039;&#039; instead.&lt;br /&gt;
&lt;br /&gt;
Use of this template should be restricted to the purposes described above. It is &#039;&#039;&#039;not&#039;&#039;&#039; to be used as a substitute for inline links or {{tl|Further}} template. The latter is used when the section expounds a specific aspect of the topic instead of summarizing its article. For example, in [[phthalate]], the template under the &amp;quot;Endocrine disruptor&amp;quot; section should &#039;&#039;&#039;not&#039;&#039;&#039; be {{tlf|Main|Endocrine disruptor}}, because the section specifically deals with phthalate as an endocrine disruptor and not endocrine disruptors in general.&lt;br /&gt;
&lt;br /&gt;
Do not use this template on top of a page (such as above the lead), where hatnotes are for disambiguation and not for related topics (according to [[WP:RELATED]]). A lead section is always a summary of its own article, not any other; as such, the only appropriate target for a {{tl|Main}} link in the lead section would be the article itself, which is not useful.&lt;br /&gt;
&lt;br /&gt;
{{TOC limit}}&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
{{see|WP:SUMMARYHATNOTE}}&lt;br /&gt;
{{startplainlist}}&lt;br /&gt;
* {{vad|Basic usage:|7.5em|left}} &amp;lt;code&amp;gt;{{((}}{{BASEPAGENAME}}{{!}}{{var|page}}{{))}}&amp;lt;/code&amp;gt;&lt;br /&gt;
* {{vad|All parameters:|7.5em|left}} &amp;lt;code&amp;gt;{{((}}{{BASEPAGENAME}}{{!}}{{var|page1}}{{!}}{{var|page2}}{{!}}{{var|page3}}{{!}}&amp;amp;nbsp;...&amp;amp;nbsp;{{!}}l1&amp;amp;nbsp;{{=}}&amp;amp;nbsp;{{var|label1}}{{!}}l2&amp;amp;nbsp;{{=}}&amp;amp;nbsp;{{var|label2}}{{!}}l3&amp;amp;nbsp;{{=}}&amp;amp;nbsp;{{var|label3}}{{!}}&amp;amp;nbsp;...&amp;amp;nbsp;{{!}}selfref&amp;amp;nbsp;{{=}}&amp;amp;nbsp;{{var|yes}}{{))}}&amp;lt;/code&amp;gt;&lt;br /&gt;
{{endplainlist}}&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, ... – the pages to link to. If no page names are specified, the current page name is used instead (without the [[Wikipedia:Namespace|namespace]] prefix). Categories and files are automatically escaped with the [[Help:Colon trick|colon trick]], and links to sections are automatically formatted as &#039;&#039;page § section&#039;&#039;, rather than the MediaWiki default of &#039;&#039;page#section&#039;&#039;.&lt;br /&gt;
*&amp;lt;code&amp;gt;l1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;l2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;l3&amp;lt;/code&amp;gt;, ... &#039;&#039;or&#039;&#039;&amp;lt;code&amp;gt;label 1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;label 2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;label 3&amp;lt;/code&amp;gt;, ... – optional labels for each of the pages to link to (this is for articles where a piped link would be used). Note that the extra parameters use a lower case &#039;L&#039;, for example, &amp;lt;code&amp;gt;l1&amp;lt;/code&amp;gt;, &amp;lt;u&amp;gt;not&amp;lt;/u&amp;gt; &amp;lt;code&amp;gt;L1&amp;lt;/code&amp;gt;.&lt;br /&gt;
*&amp;lt;code&amp;gt;selfref&amp;lt;/code&amp;gt; – if set to &amp;quot;yes&amp;quot;, &amp;quot;y&amp;quot;, &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot;, adds the CSS class &amp;quot;selfref&amp;quot;. This is used to denote self-references to Wikipedia. See [[Template:Selfref]] for more information. This is only necessary in articles and other content (e.g. templates) that will appear in articles, and need not be added for uses of this template on &amp;lt;code&amp;gt;Wikipedia:&amp;lt;/code&amp;gt; namespace pages.&lt;br /&gt;
&lt;br /&gt;
==Template data==&lt;br /&gt;
{{TemplateData header}}&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;This template is used after the heading of a section, to link to a sub-article (or sub-articles) that is entirely about the topic of the section. The template will display, in italics, \&amp;quot;Main article: Article 1, Article 2 and Article 3\&amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Page 1&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The name of the first page that you want to link to. If this is not specified, the current page name (with no namespace prefix) is used instead. &amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Page 2&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The name of the second page that you want to link to.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;3&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Page 3&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The name of the third page that you want to link to. More pages can be added using the parameters \&amp;quot;4\&amp;quot;, \&amp;quot;5\&amp;quot;, etc.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;4&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Page 4&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The name of the fourth page that you want to link to.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;5&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Page 5&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The name of the fifth page that you want to link to.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;l1&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Label 1&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;What the first linked page is to be displayed as.&amp;quot;,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;label 1&amp;quot;&lt;br /&gt;
			]&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;l2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Label 2&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;What the second linked page is to be displayed as.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;label 2&amp;quot;&lt;br /&gt;
			]&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;l3&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Label 3&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;What the third linked page is to be displayed as. Other labels can be added by using increasing numbers (starting with \&amp;quot;l4\&amp;quot; for page 4) as parameter names.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;label 3&amp;quot;&lt;br /&gt;
			]&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;selfref&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Self reference&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Set to \&amp;quot;yes\&amp;quot; if the template is a self-reference to Wikipedia that would not make sense on mirrors or forks of the Wikipedia site.&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;l4&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;label 4&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Label 4&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;What the fourth linked page is to be displayed as.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;l5&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;label 5&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Label 5&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;What the fifth linked page is to be displayed as.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;1&amp;quot;,&lt;br /&gt;
		&amp;quot;2&amp;quot;,&lt;br /&gt;
		&amp;quot;3&amp;quot;,&lt;br /&gt;
		&amp;quot;4&amp;quot;,&lt;br /&gt;
		&amp;quot;5&amp;quot;,&lt;br /&gt;
		&amp;quot;l1&amp;quot;,&lt;br /&gt;
		&amp;quot;l2&amp;quot;,&lt;br /&gt;
		&amp;quot;l3&amp;quot;,&lt;br /&gt;
		&amp;quot;l4&amp;quot;,&lt;br /&gt;
		&amp;quot;l5&amp;quot;,&lt;br /&gt;
		&amp;quot;selfref&amp;quot;&lt;br /&gt;
	],&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;{{_|_ = _}}\n&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
{{hatnote|Underscores (_) between words are not necessary}}&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Main}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{main|category=no}}&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Main|Article}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{main|Article}}&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Main|Article#Section title}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{main|Article#Section title}}&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Main|Article#Section|l1=Custom section label}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{main|Article#Section|l1=Custom section label}}&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Main|Article1|Article2|Article3}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{main|Article1|Article2|Article3}}&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Main|Article1|l1=Custom label 1|Article2|l2=Custom label 2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{main|Article1|l1=Custom label 1|Article2|l2=Custom label 2}}&lt;br /&gt;
*&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Main|(15760) 1992 QB1|l1={{mp|(15760) 1992 QB|1}}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{main|(15760) 1992 QB1|l1={{mp|(15760) 1992 QB|1}}}}&lt;br /&gt;
&lt;br /&gt;
==Errors==&lt;br /&gt;
If the name of the first page that you want to link to is not specified, the current page name (with no namespace prefix) is used instead:&lt;br /&gt;
*{{Main|category=no}}&lt;br /&gt;
&lt;br /&gt;
No errors can be displayed due to the illegal usage of parameters or other usages (i.e. the first parameter can be omitted, other parameters can be used even if the first one is empty (and automatically filled with the current page name (with no namespace prefix)), equals sign can be used as one of the parameters, and template can be used by direct call to the module (using &amp;quot;#invoke&amp;quot;)). This is not the case for {{tl|see also}}, for example.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*{{tl|Main list}}: For a more comprehensive list, see {{color|blue|Article}}.&lt;br /&gt;
*{{tl|Broader}}: For broader coverage of this topic, see {{color|blue|Article}}.&lt;br /&gt;
*{{tl|Excerpt}}, which allows transclusion of text (such as an intro section) from one article into another&lt;br /&gt;
*{{tl|Further}}: Further information: {{color|blue|Article}}.&lt;br /&gt;
*{{tl|Official website}}&lt;br /&gt;
{{Hatnote templates}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories go here and interwikis go in Wikidata. --&amp;gt;&lt;br /&gt;
[[Category:Hatnote templates]]&lt;br /&gt;
[[Category:Wikipedia page-section templates]]&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Hatnote_templates&amp;diff=1606</id>
		<title>Template:Hatnote templates</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Hatnote_templates&amp;diff=1606"/>
		<updated>2025-03-26T11:32:40Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Hatnote_templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
| name = Hatnote templates&lt;br /&gt;
| state = {{{state|&amp;lt;includeonly&amp;gt;autocollapse&amp;lt;/includeonly&amp;gt;}}}&lt;br /&gt;
| bodyclass = hlist&lt;br /&gt;
| belowclass = hlist&lt;br /&gt;
| title  = [[WP:Hatnote#Hatnote templates|Hatnote templates]]&lt;br /&gt;
&lt;br /&gt;
| above =&lt;br /&gt;
*[[Wikipedia:Hatnote]]&lt;br /&gt;
*[[Wikipedia:Disambiguation]]&lt;br /&gt;
*[[Wikipedia:Redirect]]&lt;br /&gt;
&lt;br /&gt;
| group1 = Generic&lt;br /&gt;
| list1 =&lt;br /&gt;
*{{tl|Hatnote}}&lt;br /&gt;
*{{tl|Hatnote group}}&lt;br /&gt;
*{{tl|Self-reference}}&lt;br /&gt;
&lt;br /&gt;
| group2 = For and about&lt;br /&gt;
| list2 =&lt;br /&gt;
*{{tl|For}}&lt;br /&gt;
*{{tl|For-text}} (for custom text)&lt;br /&gt;
*{{tl|For-multi}} (for multiple uses)&lt;br /&gt;
*{{tl|About}}&lt;br /&gt;
*Variations: {{tl|Other uses}}&lt;br /&gt;
*{{tl|Other uses of}}&lt;br /&gt;
*{{tl|Redirect-distinguish-for}}&lt;br /&gt;
*{{tl|About-distinguish}}&lt;br /&gt;
*{{tl|About-distinguish-text}}&lt;br /&gt;
&lt;br /&gt;
| group3 = Other topics&lt;br /&gt;
| list3 =&lt;br /&gt;
*{{tl|Other people}}&lt;br /&gt;
*{{tl|About other people}} (adds &amp;quot;about&amp;quot; description)&lt;br /&gt;
*{{tl|Similar names}}&lt;br /&gt;
*{{tl|Other storms}}&lt;br /&gt;
*{{tl|Other places}}&lt;br /&gt;
*{{tl|Other ships}}&lt;br /&gt;
&lt;br /&gt;
| group4 = Redirect&lt;br /&gt;
| list4 =&lt;br /&gt;
*{{tl|Redirect}}&lt;br /&gt;
*{{tl|Redirect2}} (for two redirects)&lt;br /&gt;
*{{tl|Redirect-multi}} (for multiple redirects)&lt;br /&gt;
*{{tl|Redirect-several}} (for several redirects, without listing each)&lt;br /&gt;
*{{tl|Redirect-synonym}}&lt;br /&gt;
*{{tl|Redirect-distinguish}}&lt;br /&gt;
*{{tl|Redirect-distinguish-text}}&lt;br /&gt;
*{{tl|Redirect-distinguish-for}}&lt;br /&gt;
*{{tl|Technical reasons}}&lt;br /&gt;
&lt;br /&gt;
| group5 = Distinguish&lt;br /&gt;
| list5 =&lt;br /&gt;
*{{tl|Distinguish}} (supports custom text)&lt;br /&gt;
*{{tl|About-distinguish}}&lt;br /&gt;
*{{tl|About-distinguish-text}} (for custom text)&lt;br /&gt;
*{{tl|Redirect-distinguish}}&lt;br /&gt;
*{{tl|Redirect-distinguish-text}} (for custom text)&lt;br /&gt;
*{{tl|Redirect-distinguish-for}}&lt;br /&gt;
&lt;br /&gt;
| group6 = For use in sections&lt;br /&gt;
| list6 =&lt;br /&gt;
*{{tl|Main}}&lt;br /&gt;
*{{tl|Main if exists}}&lt;br /&gt;
*{{tl|Main list}}&lt;br /&gt;
*{{tl|Further}}&lt;br /&gt;
*{{tl|Further-text}} (for custom text)&lt;br /&gt;
*{{tl|Further interlanguage link}}&lt;br /&gt;
*{{tl|See also}}&lt;br /&gt;
*{{tl|See also-text}} (for custom text)&lt;br /&gt;
*{{tl|For outline}}&lt;br /&gt;
*{{tl|For timeline}}&lt;br /&gt;
&lt;br /&gt;
| group7 = Special&lt;br /&gt;
| list7 =&lt;br /&gt;
*{{tl|Broader}}&lt;br /&gt;
*{{tl|For introduction}}&lt;br /&gt;
*{{tl|See Wiktionary}}&lt;br /&gt;
*{{tl|Transcluding article}}&lt;br /&gt;
*{{tl|Transcluded section}}&lt;br /&gt;
&lt;br /&gt;
| group8 = Subject specific&lt;br /&gt;
| list8 = &lt;br /&gt;
* {{tl|About year}}&lt;br /&gt;
* {{tl|Highway detail hatnote}}&lt;br /&gt;
* {{tl|For LMST}}&lt;br /&gt;
* {{tl|WikiIPA}}&lt;br /&gt;
&lt;br /&gt;
| below =&lt;br /&gt;
*{{Icon|cat}} [[:Category:Hatnote templates]]&lt;br /&gt;
**[[:Category:Hatnote modules|modules]]&lt;br /&gt;
**[[:Category:Hatnote templates for names|for [family] names]]&lt;br /&gt;
**[[:Category:Hatnote templates for lists|for lists]]&lt;br /&gt;
*[[Template:Category hatnote templates|hatnote templates for category pages]]&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Never_substitute&amp;diff=1604</id>
		<title>Template:Never substitute</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Never_substitute&amp;diff=1604"/>
		<updated>2025-03-26T11:32:40Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Never_substitute&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Always substitute|yesnomaybe=never|nocat={{{nocat|}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Always_substitute&amp;diff=1602</id>
		<title>Template:Always substitute</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Always_substitute&amp;diff=1602"/>
		<updated>2025-03-26T11:32:39Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Always_substitute&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{{{{|safesubst:}}}#invoke:Unsubst|main|$B=&lt;br /&gt;
{{Ombox&lt;br /&gt;
| name  = Subst only&lt;br /&gt;
| type  = notice&lt;br /&gt;
| text  = &#039;&#039;&#039;This template {{#switch:{{{yesnomaybe|}}}|may=may be [[Help:Substitution|substituted]]&#039;&#039;&#039;|never=should &#039;&#039;not&#039;&#039; be [[Help:Substitution|substituted]]&#039;&#039;&#039;||#default=should always be [[Help:Substitution|substituted]]&#039;&#039;&#039; (i.e., use &amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{{actualtemplate|{{template other|{{Tlsp|code=yes|{{#switch:{{SUBPAGENAME}}|doc|sandbox={{BASEPAGENAME}}|{{PAGENAME}}}}}}|{{Tlsu|code=yes|{{FULLPAGENAME}}}}}}}}})}}. &amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{#if:{{yesno|{{{auto|no}}}}} |Any accidental transclusions will be automatically substituted by a bot.{{{1|}}}{{#if:{{yesno|{{{nocat|}}}}}|&amp;lt;!--no categorization--&amp;gt;|{{#switch:{{SUBPAGENAME}}|doc|sandbox=|[[Category:Wikipedia templates to be automatically substituted]]}}}}}} &amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{#if:{{{alt|}}} |For transcluding, use {{Tl|{{{alt|}}}}} instead.}}&lt;br /&gt;
}}{{#if:{{yesno|{{{nocat|&amp;lt;noinclude&amp;gt;true&amp;lt;/noinclude&amp;gt;}}}}}|&amp;lt;!--no categorization--&amp;gt;|{{#switch:{{SUBPAGENAME}}|doc|sandbox=|{{#switch:{{{yesnomaybe|}}}&lt;br /&gt;
|never=[[Category:Wikipedia never-substituted templates]]&lt;br /&gt;
|#default=[[Category:Wikipedia substituted templates]]&lt;br /&gt;
}}}}}}}}&amp;lt;includeonly&amp;gt;__EXPECTUNUSEDTEMPLATE__&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
	<entry>
		<id>https://tech.wickedgov.org/w/index.php?title=Template:Vertically_aligned_date&amp;diff=1600</id>
		<title>Template:Vertically aligned date</title>
		<link rel="alternate" type="text/html" href="https://tech.wickedgov.org/w/index.php?title=Template:Vertically_aligned_date&amp;diff=1600"/>
		<updated>2025-03-26T11:32:39Z</updated>

		<summary type="html">&lt;p&gt;Awilh 37: 1 revision imported from :wikipedia:Template:Vertically_aligned_date&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span style=&amp;quot;display:inline-block; width:{{if empty|{{{2|}}}|{{{width|}}}|3.6em}}; text-align:{{if empty|{{{3|}}}|{{{align|}}}|right}}; font-weight:{{if empty|{{{4|}}}|{{{font|}}}|normal}};&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Awilh 37</name></author>
	</entry>
</feed>