CyanogenMod
===============

Visit http://github.com/CyanogenMod for full source and git access.

Visit http://review.cyanogenmod.org for our Gerrit instance.

CHANGELOG (notable new features)
---------
### 11.0.0 M11
* Common: Android 4.4.4 (Google)
* New Devices: Galaxy S4 Active (jactivelte), Galaxy S4 SK I-9506 (ks01lte), Galaxy S5 GSM (klte), Galaxy Tab 10.1 (picassowifi), Galaxy Player 4.0 (ypg1)
* Re-introduce Samsung Galaxy Relay 4G (apexqtmo) support
* Fix signal strength showing ’2147483647′ on certain devices
* Frameworks & Core Apps: CAF and other upstream updates
* Lockscreen: Do not play sounds while a phone call is active & MSIM updates
* Frameworks: Add base & MSIM APIs for SEEK (Secure Element Evaluation Kit) support
* Frameworks: Fix volume button changing two ‘steps’ per click
* Frameworks: Add ‘Screen Off’ action for double-tap/long-press configuration options
* Show devices connected to your WiFi (tethering) Hotspot
* Fix bug related to ‘switch to last app’ action while in Recents view
* Fix Navigation Bar arrow keys in RTL locales
* Translations updates from CyanogenMod CrowdIn team
* Adjustments to ‘Glove Mode’ (High Touch Sensitivity)
* APN Updates for various regions
* Camera: Add support for all available Slow Shutter speeds (hardware dependent); Improve shutter button
* Dialer/InCallUI: Fix smartcover always showing answer fragment
* LG G2: Address GPS and NFC issues
* Base support for HTC Desire 816 & HTC One Mini 2 (pending nightlies)
* Various security updates
* General bug fixes

### 11.0.0 M10
* Common: Android 4.4.4 (Google)
* New Devices: Galaxy S5 Sprint (kltespr)
* Split out Note 3 into GSM (hlte), Sprint (hltespr) and Verizon (hltevzw)
* Refactor moto_msm8960dt as 'ghost' for Moto X 2013
* Drop support for obake, toro, toroplus
* Theme Engine: Themes support for additional UI elements
* Frameworks & Core Apps: CAF and other upstream updates
* Settings: Add scramble pin feature
* Frameworks: Long press recent apps to switch to last used app
* Settings: Add soft reboot option
* Add smart cover support
* Add glove mode support
* Add bug reporter and crash log uploader
* Multisim updates
* General bug fixes
* ANT+ Support for various hardware
* Privacy Guard: Control NFC permissions

### 11.0.0 M9
* Common: Android 4.4.4 (Google)
* New Devices: Sony Xperia Z2 Tablets (castor); HTC One (m8)
* Theme Engine: Themes support for additional UI elements
* Lockscreen: Allow doubletap to sleep when using secure keyguard
* Settings: Safe Headset Volume – prompt when interfering with 3rd party device (Jawbone, Square, etc)
* Settings: Center clock support
* Settings: Proximity Wake-Up support
* Settings: Spam notification filtering
* Settings Search: Additional improvements and highlighting
* Data Usage Info: Add support for CDMA devices without sim cards
* Bluetooth: Add additional A2DP profiles
* Bluetooth: Disable AVRCP 1.5 by default (fixes various car unit compatibility)
* Email: Fix saving attachments to storage for POP3 accounts
* Account for Play Services induced wake-locks
* Fix encryption on some LG Devices
* Dialer: add support for Korean and Chinese to smart-dialer

### 11.0.0 M8
* Common: Android 4.4.4 (Google)
* New Devices: Sony Xperia Z2 (sirius); Xiaomi Mi2 (aries); Oppo Find 7a/s (find7); OnePlus One (bacon)
* Common: Fix VPN issues related to 4.4.3 merge
* Common: Enable 'Heads Up' notification mode (Settings > Notifications)
* Settings: 'Interface' replaced by 'Status Bar', 'Notification Drawer', and 'Gestures'
* Settings: Moved 'Expanded Desktop' to 'Display'
* Settings: Moved all lock screen related items to 'Lock Screen' and removed duplicates from 'Security'
* Settings: Moved 'Navigation Bar' layout control to 'Buttons'
* Trebuchet: Custom Homescreen grid size
* Trebuchet: Add Protected Apps feature
* Trebuchet: Add Search Panel (Google Now) option
* WhisperPush: No longer ignores 'Blacklist'
* Futex: Protect against Towelroot
* Various small bugfixes, global and device-specific

