CyanogenMod ( ; CM) is a discontinued open-source operating system for mobile devices, based on the Android mobile platform. Developed between 2009 and 2016, it is free and open-source software based on the official releases of Android by Google, with added original and third-party code, and based on a rolling release development model. Although only a subset of total CyanogenMod users elected to report their use of the firmware, on 23 March 2015, some reports indicated that over 50 million people ran CyanogenMod on their phones. It was also frequently used as a starting point by developers of other ROMs.

CyanogenMod offered features and options not found in the official firmware distributed by mobile device vendors. Features supported by CyanogenMod included native theme support, FLAC audio codec support, a large Access Point Name list, Privacy Guard (per-application permission management application), support for tethering over common interfaces, CPU overclocking and other performance enhancements, unlockable bootloader and root access, soft buttons, status bar customisation and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth and GPS), and other interface enhancements. CyanogenMod did not contain spyware or bloatware, according to its developers. CyanogenMod was also said to increase performance and reliability compared with official firmware releases.

In 2013, the founder, Stefanie Jane (née Kondik), obtained venture funding under the name Cyanogen Inc. to allow commercialization of the project. However, the company did not, in her view, capitalize on the project's success, and in 2016 she left or was forced out as part of a corporate restructure, which involved a change of CEO, closure of offices and projects, and cessation of services, and therefore left uncertainty over the future of the company. The code itself, being open source, was later forked, and its development continues as a community project under the LineageOS name.

History and development Soon after the introduction of HTC Dream (named the "T-Mobile G1" in the United States) mobile phone in September 2008, a method was discovered to attain privileged control (termed "root access") within Android's Linux-based subsystem. Having root access, combined with the open-source nature of the Android operating system, allowed the phone's stock firmware to be modified and re-installed onto the phone.

In the following year, modified firmware for the Dream was developed and distributed by Android enthusiasts. One, maintained by a developer named JesusFreke, became popular among Dream owners. After Google issued its Android RC30 over-the-air update in November 2008 that fixed the bug that had previously been used for root access, he began offering modified versions that restored root access and gradually expanded them. In August 2009, JesusFreke stopped work on his firmware and suggested users to switch to a version of his ROM that had been further enhanced by developer Cyanogen (the online name used by Stefanie Jane, a Samsung software engineer) called "CyanogenMod" (user adaptations being often known as modding).

The name CyanogenMod is derived from cyanogen (the name of a chemical compound adopted as a nickname by Jane) + Mod (a term for user-developed modifications, known as modding).

CyanogenMod grew in popularity, and a community of developers, called the CyanogenMod Team (and informally "Team Douche") made contributions. Within a few months, the number of devices and features supported by CyanogenMod blossomed, and CyanogenMod became one of the popular Android firmware distributions.

Similar to many open-source projects, CyanogenMod was developed using a distributed revision control system with the official repositories being hosted on GitHub. Contributors submit new features or bugfix changes using Gerrit. Contributions may be tested by anyone, voted up or down by registered users, and ultimately accepted into the code by one of a handful of CyanogenMod developers.

A version of ADW.Launcher, an alternative launcher (home screen) for the Android operating system, became the default launcher on CyanogenMod 5.0.8. The launcher provides additional features not provided by the default Android launcher, including more customization abilities (including icon themes, effects, and behavior), the ability to backup and restore configuration settings, and other features. As of version 9, CyanogenMod's own launcher, Trebuchet, is included with the firmware.

Initially, CyanogenMod releases were provided on a nightly, milestone, and "stable version" schedule; as of CyanogenMod 11 M6, the "stable" label will no longer be used, having been supplanted by "milestone" M-builds that are part of the CyanogenMod's rolling release development model.

Current CyanogenMod version list: CM VersionBased onCyanogenMod 3Android 1.5 (Cupcake)CyanogenMod 4Android 1.6 (Donut)CyanogenMod 5Android 2 (Eclair)CyanogenMod 6Android 2.2 (Froyo)CyanogenMod 7Android 2.3 (Gingerbread)CyanogenMod 9Android 4.0 (Ice Cream Sandwich)CyanogenMod 10/10.1/10.2Android 4 (Jelly Bean)CyanogenMod 11Android 4.4 (KitKat)CyanogenMod 12Android 5.0 (Lollipop)CyanogenMod 12.1Android 5.1 (Lollipop)CyanogenMod 13Android 6.0 (Marshmallow)CyanogenMod 14Android 7.0 (Nougat)LineageOS 14.1Android 7.1 (Nougat)

CyanogenMod 7

CyanogenMod 7 firmware is based on Android 2.3 Gingerbread with additional custom code contributed by the CyanogenMod Team. The custom portions of CyanogenMod are primarily written by Cyanogen (Stefanie Jane) but include contributions from the XDA Developers community (such as an improved launcher tray, dialer, and browser) and code from established open-source projects (such as BusyBox in the shell).

CyanogenMod 7 development began when Google released Android 2.3's source code. On 15 February 2011, the first release candidates of CyanogenMod 7 were rolled out on several of the supported devices. The fourth release candidate was released on 30 March 2011 and brought increased support for the Nook Color and similar devices, as well as many bug fixes. On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3. CyanogenMod 7.1 was released on 10 October 2011, based on Android 2.3.4. The latest stable version, CyanogenMod 7.2 was released on 16 June 2012, based on Android 2.3.7, bringing a predictive phone dialer, lock-screen updates, ICS animation backports and many bug fixes.

