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

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

CHANGELOG
---------

### 6.0.0-pre
* ANDROID: Google, HTC, Qualcomm, and everybody else.  We <3 U
* Common: Deskclock extra settings - cyanogen, mtwebster
* Common: ADWLauncher 0.9 - Ander Webbs
* Common: Music app enhancements - Eliot Stocker
* Common: Phone mod V.30.1 - cytown
* Common: WyContacts 1.2 - Wysie (port to Froyo by Sileht)
* Common: Superuser 2.2.2 - Adam Shanks (ChainsDD)
* Common: MMS enhancements from Ruqqq, Takuo Kitame, jeagoss
* Common: Improved RTL text rendering - David Kohen, Omri Baumer
* Common: Themable user interface elements - Wysie, bcrook, jeagoss
* Common: FLAC playback support - Kenny Root, Cyanogen, Glenn Maynard
* Common: Lockscreen enhancements - Wysie
* Common: Long-press home options - Wysie, bcrook
* Common: OpenVPN support - James Bottomley, Takuo Kitame
* Common: Br0tips - Kmobs
* Common: Browser incognito mode - Optedoblivion
* Common: Zipalign on install (if needed) + system dex cache to /cache - Cyanogen/Chris Soyars
* Common: Customizable Nexus LWP - Chris Soyars/Cyanogen
* Common: JIT toggle, configurable heapsize, compcache supprt - Cyanogen
* Common: Adjustable haptic feedback - Michael Webster
* Common: Custom wallpapers - jairomeo, prash, SatanR1
* Common: Battery percentage display - canadiancow, jeagoss
* Common: Trackball wake, trackball unlock, menu unlock - Jon Boekenoogen/Kmobs
* Common: Surfaceflinger night mode and effects - Jeff Sharkey, widget from Wysie
* Common: Reflow webviews on pinch option - Jonas Larsson
* Common: Enhanced accelerometer settings - Jonas Larsson
* Common: A2DP bugfixes - Glenn Maynard
* Common: Browser fullscreen mode and other enhancements - Wysie
* Common: Translations: Takuo Kitame, Matthias Büchner, Eug89
* Common: Major build system enhancements by Chris Soyars & Koush
* Common: Long press volume buttons to skip songs - Jon Boekenoogen
* Common: Accelerated ARMv7 JPEG decoding - Qualcomm
* Common: Patch wrangling - Cyanogen, Chris Soyars, Koush
* Common: Bluetooth HID support - Erin Yueh @ 0xlab
* Common: Mouse pointer support - Chih-Wei Huang (android-x86)
* Common: Configurable install location + allow move any app to external storage - Cyanogen
* Common: Busybox, nano, and libncurses are now built from source. - cvpcs
* Common: Dual camera support - Cyanogen
* Common: Support for HTC camera firmware with extra features - Cyanogen, Qualcomm
* Common: Customizable status bar - Michael Webster 
* N1/DS: Kernel 2.6.34 with Pershoot/Kmobs clock settings
* D/S: Camera reverse engineering by NCommander & Cyanogen
* D/S: Kernel patches for stability from Zinx Verituse
* D/S: MT3G Fender/1.2 support from Zinx Verituse
* EVO: Kernel base from toastcfh, display patches from AssassinsLament and netarchy, backport of various features from Cyanogen
 

### Maintainers:
* Nexus One: Cyanogen
* Droid: Koush
* Dream/Sapphire: Cyanogen
* Hero: Lox (GSM), Darchstar (CDMA)
* Bravo (Desire): Kali-, Defer, behnaam
* Incredible: Koush
* Espresso (Slide): Wes Garner, Chris Soyars
* Supersonic (EVO): Cyanogen, toastcfh