### 11.0.0 M7
* Common: Android 4.4.2 (Google)
* New Devices: HTC One (m8); Samsung Galaxy Tab Pro 8.4 (mondrianwifi); Galaxy Note 8.0 LTE (n5120); LG G2 Docomo (l01f)
* Common: Theme Chooser UI Overhaul
* Common: Calculator app redesign (courtesy Xlythe)
* Common: Performance Profiles
* Common: Improved theming performance on low memory devices (~512MB RAM or less)
* Trebuchet: Move settings to new slide-out panel
* Trebuchet: Consolidate settings for home and drawer options
* Media: Add FFMPEG support (expanded media format support)
* Bluetooth: Improved support for new car audio systems and docks
* Various small bugfixes, global and device-specific

### 10.2.0
* Common: Android 4.3 (Google)
* Common: Privacy Guard 2.0 with AppOps
* Common: Quick Settings Ribbon (replaces Notification Power Widgets)
* Common: Hardware Tunables HAL
* Common: Settings restructure
* SMS: Voice+ (Google Voice integration)
* SMS: Middleware layer
* APN: World Phone Support (unified APN list)
* Trebuchet: Universal Icon Pack support
* Various small bugfixes, global and device-specific

### 10.1.3
* Common: CyanogenMod Account
* Common: Privacy Guard
* Common: Dialer blacklists
* Common: Wake-on-Home
* Common: QuickSettings camera
* Common: Profile improvements
* Various small bugfixes, global and device-specific

### 10.1.2
* Master Key #2 fix

### 10.1.1
* Master Key #1 fix

### 10.1.0
* Common: Android 4.2.2 (Google)
* Common: cLock Lockscreen and Homescreen Widget
* Common: Theme Engine Support
* Common: Customize Navigation Bar (on devices without hardware keys)
* Common: Customize Notification Light
* Common: Display Battery Light
* Common: Profiles with NFC support
* Common: Customize Screen Rotation
* Common: Notification Power Widgets
* Common: DSP Manager
* Common: Volume Rocker Wake
* Common: Performance Settings (I/O Scheduler, CPU Governor, etc)
* Quick Settings: Panel Customization
* Quick Settings: Toggle QS panel with horizontal swipe
* Quick Settings: Split QS actionable area
* Quick Settings: Added QS Tiles
* Status Bar: Hide or Show Clock
* Status Bar: Battery Percentage and Circle Battery
* Status Bar: Show Notification Counts
* Status Bar: Signal Status Customization
* Status Bar: Set Date and Time as buttons (with longpress actions)
* Trebuchet: Launcher Updates
* Lockscreen: Slider Shortcuts
* Lockscreen: Maximize Widgets on Wake

### 10.0.0
* Common: Android 4.1.2 (Google)

### 9.0.0
* Common: Android 4.0.4 (Google)