CyanogenMod 8 CyanogenMod version 8 was planned to be based on Android 3.x Honeycomb. However, as the source code for Honeycomb wasn't provided by Google until it appeared in the source tree history of its successor, Android 4.0 Ice Cream Sandwich, the release schedule advanced from CyanogenMod 7 (Gingerbread) directly to CyanogenMod 9 (Ice Cream Sandwich).

CyanogenMod 9 CyanogenMod 9 is based on Google's Android 4.0 Ice Cream Sandwich and is the first version of CyanogenMod to use the Trebuchet launcher. Stefanie Jane and her team announced that they had begun work on the new release after Google released the source code of Android 4.0.1. Development on this release took longer than with previous releases due to the significance of the changes between Android 2.3 "Gingerbread" and 4.0 "Ice Cream Sandwich", and the team took this opportunity to clarify their vision for the ROM and rethink any modifications which were no longer necessary due to improvements within Android.

By the last days of November 2011, some alpha versions had been distributed, in particular for the Samsung mobile phones Nexus S and Galaxy S. On 9 August 2012, after various betas and release candidates, CyanogenMod released the finished version of CyanogenMod 9. Given that the next version of Android, 4.1 "Jelly Bean", had already been released by that point, development moved swiftly on to CyanogenMod 10. On 29 August 2012, CyanogenMod released a minor update, version 9.1.0, bringing bugfixes and an app called SimplyTapp for NFC payments.

On 4 April 2012, during development, CyanogenMod unveiled "Cid" (pronounced ), the new CyanogenMod mascot, which replaced the previous mascot, Andy the skateboarding "bugdroid". Designed by user Ciao, Cid (C.I.D.) is an abbreviation of "Cyanogenmod ID".

CyanogenMod 10 CyanogenMod 10.0 In early July 2012, the CyanogenMod team announced, via its Google+ account, that CyanogenMod 10 would be based on Android 4.1 Jelly Bean. Nightly builds of CyanogenMod 10 were made available for many devices supported by CyanogenMod 9. Starting with the September 2012 M1 build, the CyanogenMod team began monthly "M-series" releases. At the beginning of each month, a soft freeze of the CyanogenMod codebase is put into effect; once the team deems a build stable enough for daily use, it is released under the milestone or "M" series. On 13 November 2012, final stable builds were released for several devices.

CyanogenMod 10.1 CyanogenMod 10.1 is based on Android 4.2 Jelly Bean. Nightly versions are currently being released for an array of devices, along with M Snapshots (Monthly Snapshots) which are being released for select devices. On 24 June 2013, the CyanogenMod 10.1.0 codebase (based on Android version 4.2.2) was moved to "stable" status, with a majority of currently-supported devices receiving stable builds on the same day. CyanogenMod's developers have indicated that they will continue the Monthly Snapshot schedule to incorporate new features until the next Cyanogenmod release. Unfortunately, many devices utilizing Samsung Exynos and Nvidia Tegra 2 SoC's were not part of the initial release.

CyanogenMod 10.2 The first nightly release of CyanogenMod 10.2, which is based on Android 4.3 Jelly Bean, began rolling out for a selected number of devices on 14 August 2013. It brings in some new enhancements to the system, such as Bluetooth Low Energy and OpenGL ES 3.0 support, a renewed Phone app, 4K resolution support, as well as many security and stability improvements.

CyanogenMod 11

On 6 November 2013 the CyanogenMod team started pushing the code of CyanogenMod 11, based on Android 4.4 KitKat, to GitHub. The first nightly release of CyanogenMod 11.0 began rolling out for a selected number of devices on 5 December 2013. Since then, M-builds have been released every month for supported devices, offering a more stable experience than nightlies. With build M6 it was clarified that CyanogenMod would no longer be releasing final builds specially tagged "stable", but instead would utilize the rolling release model with M-builds representing a stable channel.

The global OnePlus One is shipped with a variant of CyanogenMod 11 M9 known as "CyanogenMod 11S". The latest version of CyanogenMod 11S for the One is 11.0-XNPH05Q, based on CyanogenMod 11 M11 and Android 4.4.4 "KitKat", and was released as an over-the-air (OTA) update in February 2015.

CyanogenMod 12 The first nightly release of CyanogenMod 12, based on Android 5.0 Lollipop, began rolling out for a selected number of devices on 6 January 2015. A stable snapshot was released on 25 June 2015, and a security patch snapshot was released on 1 September 2015.

Cyanogen OS 12, a variant of CyanogenMod 12 for the OnePlus One and Yu Yureka was released in April 2015. Yu Yuphoria got Cyanogen OS 12 out-of-the-box when it was launched in May 2015. CyanogenMod 12.1 The first nightly release of CyanogenMod 12.1, based on Android 5.1, was announced on . A stable snapshot build was released on 1 September 2015, but nightly builds continue to roll out every day.

Lenovo ZUK Z1, Wileyfox Swift and Storm got Cyanogen OS 12.1 out-of-the-box when it was launched in September 2015. YU's Yureka, Yureka Plus, and Yuphoria got a Cyanogen OS 12.1 OTA update.

CyanogenMod 13