### 7.1.0
* Common: Android 2.3.7 (Google)
* Common: Bluetooth mouse support - Scott Brady
* Common: Improve notification swipe-to-clear - Evan Charlton
* Common: Improve album-artist support in media scanner - Paul Crovella
* Common: Profile improvements and bugfixes - Martin Long, Danny Baumann, Robert Burns
* Common: RTL text improvements - Eyad Aboulouz, Eran Mizrahi
* Common: Wake on volume key option - Sven Dawitz
* Common: Support for revoking application permissions - Plamen K. Kosseff
* Common: Latest Superuser app - ChainsDD
* Common: Control brightness by sliding on statusbar - Danesh M
* Common: Add "copy all" to context menu - Danesh M
* Common: Lockscreen haptic and statusbar indicators toggle - Danesh M
* Common: Nicer timepicker/datepicker - Jiri Tyr
* Common: Configuration 0/90/180/270 rotation - Jonas Larsson, Scott Brady
* Common: DSP Manager bugfixes and improvements - Antti S Lankila
* Common: Support for launching apps via gestures in the background - Jiri Tyr
* Common: Option to hide hold button during call - Roberto Leinardi
* Common: Allow using wildcards for call blacklisting - Nihanth Subramanya
* Common: Option to allow in-call lockscreen to match main lockscren - Sven Dawitz
* Common: Option to notify about incoming call only in background when screen is on - Pavel Kucera
* Common: ADWLauncher- Transitions, catalog improvements, bugfixes - John Van Etten
* Common: Optional GMT correction for SMS/MMS timestamps - Terry Hau
* Common: Add FM Seek for TI devices - KalimochoAz
* Common: Add FM support for SI4708 devices (Blade, V9, Racer) - Stéphane Konstantaropoulos
* Common: Add FM seek implementation to FM application - Tom Giordano
* Common: Show current FM status on lockscreen - Tom Giordano
* Common: Camera touch-to-focus - cyanogen, arcee, m0viefreak, Danny Baumann
* Common: Screenshot feature via power menu - arcee
* Common: WEBP backport - Vikas Arora
* Common: Add CM copyright noticies - arcee
* Common: Skia/Zlib/libcore ARM optimizations - 0xlab
* Common: Bluetooth tethering - Stéphane Konstantaropoulos
* Common: Lockscreen widget alignment - Danesh Mondegarian
* Common: Lockscreen calendar - David Morgan
* Common: AVRCP 1.3 support - Qualcomm (bugfix by Danny Baumann)
* Common: LED notification overhaul - Danny Baumann
* Common: System-wide DNS cache - Google, SEMC
* Common: Headset icon toggle - Cameron Pickett
* Common: FM seek support - Emilio López, Tom Giordano
* Common: Editable event fields in Contacts app - Danny Baumann
* Common: Remove compromised CA from system certs - Guardian Project
* Common: Mute camera shutter option - George Maizel
* Common: Camera timer - Danesh Mondegarian
* Common: "Mark all read" option in MMS - Vinod Surendran
* Common: "eat" pushes fresh brunch/breakfast to device - Ricardo Cerqueira
* Common: Customizable account color chip in Email - copolii
* Common: "Rings" lockscreen - Valera Trubachev
* Click, Motorola: Speed up photo recording - Emilio López
* Click, Motorola: Add Geolocation to photo app - KalimochoAz
* Click: Upgraded kernel from HTC 2.6.29 to 2.6.35
* HTC msm7x30: 2.6.35 kernel and updated userspace
* Buzz: 2.6.35 kernel - Arne Coucheron
* Bravo(c)/Vivo(w)/Ace/Liberty: On charge notification led - Richard Antony Burton
* Crespo/Crespo4G: Kernel update 2.6.35.14 and more, voodoo implementation, BLN, BLX...
* Encore: Update kernel from 2.6.29 to 2.6.32 - Dalingrin,Fattire,Verygreen
* Encore: New GPU drivers and userspace libs
* Encore: Adjustable clockspeed and voltage - Dalingrin
* Encore: Backport 2.6.35 Bluetooth - Fattire
* Encore: Working mem sleep
* Encore: USB host support - Verygreen

### 7.0.3
* Common: Don't allow packages with platform keys on user-controlled storage

### 7.0.2
* Common: Fix issue with missing built-in themes
* Common: Update bundled ROM Manager to latest version
* Supersonic: Actually fix GPS
* Supersonic: Fix proximity and light sensor

### 7.0.1
* Common: Fix fling velocity of status bar and ADW swipe - Sven Dawitz
* Common: Fixed webview layout bug (issue 3229) - Zinx
* Common: Fix GVoice-opens-twice bug - Zinx
* Common: Fix issues on all devices with DNS resolution failure after some time - Zinx, various
* Common: RTL improvements - Eran Mizrahi, Eyad Aboulouz
* Common: Fix crashes in Arabic locale - Eyad Aboulouz
* Common: Add Arabic keylayout - Eyad Aboulouz
* Common: Improve ADWLauncher scrolling/zoom performance - Pavel Kucera
* Common: Fix excessive memory use when appending to textviews - Cyanogen
* Common: New wallpapers from the CM community (CC License, see app for credits)
* Common: Option to disable vibration while in-call - Evan Charlton
* Common: Add long press option to status bar widgets for settings - Alex Avance
* Common: Compact carrier and status bar tweaks - Nihanth Subramanya, rorifree
* Sholes: Fix connectivity loss bug - cvpcs
* Speedy: Fix keyboard lights - JD Horelick
* Glacier: Fix backlights - Zinx
* Glacier: fix GPS issues - Zinx/QCom
* msm7x30: Fix bugs during video resume - Zinx
* qsd8x50: Fix 720p video playback
* qsd8x50: Unified 2.6.37 kernel - Cyanogen, toastcfh, slayher
* Espresso, Legend: WiFi fix (HTC)
* Supersonic: Fix GPS issues (HTC)
* msm7227: Fix GPS issues - Alex Hofbauer
* Click: Fix recovery kernel and compilation. Now works well with latest code - KalimochoAz
* Click: Speed up internet connection - KalimochoAz
* Blade: Update kernel to match Gen2 Radio - kallt_kaffe
* Blade: Update libaudio to fix SIP audio routing and microphone mute - Tom Giordano

### 7.0.0
* Common: Android 2.3.3 (Gingerbread) - Google
* Common: Fixes and changes from AOSP master - Various
* Common: ClockworkMod Recovery 3.0: Koush, Cyanogen, Zinx
* Common: Themes engine - T-Mobile
* Common: Performance enhancements for Qualcomm hardware - Code Aurora
* Common: New boot animation - 73v1n - http://www.youtube.com/watch?v=mYXiKWwp0DQ
* Common: Fix readahead values for NAND/MMC devices
* Common: Revamped notification widget - cvpcs
* Common: Updated various graphics for GB style - blunden
* Common: DSPManager updated for 2.3 - alankila
* Common: Restyled music app and forward-port of features - Jason Asher
* Common: Rotary answer in Phone app - James Peterson
* Common: BT VoiceDialer fixes - Matthew Sparby
* Common: Calendar enhancements - James Peterson
* Common: Stagefright fixes for 7x30, 8x50, and 7x27 - Zinx, arcee, Cyanogen
* Common: Pacman package manager - Kmobs
* Common: Workaround for unknown phone number - Jiri Tyr
* Common: Trackball answer/hangup - Juan Rodriguez
* Common: CMParts reorganization - Robert Burns
* Common: View ChangeLog via CMParts (System) - Wes Garner
* Common: Optional screen on/off animations - Diogo Ferreira
* Common: New browser incognito mode - optedoblivion
* Common: New trackball/trackpad wake - Zinx, Cyanogen
* Common: Legacy sensor/GPS support - arcee
* Common: Enabled v8 javascript engine on armv6 (msm7227/msm7225) - arcee
* Common: Customizable overscroll - arcee
* Common: Torch cleanup - defer
* Common: 2D compositor backwards compatibility - arcee
* Common: OpenGL backwards compatibility - Zinx, Cyanogen, Sileht, ezterry
* Common: SMS templates using gestures - Riccardo Ciovati
* Common: Phone Goggles - David Bidorff
* Common: Option to always show battery percentage on lockscreen - Robert Burns
* Common: Option to show music controls with compatible headset connection - Wes Garner
* Common: CPU frequency/scaling control in CMParts - Robert Ramiega
* Common: Option to pause/play music with camera button - cvpcs
* Common: Allow SIP User-Agent configuration - arcee
* Common (non-HTC): Fixed mobile connection suspension - arcee
* Common: New music widgets - Jason Asher
* Common: Updated FLAC support - cvpcs, Cyanogen, kroot
* Common: Updated wallpapers - Fitsnugly, Prash
* Common: Customizable search/long-press search - Sven Dawitz
* Common: New lockscreen styles - Rotary Revamped (default) and Lense - Sven Dawitz, Stefano Pignataro
* Common: Customizable app launcher on rotary lockscreen - Sven Dawitz
* Common: Now playing and album art on lockscreen - kmobs
* Common: GPS fixes - CodeAurora, arcee
* Common: Breakfast/Brunch - arcee
* Common: Statusbar battery percentage with mini icon - Sven Dawitz, design by Jazz Kalsi
* Common: SMS split for braindead carriers - Mike Wielgosz
* Common: MMS user-defined custom vibrate - Wes Garner
* Common: CMParts cleanup - Sven Dawitz
* Common: Notification profiles - Martin Long
* Common: TI wl12xx FM radio reverse engineering - Michael A. Reid
* Common: Tablet tweaks - Sven Dawitz
* Common: Revamped CMStats - Chris Soyars
* Common: Improved RTL text support and fonts - Eyad Aboulouz, Eran Mizrahi,
* Espresso/Legend: Enabled native WiFi tethering - Cyanogen, OMAPZoom.org
* Legend/Liberty/Buzz/Click: Enabled FM Radio - Alexander Hofbauer (libaudio patch)
* Z71: Enabled MPEG4/AAC video recording - arcee
* Z71: Enabled native WiFi tethering - arcee
* Passion/Bravo/BravoC/Supersonic/Inc: Kernel 2.6.37 - Google, Cyanogen, defer, Kali-, toastcfh, slayher
* Vision/Glacier/Espresso: WiFi calling compatibility and optimization - Zinx
* Vision/Glacier/Ace: Unified kernel - HTC, Cyanogen, Zinx, Kali-, defer
* Vision/Glacier/Ace: Fix FM radio on 2.3 - Zinx
* Vision/Glacier/Ace: Fixes for video overlay - Zinx, CodeAurora
* Vision: Only install WiFi calling on TMUS devices - attn1
* Espresso/Legend/Liberty: Unified kernel - HTC, Cyanogen, attn1, jznomoney, Alexander Hofbauer
* Supersonic: WiMAX support - HTC, Shinzul, toastcfh, shift, #teamwin, Cyanogen, Joey Conway
* Supersonic: HDMI mirror support: #teamwin
* ONE: Enabled native WiFi tethering - arcee
