Import documents from code.google.com to GitHub.

To complete repository migration from code.google.com to GitHub,
this CL imports several documents written in Wiki format as
Markdown format.
diff --git a/README.md b/README.md
index 7d63271..380548d 100644
--- a/README.md
+++ b/README.md
@@ -5,16 +5,15 @@
 
 Mozc is a Japanese Input Method Editor (IME) designed for multi-platform such as
 Android OS, Apple OS X, Chromium OS, GNU/Linux and Microsoft Windows.  This
-open-source project originates from
+OpenSource project originates from
 [Google Japanese Input](http://www.google.com/intl/ja/ime/).
 
 Build Status
 ------------
 
-|         |Android |Windows |OS X |Linux |NaCl |
-|---------|:------:|:------:|:---:|:----:|:---:|
-|**Build**|N/A     |[![Build status](https://ci.appveyor.com/api/projects/status/qm7q355lenq5ogp6/branch/master?svg=true)](https://ci.appveyor.com/project/google/mozc/branch/master) |[![Build Status](https://travis-ci.org/google/mozc.svg?branch=master)](https://travis-ci.org/google/mozc) |N/A |N/A |
-
+|Android |Windows |OS X |Linux |NaCl |
+|:------:|:------:|:---:|:----:|:---:|
+|N/A     |[![Build status](https://ci.appveyor.com/api/projects/status/qm7q355lenq5ogp6/branch/master?svg=true)](https://ci.appveyor.com/project/google/mozc/branch/master) |[![Build Status](https://travis-ci.org/google/mozc.svg?branch=master)](https://travis-ci.org/google/mozc) |N/A |N/A |
 
 What's Mozc?
 ------------
@@ -27,6 +26,31 @@
 
 In this repository, *Mozc* means the second definition unless otherwise noted.
 
+Detailed differences between Google Japanese Input and Mozc are described in [About Branding](doc/about_branding.md).
+
+Build Instructions
+------------------
+
+* [How to build Mozc in Docker](doc/build_mozc_in_docker.md): Android, NaCl, and Linux desktop builds.
+* [How to build Mozc in OS X](doc/build_mozc_in_osx.md): OS X build.
+* [How to build Mozc in Windows](doc/build_mozc_in_windows.md): Windows build.
+
+Release Plan
+------------
+
+tl;dr. **There is no stable version.**
+
+As described in [About Branding](doc/about_branding.md) page, Google does
+not promise any official QA for OSS Mozc project.  Because of this,
+Mozc does not have a concept of *Stable Release*.  Instead we change version
+number every time when we introduce non-trivial change.  If you are
+interested in packaging Mozc source code, or developing your own products
+based on Mozc, feel free to pick up any version.  They should be equally
+stable (or equally unstable) in terms of no official QA process.
+
+[Release History](doc/release_history.md) page may have additional
+information and useful links about recent changes.
+
 License
 -------
 
diff --git a/doc/about_branding.md b/doc/about_branding.md
new file mode 100644
index 0000000..675ad95
--- /dev/null
+++ b/doc/about_branding.md
@@ -0,0 +1,25 @@
+About Branding
+==============
+
+# Differences between Google Japanese Input and Mozc
+
+| Product Name | Google Japanese Input Stable Version                                 | Google Japanese Input Development Version                                 | Mozc |
+|:-------------|:---------------------------------------------------------------------|:--------------------------------------------------------------------------|:-----|
+| Branding     | Google Japanese Input (Google 日本語入力)                            | Google Japanese Input (Google 日本語入力)                                 | Mozc |
+| Release Form | Binary Installer                                                     | Binary Installer                                                          | Source code |
+| License Agreement | Available on the installation page                              | Available on the installation page                                        | 3-Clause BSD License (except for third-party code) |
+| Target Platform | Microsoft Windows Apple OS X Android Google Chrome OS             | Microsoft Windows, Apple OS X                                             | Android OS, Microsoft Windows, Apple OS X, GNU/Linux, Chromium OS |
+| Version String | GoogleJapaneseInput-1.x.yyyy.0 (Windows), GoogleJapaneseInput-1.x.yyyy.1 (OS X), GoogleJapaneseInput-1.x.yyyy.3 (Android), GoogleJapaneseInput-1.x.yyyy.4 (Chrome OS) | GoogleJapaneseInput-1.x.yyyy.100 (Windows), GoogleJapaneseInput-1.x.yyyy.101 (OS X) | Mozc-1.x.yyyy.102 |
+| Logo         | Colorful                                                             | Colorful                                                                  | Orange |
+| Code Location | Google internal                                                     | Google internal                                                           | [GitHub](https://github.com/google/mozc) |
+| System Dictionary | Google internal                                                 | Google internal                                                           | [Mozc dictionary](../src/data/dictionary_oss/README.txt) |
+| Usage Dictionary | [Japanese Usage Dictionary](https://github.com/hiroyuki-komatsu/japanese-usage-dictionary) | [Japanese Usage Dictionary](https://github.com/hiroyuki-komatsu/japanese-usage-dictionary) | [Japanese Usage Dictionary](https://github.com/hiroyuki-komatsu/japanese-usage-dictionary) |
+| Collocation Data | Google internal                                                  | Google internal                                                           | [Only examples are available](../src/data/dictionary_oss/collocation.txt) |
+| Reading Correction Data | Google internal                                           | Google internal                                                           | [Only an example is available](../src/data/dictionary_oss/reading_correction.tsv) |
+| Suggestion Filter | Google internal                                                 | Google internal                                                           | [Only an example is available](../src/data/dictionary_oss/suggestion_filter.txt) |
+| Japanese ZIP Code Dictionary | Included                                             | Included                                                                  | Not included. [You can add it by yourself](../src/data/dictionary_oss/README.txt) |
+| Quality Assurance | New releases are tested by Google before sending to users       | Basically the same to Stable but some additional QA tests are skipped before sending to users | No official QA by Google |
+| Crash Reporting | Chrome OS: Integrated into the OS settings Other platforms: No by default. You can turn it on | Yes                                           | No   |
+| User Metrics Reporting | Chrome OS: No  Other platforms: No by default. You can turn it on    | Yes                                                             | No   |
+| Google Update | Android : No Other platforms: Yes                                   | Yes                                                                       | No   |
+| Other Online Features | Not supported yet                                           | Cloud Handwriting                                                         | Nothing |
diff --git a/doc/build_mozc_in_docker.md b/doc/build_mozc_in_docker.md
new file mode 100644
index 0000000..953d7d4
--- /dev/null
+++ b/doc/build_mozc_in_docker.md
@@ -0,0 +1,130 @@
+How to build Mozc in Docker
+===========================
+
+# Introduction
+Docker containers are available to build Mozc binaries for Android, NaCl, and Linux desktop.
+
+# System Requirements
+Currently, only Ubuntu 14.04 is tested to host the Docker container to build Mozc. See [official document](http://docs.docker.com/installation/ubuntulinux/#ubuntu-trusty-1404-lts-64-bit) to set up Docker for Ubuntu 14.04.
+
+## Set up Ubuntu 14.04 Docker container
+
+```
+mkdir ubuntu14.04 && cd ubuntu14.04
+curl -O https://raw.githubusercontent.com/google/mozc/master/src/docker/ubuntu14.04/Dockerfile
+sudo docker build --rm -t $USER/mozc_ubuntu14.04 .
+sudo docker run --interactive --tty --rm $USER/mozc_ubuntu14.04
+```
+
+## Set up Fedora 21 Docker container
+Fedora 21 container is also provided just for your reference.
+
+```
+mkdir fedora21 && cd fedora21
+curl -O https://raw.githubusercontent.com/google/mozc/master/src/docker/fedora21/Dockerfile
+sudo docker build --rm -t $USER/mozc_fedora21 .
+sudo docker run --interactive --tty --rm $USER/mozc_fedora21
+```
+
+### Hint
+Don't forget to rebuild Docker container when Dockerfile is updated.
+
+### Update the source tree
+If Dockerfile is not updated but GitHub Mozc repository is updated, you can fetch the latest source code as follows.
+
+```
+cd ../
+gclient sync
+cd src/
+```
+
+# Build in the container
+Before explaining detailed build configurations and options, let's walk through the simplest cases to see how it looks like.
+
+### Build Mozc for Android:
+
+```
+python build_mozc.py gyp --target_platform=Android
+python build_mozc.py build -c Debug android/android.gyp:apk
+```
+
+### Build Mozc for NaCl:
+
+```
+python build_mozc.py gyp --target_platform=NaCl --nacl_sdk_root=$NACL_SDK_ROOT
+python build_mozc.py build -c Release chrome/nacl/nacl_extension.gyp:nacl_mozc
+```
+
+### Build Mozc for Linux Desktop:
+
+```
+python build_mozc.py gyp --target_platform=Linux
+python build_mozc.py build -c Release unix/ibus/ibus.gyp:ibus_mozc unix/emacs/emacs.gyp:mozc_emacs_helper server/server.gyp:mozc_server gui/gui.gyp:mozc_tool renderer/renderer.gyp:mozc_renderer
+```
+
+You can also run unittests as follows.
+
+```
+python build_mozc.py runtests -c Debug
+```
+
+## Build configurations
+In `python build_mozc.py gyp` step, there are two different styles to customize configurations.  One is `GYP_DEFINES` environment variable and the other is commandline option.
+
+```
+[GYP_DEFINES="..."] python build_mozc.py gyp [options]
+```
+
+### GYP_DEFINES
+You can specify `GYP_DEFINES` environment variable to change variables in GYP files, which you can find many directories in Mozc's source tree.  [common.gypi](../src/gyp/common.gypi) is an example.
+Here are examples of GYP variables that you may want to change for Linux desktop build.
+
+  * `document_dir`: Directory path where Mozc's license file is placed
+  * `ibus_mozc_path`: ibus-mozc executable path
+  * `ibus_mozc_icon_path`: ibus-mozc icon path
+  * `zinnia_model_file`: Zinnia's model data path
+
+Note that you can specify multiple GYP variables as follows.
+
+```
+GYP_DEFINES="ibus_mozc_path=/usr/lib/ibus-mozc/ibus-engine-mozc ibus_mozc_icon_path=/usr/share/ibus-mozc/product_icon.png document_dir=/usr/share/doc/mozc zinnia_model_file=/usr/share/zinnia/model/tomoe/handwriting-ja.model" python build_mozc.py gyp
+```
+
+### command line options
+You can find many command line options as follows.  
+```
+python build_mozc.py gyp --help
+```
+Here we show some notable options.
+
+#### --target_platform
+You can use `--target_platform` option to specify the target OS on which Mozc will run.  Following options are available.
+
+  * `Android`
+  * `NaCl`
+  * `Linux` (default)
+
+If you don't specify this option, `--target_platform=Linux` will be used implicitly.
+
+#### --noqt (Linux desktop target only)
+You can use `--noqt` option to build Mozc without depending on Qt 4 library.
+
+#### --server_dir (Linux desktop target only)
+You can use `--server_dir` option to specify the directory name where `mozc_server` will be installed.
+
+## Compile options
+In `build_mozc.py build` step, you can specify build types (`Release`` or `Debug`) and one or more build targets.  Please find each GYP file to see what build targets are defined.
+
+```
+python build_mozc.py build -c {Release, Debug} [gyp_path_1.gyp:gyp_target_name1] [gyp_path_2.gyp:gyp_target_name2] 
+```
+
+## Android specific topics
+
+### Aplication package name
+
+**CAUTION**: Currently the application package is fixed (org.mozc.android.inputmethod.japanese). Don't publish the built package. If you want to publish, specify `--android_application_id` to `build_mozc.py gyp` command and manually update related files.
+
+### zipalign
+
+Android version of Mozc may not run if the APK file is not aligned with [zipalign](https://developer.android.com/tools/help/zipalign.html) command.
diff --git a/doc/build_mozc_in_osx.md b/doc/build_mozc_in_osx.md
new file mode 100644
index 0000000..0dc34aa
--- /dev/null
+++ b/doc/build_mozc_in_osx.md
@@ -0,0 +1,80 @@
+How to build Mozc on OS X
+=========================
+
+# System Requirements
+
+We only support OS X 10.7 or later intel only.
+
+# Software Requirements
+
+Building on Mac requires the following software.
+  * Xcode
+
+If you don't need to run gui tools like about dialog, config dialog, or dictionary tool, you can omit installing Qt.  Candidate window still shows without Qt.  See below for the detailed information.
+
+# Get the Code
+
+First, you'll need to download the gclient depot tool, and add depot\_tools to your PATH.
+
+```
+cd ~/
+git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
+export PATH=`pwd`/depot_tools:"$PATH"
+```
+
+Then, download the Mozc code from its SVN repository with the gclient command:
+
+```
+mkdir -p ~/work/mozc
+cd ~/work/mozc
+gclient config https://github.com/google/mozc.git --name=. --deps-file=src/DEPS
+gclient sync
+```
+
+This will also download source code of other programs such as googletest and Protocol Buffers.
+Update to the latest revision
+
+Execute the following command to update to the latest revision.
+
+```
+gclient sync
+```
+
+Updating the tree sometimes causes a mysterious build error. Try "build\_mozc.py clean" if it occurs.
+
+# Compilation
+
+First, you'll need to generate Xcode project using a tool called GYP, which is automatically downloaded by "gclient sync":
+
+```
+cd ~/work/mozc/src
+GYP_DEFINES="mac_sdk=10.7 mac_deployment_target=10.7" python build_mozc.py gyp --noqt
+```
+
+You can customize the SDK version and target OS version here. Then, build Mozc.app and necessary files:
+
+```
+python build_mozc.py build -c Release mac/mac.gyp:GoogleJapaneseInput mac/mac.gyp:gen_launchd_confs
+```
+
+# Executables
+
+Executables are written in `~/wok/mozc/src/out_mac/Release` for Release builds, and `~/work/mozc/src/out_mac/Debug` for Debug builds. For instance, you'll have `~/work/mozc/src/out_mac/Release/Mozc.app` once the build finishes successfully in the Release mode.
+
+# Clean up the Tree
+
+To clean up the tree, execute the following. This will remove executables and intermediate files like object files, generated source files, project files, etc.
+
+```
+python build_mozc.py clean
+```
+
+# Install built packages
+
+Mozc doesn't have installer mpkg files.  You can just place the created Mozc.app into `/Library/Input Methods`, and `out_mac/DerivedSources/Release/mac/org.mozc.inputmethod.Japanese.Converter.plist` and `org.mozc.inputmethod.Japanese.Renderer.plist` into `/Library/LaunchAgents`, and then log in again.  Then it works well.
+
+```
+sudo cp -r out_mac/Release/Mozc.app /Library/Input\ Methods/
+sudo cp out_mac/DerivedSources/Release/mac/org.mozc.inputmethod.Japanese.Converter.plist /Library/LaunchAgents
+sudo cp out_mac/DerivedSources/Release/mac/org.mozc.inputmethod.Japanese.Renderer.plist /Library/LaunchAgents
+```
diff --git a/doc/build_mozc_in_windows.md b/doc/build_mozc_in_windows.md
new file mode 100644
index 0000000..b8e25ec
--- /dev/null
+++ b/doc/build_mozc_in_windows.md
@@ -0,0 +1,249 @@
+How to build Mozc in Windows
+============================
+
+# System Requirements
+
+64-bit Windows is required to build Mozc for Windows. Mozc itself is expected to work on Windows Vista SP2 and later, including 32-bit Windows.
+
+# Software Requirements
+
+Building Mozc on Windows requires the following software.
+
+  * [Visual Studio 2013 Community Edition](http://visualstudio.com/free), or any greater edition.
+  * (optinal) [Qt libraries](http://download.qt.io/archive/qt/)
+    * Commercial version and LGPL version are available.
+
+# Get the Code
+
+First, you'll need to download the gclient [depot\_tools](http://dev.chromium.org/developers/how-tos/install-depot-tools), and add ```depot_tools``` to your ```PATH```.
+
+```
+set PATH=%PATH%;c:\work\depot_tools
+```
+
+Then download the code:
+
+```
+mkdir c:\work\mozc
+cd c:\work\mozc
+gclient config https://github.com/google/mozc.git --name=. --deps-file=src/DEPS
+gclient sync
+```
+
+## Update to the latest revision
+
+Execute the following command to update to the latest revision.
+
+```
+gclient sync
+```
+
+Updating the tree sometimes causes a mysterious build error. Try ```build_mozc.py clean``` if it occurs.
+
+# Compilation
+
+First, you'll need to generate Visual C++ project files using a tool called GYP, which is automatically downloaded by ```gclient sync```:
+
+```
+cd c:\work\mozc\src
+python build_mozc.py gyp --qtdir=c:\Qt\4.8.0
+```
+
+The directory of Qt (`C:\Qt\4.8.0` in this example) differs based on Qt version. If you specify `--noqt` option instead of `--qtdir=<dir to Qt>`, mozc\_tool will be built as a mock version, which does nothing.
+
+You can also specify `--branding=GoogleJapaneseInput` option and `--wix_dir=<dir to WiX binaries>` option here to reproduce official Google Japanese Input binaries and installers.
+
+Then, build Mozc binaries:
+
+```
+python build_mozc.py build -c Release package
+```
+
+If you need debug information, you can build debug version of Mozc as follows.
+
+```
+python build_mozc.py build -c Debug package
+```
+
+# Executables
+
+You have release build binaries in `c:\work\mozc\src\out\Release` and  `c:\work\mozc\src\out\Release_x64`.
+
+# Clean up the Tree
+
+To clean up the tree, execute the following. This will remove executables and intermediate files like object files, generated source files, project files, etc.
+
+```
+python build_mozc.py clean
+```
+
+# Installation and Uninstallation
+
+Although the code repository covers source files of the official Google Japanese Input installer (see `win32/custom_action` and `win32/installer`), building Windows Installer package for OSS Mozc is not supported yet. You need to manually copy Mozc binaries and run a command as follows.
+
+Note that Mozc now supports two input method APIs called IMM32 and TSF (Text Services Framework). Although you can register Mozc for both APIs at the same time, IMM32 is not recommended on Windows 8 and later.
+
+
+---
+
+## Install Mozc (32-bit)
+
+Following files must be placed under %ProgramFiles%\Mozc.
+
+  * `C:\work\mozc\src\out\Release\mozc_broker32.exe`
+  * `C:\work\mozc\src\out\Release\mozc_cache_service.exe`
+  * `C:\work\mozc\src\out\Release\mozc_renderer.exe`
+  * `C:\work\mozc\src\out\Release\mozc_server.exe`
+  * `C:\work\mozc\src\out\Release\mozc_tool.exe` (if you specified `--noqt` option)
+  * `C:\work\mozc\src\out\ReleaseDynamic\mozc_tool.exe` (if you didn't specify `--noqt` option)
+  * `C:\work\mozc\src\out\ReleaseDynamic\QtCore4.dll` (not required if you specified `--noqt` option)
+  * `C:\work\mozc\src\out\ReleaseDynamic\QtGui4.dll` (not required if you specified `--noqt` option)
+
+`QtCore4.dll` and `QtGui4.dll` are not required if you specified `--noqt` option into the gyp command.
+
+### Register Mozc for IMM32 into 32-bit environment
+
+Following files must be placed under `%windir%\System32`.
+
+  * `C:\work\mozc\src\out\Release\mozc_ja.ime`
+
+Finally, you must run `mozc_broker32.exe` with administrator privilege to register IME module as follows.
+
+```
+"%ProgramFiles%\Mozc\mozc_broker32.exe" --mode=register_ime
+```
+
+### Register Mozc for TSF into 32-bit environment
+
+Following file must be placed under `%ProgramFiles%\Mozc`.
+
+  * `C:\work\mozc\src\out\Release\mozc_ja_tip32.dll`
+
+Finally, you must run `regsvr32` with administrator privilege to register IME module as follows.
+
+```
+regsvr32 "%ProgramFiles%\Mozc\mozc_ja_tip32.dll"
+```
+
+---
+
+## Uninstall Mozc (32-bit)
+
+### Unregister Mozc for IMM32 from 32-bit environment
+
+Run `mozc_broker32.exe` with administrator privilege to unregister IME module as follows.
+
+```
+"%ProgramFiles%\Mozc\mozc_broker32.exe" --mode=unregister_ime
+```
+
+Then delete the following file.
+
+  * `%windir%\System32\mozc_ja.ime`
+
+### Unregister Mozc for TSF from 32-bit environment
+
+Run `regsvr32` with administrator privilege to unregister IME module as follows.
+
+```
+regsvr32 /u "%ProgramFiles%\Mozc\mozc_ja_tip32.dll"
+```
+
+### Uninstall common files of Mozc from 32-bit environment
+
+Delete following directory and files after unregistering Mozc from IMM32/TSF.
+
+  * `%ProgramFiles%\Mozc\`
+
+---
+
+## Install Mozc (64-bit)
+
+Following files must be placed under %ProgramFiles(x86)%\Mozc.
+
+  * `C:\work\mozc\src\out\Release\mozc_broker32.exe`
+  * `C:\work\mozc\src\out\Release\mozc_cache_service.exe`
+  * `C:\work\mozc\src\out\Release\mozc_renderer.exe`
+  * `C:\work\mozc\src\out\Release\mozc_server.exe`
+  * `C:\work\mozc\src\out\Release\mozc_tool.exe` (if you specified `--noqt` option)
+  * `C:\work\mozc\src\out\ReleaseDynamic\mozc\_tool.exe` (if you didn't specify `--noqt` option)
+  * `C:\work\mozc\src\out\ReleaseDynamic\QtCore4.dll` (not required if you specified `--noqt` option)
+  * `C:\work\mozc\src\out\ReleaseDynamic\QtGui4.dll` (not required if you specified `--noqt` option)
+  * `C:\work\mozc\src\out\Release_x64\mozc_broker64.exe`
+
+### Register Mozc for IMM32 into 64-bit environment
+
+Following files must be placed under `%windir%\System32`.
+
+  * `C:\work\mozc\src\out\Release_x64\mozc_ja.ime`
+
+Following files must be placed under `%windir%\SysWOW64`.
+
+  * `C:\work\mozc\src\out\Release\mozc_ja.ime`
+
+Finally, you must run `mozc_broker64.exe` with administrator privilege to register IME module as follows.
+
+```
+"%ProgramFiles(x86)%\Mozc\mozc_broker64.exe" --mode=register_ime
+```
+
+### Register Mozc for TSF into 64-bit environment
+
+Following file must be placed under `%ProgramFiles(x86)%\Mozc`.
+
+  * `C:\work\mozc\src\out\Release\mozc_ja_tip32.dll`
+  * `C:\work\mozc\src\out\Release_x64\mozc_ja_tip64.dll`
+
+Finally, you must run `regsvr32` with administrator privilege to register IME module as follows.
+
+```
+regsvr32 "%ProgramFiles(x86)%\Mozc\mozc_ja_tip32.dll"
+regsvr32 "%ProgramFiles(x86)%\Mozc\mozc_ja_tip64.dll"
+```
+
+---
+
+## Uninstall Mozc (64-bit)
+
+### Unregister Mozc for IMM32 from 64-bit environment
+
+Run `mozc_broker64.exe` with administrator privilege to unregister IME module as follows.
+
+```
+"%ProgramFiles(x86)%\Mozc\mozc_broker64.exe" --mode=unregister_ime
+```
+
+Then delete the following files.
+
+  * `%windir%\System32\mozc_ja.ime`
+  * `%windir%\SysWOW64\mozc_ja.ime`
+
+### Unregister Mozc for TSF from 64-bit environment
+
+Run `regsvr32` with administrator privilege to unregister IME module as follows.
+
+```
+regsvr32 /u "%ProgramFiles(x86)%\Mozc\mozc_ja_tip32.dll"
+regsvr32 /u "%ProgramFiles(x86)%\Mozc\mozc_ja_tip64.dll"
+```
+
+### Uninstall common files of Mozc from 64-bit environment
+
+Delete following directory and files after unregistering Mozc from IMM32/TSF.
+
+  * `%ProgramFiles(x86)%\Mozc\`
+
+---
+
+
+# Run unit tests
+
+You can run unit tests as follows.
+
+```
+cd c:\work\mozc\src
+python build_mozc.py gyp --noqt
+python build_mozc.py runtests -c Release
+```
+
+Note that you can specify `--qtdir=` option instead of `--noqt' in GYP phase, currently there is no unit test that depends on Qt.
diff --git a/doc/design_doc/data_protection.md b/doc/design_doc/data_protection.md
new file mode 100644
index 0000000..5d228cb
--- /dev/null
+++ b/doc/design_doc/data_protection.md
@@ -0,0 +1,46 @@
+# Data Encryption and Password Management
+
+This document describes how Mozc obfuscates user data and how it works, in each platform.
+
+## Background
+
+Input methods stores some internal data in the local storage.  Most are stored in plain text, but Mozc applies AES256 CBC to obfuscate some data that are considered to be important for user privacy.
+
+## Overview
+
+As is described above, most of data are stored in plain text.  Only the following data are obfuscated with AES256 CBC:
+
+  * User history: stores some of users input text, which is used to suggest text from the users history.
+  * client ID: the ID to be marked for usage stats.  Not used if the user does not opt-in the "sending usage stats" configuration.
+
+## Detailed Design
+
+We have three policies for obfuscation:
+
+  * We do not use a product-wide "master key".  Instead, each key of data encryption is different on each machine.  We want to prevent "casual" leaks such like uploading/publishing on the web, so "no product-wide common keys".
+  * We trusts processes which runs with the user ID.  That is, if some malicious cracker succeeds to inject a virus on the machine and it knows Mozc quite well, the data encryption framework can't help.
+  * Again, we want to prevent only "casual" leaks.  If you really want to protect your data, you should enable file-system encryption at OS-level.
+
+Then, we take the following process:
+
+  * Mozc firstly created a "password file", which stores the key and salt of AES256 CBC.
+  * Then apply AES256 CBC for the data to be obfuscated.
+
+Then, how to protect the "password file"?  It's up to the platform.
+
+  * Windows: Uses [CryptProtectData](http://msdn.microsoft.com/en-us/library/windows/desktop/aa380261.aspx) and [CryptUnprotectData](http://msdn.microsoft.com/en-us/library/windows/desktop/aa380882.aspx) APIs, which guarantee the data is encrypted with keys of user credential and the machine id.  It means, the password file has to be differently encrypted if the user id is different and/or the machine is different.
+  * Mac: The password file itself is also obfuscated with AES256 CBC, where the key and salt is generated from the machine's serial number and the user's ID in a predictable way, which means that anyone who knows the machine's serial number and the user's ID can read the password file.
+  * Linux: no protection.  The key and salt are stored as plain data. Anyone who has the OS-level permission to reed the password file can read it.
+  * ChromeOS: same as Linux.  But no protection does not cause a serious issue because the OS encrypts the local disk and no normal processes run in ChromeOS.
+  * Android: Same as Linux.  But no protection does not cause a serious issue because other applications do not have the OS-level permission to read the Mozc's file.
+
+## Code Location
+
+  * [src/base/encryptor.cc](../../src/base/encryptor.cc): consists of two code logic of this obfuscation mechanism. One is the platform-neutral AES256 CBC logic and the other is platform-dependent protection logic for the password file.
+  * [src/base/password_manager.cc](../../src/base/password_manager.cc): the password management (dealing with the password file). The actual data protection logic for the password file is delegated to encruptor.cc.
+  * [src/base/unverified_aes256.cc](../../src/base/unverified_aes256.cc): the AES256 CBC implementation. Our implementation hasn't been verified with any authority such as FIPS.  Please do not use this implementation for any security/privacy critical purpose.
+  * [src/base/unverified_sha1.cc](../../src/base/unverified_sha1.cc): the SHA1 implementation. Our implementation hasn't been verified with any authority such as FIPS.  Please do not use this implementation for any security/privacy critical purpose.
+
+## Guide to port Mozc to a new platform
+
+Before starting your work, you have to understand the privacy concern described in this document.  You also need to find out the best way to store password, for your platform.  For example, gnome-keyrings might be a choice for Linux implementation.
diff --git a/doc/design_doc/input_scope.md b/doc/design_doc/input_scope.md
new file mode 100644
index 0000000..3f6e951
--- /dev/null
+++ b/doc/design_doc/input_scope.md
@@ -0,0 +1,167 @@
+Input Scope Support in Mozc
+===========================
+
+Objective
+---------
+
+Make Windows Mozc client aware of InputScope feature on Windows.
+
+Starting with Windows 8, InputScope is the recommended way to set the conversion mode of Japanese IME and ImmSetConversionStatus API is virtually deprecated in per user input mode.
+
+> Thus, Japanese Microsoft IME ignores the change of conversion modes made by calling
+> ImmSetConversionStatus when used in per user mode. This API is used in the IME mode
+> property of .NET framework. InputScope is recommended in order to set the IME mode
+> under per user mode in Windows 8. - "[Switch text input changed from per-thread to per-user](http://msdn.microsoft.com/en-us/library/windows/desktop/hh994466.aspx)"
+
+Microsoft IME shipped with Windows Vista and later actually behaves like this. As for Mozc, Mozc client’s should behave like Microsoft IME 2012 in terms of open/close mode and conversion mode for each InputScope.
+This is the first step to support such context-awareness. As future work, Mozc should be able to behave more appropriately and adoptively based on each input context.
+
+Design Highlights
+-----------------
+
+When an input field is focused and it has InputScope, Mozc should change its on/off mode and conversion mode as follows.
+
+| InputScope | Expected Input Mode |
+|:-----------|:--------------------|
+| `IS_URL`, `IS_EMAIL_USERNAME`, `IS_EMAIL_SMTPEMAILADDRESS`, `IS_DIGITS`, `IS_NUMBER`, `IS_PASSWORD`, `IS_TELEPHONE_FULLTELEPHONENUMBER`, `IS_TELEPHONE_COUNTRYCODE`, `IS_TELEPHONE_AREACODE`, `IS_TELEPHONE_LOCALNUMBER`, `IS_TIME_FULLTIME`, `IS_TIME_HOUR`, `IS_TIME_MINORSEC` | Direct Mode (IME Off) |
+| `IS_HIRAGANA` | Hiragana Mode (IME On) |
+| `IS_ALPHANUMERIC_HALFWIDTH` | Halfwidth Alphanumeric Mode (IME On) |
+| `IS_NUMBER_FULLWIDTH`, `IS_ALPHANUMERIC_FULLWIDTH` | Fullwidth Alphanumeric Mode (IME On) |
+| `IS_KATAKANA_HALFWIDTH` | Halfwidth Katakana Mode (IME On) |
+| `IS_KATAKANA_FULLWIDTH` | Fullwidth Katakana Mode (IME On) |
+
+From usability perspectives, user experience offered by InputScope should be consistent with that in password field. It means that the change caused by InputScope should be temporal and volatile. This requires two different mode sets 1) mode visible from Mozc client and 2) mode visible from TSF should be managed.
+
+Here is an example of mode transitions.
+
+| Action | Mozc On/Off | Mozc Mode | TSF On/Off | TSF Mode |
+|:-----------|:----------------|:--------------|:---------------|:-------------|
+| Turn IME on | On              | Hiragana      | On             | Hiragana     |
+| ↓        |                 |               |                |              |
+| Enter email field | Off             | Hiragana      | On             | Hiragana     |
+| ↓        |                 |               |                |              |
+| Enter search field | On              | Hiragana      | On             | Hiragana     |
+| ↓        |                 |               |                |              |
+| Turn IME off | Off             | Hiragana      | Off            | Hiragana     |
+| ↓        |                 |               |                |              |
+| Enter Halfwidth Katakan field | On              | Halfwidth Katakana | Off            | Hiragana     |
+
+When on/off mode and/or conversion mode that are visible from Mozc is changed by InputScope, Mode Indicator will be popped up near the caret location so that a user can immediately get to know the new input mode.
+
+Scope
+-----
+
+InputScope has been supported in the following frameworks and environment:
+
+  * Windows Presentation Foundation (WPF)
+  * Microsoft Internet Explorer 10 on Windows 8+
+  * Chromium 26+ on Windows Vista and later
+  * Firefox 23+ on Windows Vista and later
+
+Here is the mapping table from HTML5 input types to InputScope on Windows.
+
+| HTML5 Forms Input Type | Internet Explorer 10 | Chromium 26 | Firefox 23 |
+|:-----------------------|:---------------------|:------------|:-----------|
+| text                   | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DEFAULT` |
+| number                 | `IS_NUMBER`          | `IS_NUMBER` | `IS_NUMBER` |
+| email                  | `IS_EMAIL_SMTPEMAILADDRESS` | `IS_EMAIL_SMTPEMAILADDRESS` | `IS_EMAIL_SMTPEMAILADDRESS` |
+| password               | `IS_PASSWORD`        | `IS_PASSWORD` | `IS_PASSWORD` |
+| color                  | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DEFAULT` |
+| date                   | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DATE_FULLDATE` |
+| datetime               | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DATE_FULLDATE` |
+| datetime-local         | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DATE_FULLDATE` |
+| month                  | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DATE_FULLDATE` |
+| search                 | `IS_SEARCH`          | `IS_SEARCH`  | `IS_SEARCH` |
+| tel                    | `IS_TELEPHONE_FULLTELEPHONENUMBER` | `IS_TELEPHONE_FULLTELEPHONENUMBER` | `IS_TELEPHONE_FULLTELEPHONENUMBER`,  `IS_TELEPHONE_LOCALNUMBER` |
+| time                   | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_TIME_FULLTIME` |
+| url                    | `IS_URL`             | `IS_URL`    | `IS_URL`    |
+| week                   | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DATE_FULLDATE` |
+| range                  | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DEFAULT` |
+| range                  | `IS_DEFAULT`         | `IS_DEFAULT` | `IS_DEFAULT` |
+
+Chromium OS might want to follow this mapping in future if the feedback to this project is positive. To achieve this, we need to add Chromium version of InputScope into [chrome.input.ime](http://developer.chrome.com/extensions/input.ime.html) API.
+
+Risk
+----
+
+Some user may dislike this kind of automatic mode changing and want a configuration option to disable it, while it is not configurable yet.
+
+Production Impact
+-----------------
+
+Available only for users who are using Mozc in TSF Mode. This means that only Windows 8+ user will be able to use this feature with Mozc. No impact to all other platforms.
+
+Release History
+---------------
+
+  * Initial release: 1.11.1490.10x dev on Windows
+
+Reference
+---------
+
+  * [Input Scopes - TSF Aware](http://blogs.msdn.com/tsfaware/archive/2007/07/10/input-scopes.aspx)
+  * [Improving Recognition Results - Improving Recognition Results](http://msdn.microsoft.com/en-us/library/ms698133.aspx)
+  * [Input modalities - 4.10.19 Attributes common to form controls - HTML Standard - WhatWG](http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#input-modalities:-the-inputmode-attribute)
+
+Full list of InputScope (as of Windows 8)
+
+```
+IS_DEFAULT = 0
+IS_URL = 1
+IS_FILE_FULLFILEPATH = 2
+IS_FILE_FILENAME = 3
+IS_EMAIL_USERNAME = 4
+IS_EMAIL_SMTPEMAILADDRESS = 5
+IS_LOGINNAME = 6
+IS_PERSONALNAME_FULLNAME = 7
+IS_PERSONALNAME_PREFIX = 8
+IS_PERSONALNAME_GIVENNAME = 9
+IS_PERSONALNAME_MIDDLENAME = 10
+IS_PERSONALNAME_SURNAME = 11
+IS_PERSONALNAME_SUFFIX = 12
+IS_ADDRESS_FULLPOSTALADDRESS = 13
+IS_ADDRESS_POSTALCODE = 14
+IS_ADDRESS_STREET = 15
+IS_ADDRESS_STATEORPROVINCE = 16
+IS_ADDRESS_CITY = 17
+IS_ADDRESS_COUNTRYNAME = 18
+IS_ADDRESS_COUNTRYSHORTNAME = 19
+IS_CURRENCY_AMOUNTANDSYMBOL = 20
+IS_CURRENCY_AMOUNT = 21
+IS_DATE_FULLDATE = 22
+IS_DATE_MONTH = 23
+IS_DATE_DAY = 24
+IS_DATE_YEAR = 25
+IS_DATE_MONTHNAME = 26
+IS_DATE_DAYNAME = 27
+IS_DIGITS = 28
+IS_NUMBER = 29
+IS_ONECHAR = 30
+IS_PASSWORD = 31
+IS_TELEPHONE_FULLTELEPHONENUMBER = 32
+IS_TELEPHONE_COUNTRYCODE = 33
+IS_TELEPHONE_AREACODE = 34
+IS_TELEPHONE_LOCALNUMBER = 35
+IS_TIME_FULLTIME = 36
+IS_TIME_HOUR = 37
+IS_TIME_MINORSEC = 38
+IS_NUMBER_FULLWIDTH = 39
+IS_ALPHANUMERIC_HALFWIDTH = 40
+IS_ALPHANUMERIC_FULLWIDTH = 41
+IS_CURRENCY_CHINESE = 42
+IS_BOPOMOFO = 43
+IS_HIRAGANA = 44
+IS_KATAKANA_HALFWIDTH = 45
+IS_KATAKANA_FULLWIDTH = 46
+IS_HANJA = 47
+IS_HANGUL_HALFWIDTH = 48
+IS_HANGUL_FULLWIDTH = 49
+IS_SEARCH = 50
+IS_FORMULA = 51
+IS_SEARCH_INCREMENTAL = 52
+IS_CHINESE_HALFWIDTH = 53
+IS_CHINESE_FULLWIDTH = 54
+IS_NATIVE_SCRIPT = 55
+```
+
+See [InputScope enumeration](http://msdn.microsoft.com/en-us/library/windows/desktop/ms538181.aspx) for details.
diff --git a/doc/design_doc/mozc_ipc.md b/doc/design_doc/mozc_ipc.md
new file mode 100644
index 0000000..12680c9
--- /dev/null
+++ b/doc/design_doc/mozc_ipc.md
@@ -0,0 +1,34 @@
+# Mozc IPC
+
+## Abstract
+
+This document describes why IPC is necessary to run Mozc, and how each
+implementation should be.
+
+## Background
+
+Mozc is an input method product and it consits with multiple processes
+to achieve text input.  We have "converter" process to maintain
+conversions and "renderer" process to render the candidates of input.
+
+## Implementation requirements
+
+Mozc IPC call happens for EVERY key events.  Thus we need to care the
+privacy/security.  Currently we adopt following policy:
+
+  * the IPC name has to be private to the user: processes which run with another user's auth must not access to the IPC.
+  * the IPC name has to be safe to squatters.  For example, using random IPC name will reduce the danger of squatters.
+
+In addition, Mozc IPC call is "one-shot".  It doesn't require any
+"connections".  When a key event arrives to Mozc, it creates an
+IPCClient instance, calls Call() method to send the command to the
+server, gets its response, and then destroy IPCClient object.
+
+So you don't need to care the maintenance of connections, but you need
+to care the performance a bit.  If one of a step during this is very
+slow, it will damage the performance of Mozc.
+
+Note that IPC calls happen only when a user presses a key or clicks
+mouses.  So if performance of an implementation is not the best, it
+might not be a problem.  Please think about the balance of
+implementation and security.
diff --git a/doc/design_doc/surrounding_text.md b/doc/design_doc/surrounding_text.md
new file mode 100644
index 0000000..76cc3b1
--- /dev/null
+++ b/doc/design_doc/surrounding_text.md
@@ -0,0 +1,90 @@
+Surrounding Text Support in Mozc
+================================
+
+Objective
+---------
+
+Utilize surrounding text information to achieve more efficient and intelligent text input experience.
+
+Design Highlights
+-----------------
+
+### Temporary history invalidation
+
+Mozc converter internally maintains history segments mainly for users who input Japanese sentence with segments in fragments segments. Imagine that a user input an example sentence “今日は良い天気です” as 3 segments as follows.
+
+  1. kyouha (今日は) -> convert -> commit
+  1. yoi (良い) -> convert -> commit
+  1. tennkidesu (天気です) -> convert -> commit
+
+At the step 3, Mozc converter takes the result of 1 and 2 into consideration when "tennkidesu" is converted. However, this approach may not work well when the caret position is moved but the Mozc converter cannot notice it. In order to work around this situation, Mozc converter can read the preceding text and check if the internal history information is consistent with the preceding text. If they are inconsistent, history segments should be invalidated.
+
+### History reconstruction
+
+In order to improve the conversion quality when preceding text and history segment are mismatched, it would be nice if we can reconstruct (or emulate) history segments from the preceding text.
+
+In this project, reconstruct segments that consists of only number or alphabet as a first step. Reconstructing more variety of tokens will be future work.
+
+Following table describe the mappings from a preceding text to key/value and POS (Part-of-speech) ID.
+
+| Preceding Text     | Key     | Value     | POS     |
+|:-------------------|:--------|:----------|:--------|
+| "10"               | "10"    | "10"      | Number  |
+| "10 "              | "10"    | "10"      | Number  |
+| "1 10 "            | "10"    | "10"      | Number  |
+| "C60"              | "60"    | "60"      | Number  |
+| "abc"              | "abc"   | "abc"     | UniqueNoun |
+| "this is"          | "is"    | "is"      | UniqueNoun |
+| "あ"              | N/A     | N/A       | N/A     |
+
+Scope
+-----
+
+Here is the list of typical cases when preceding text and history segment are mismatched.
+
+  * Multiple users are writing the same document. (e.g. Google Document)
+  * A user prefers to turn IME off when he/she input alphanumeric characters. e.g. He/she inputs "今日は Andy に会う" as following steps:
+    1. Turn IME on
+    1. Type "kyouha" then convert it to "今日は"
+    1. Turn IME off
+    1. Type " Andy "
+    1. Turn IME on
+    1. Type "niau" then convert it to "に会う"
+  * Caret position is moved by mouse.
+
+Surrounding text has been available in the following OSes and frameworks:
+  * Windows OS
+    * Microsoft Internet Explorer
+    * Google Chrome 17+
+    * Mozilla Firefox
+    * Microsoft Office
+    * Windows Presentation Foundation (WPF)
+  * Apple OS X
+  * Android OS
+  * Chromium OS
+
+Here is the list of other possible usages of surrounding text in future projects.
+
+  * Language detection.
+  * Character width (narrow/wide) adjustment.
+  * Personal name recognition (e.g., SNS screen names)
+
+Risk
+----
+
+Some buggy applications that wrongly handle surrounding text event may become unstable. Basically there should be no privacy risk because applications are expected to hide sensitive text such as password from IME.
+
+Production Impact
+-----------------
+
+Available on Windows, Apple OS X, Chromium OS and Linux desktop.  No impact for Android platform.
+
+Release History
+---------------
+
+  * Initial release: 1.11.1490.10x
+
+Reference
+---------
+
+  * [chrome.input.ime](http://developer.chrome.com/extensions/input.ime.html)
diff --git a/doc/release_history.md b/doc/release_history.md
new file mode 100644
index 0000000..8586086
--- /dev/null
+++ b/doc/release_history.md
@@ -0,0 +1,204 @@
+Release History
+===============
+
+2.17.2073.102 - 2.17.2095.102 / *2015-04-11* - *2015-05-10*
+--------------------------------------------------
+You can check out Mozc [2.17.2095.102](https://github.com/google/mozc/commit/321e0656b0f2e233ab1c164bd86c58568c9e92f2) as follows.
+
+```
+gclient sync --revision=321e0656b0f2e233ab1c164bd86c58568c9e92f2
+```
+
+Summary of changes between [2.17.2073.102](https://github.com/google/mozc/commit/0556a8bd57014f05583bc001d57b4b64aac00a47) and [2.17.2095.102](https://github.com/google/mozc/commit/321e0656b0f2e233ab1c164bd86c58568c9e92f2).
+
+  * DEPS changes:
+    * GYP repository is switched from code.google.com to chromium.googlesource.com.
+    * ZLib repository is switched from src.chromium.org to github.com/madler/zlib.
+  * Build related changes:
+    * Reference build Docker image is switched from Ubuntu 14.04.1 to Ubuntu 14.04.2.
+    * Fix build breakage in Android since [2.16.2072.102](https://github.com/google/mozc/commit/20c1c08d7d4e89530e3e42db3476d682981c2b68).
+    * Add Dockerfile based on Fedora 21 to build Mozc for Android, NaCl, and Linux desktop.
+    * Continuous build is available for OS X and Windows.
+      * OS X: [Travis CI](https://travis-ci.org/google/mozc/)
+      * Windows: [AppVeyor](https://ci.appveyor.com/project/google/mozc)
+  * Major changes:
+    * Update system dictionary.
+    * Support rule-based zero query suggestion in [2.16.2080.102](https://github.com/google/mozc/commit/988392a0c821494fee2d90090cdca4c3c98bcf83).
+  * Known issues:
+    * [#263](https://github.com/google/mozc/issues/263): Voiced sound marks on the key pad is not placed at correct position in Android
+    * [#273](https://github.com/google/mozc/issues/273): Compilation errors in Android arm64 and mips64 build
+  * Fixed issues:
+    * none
+  * Total commits:
+    * [28 commits](https://github.com/google/mozc/compare/20c1c08d7d4e89530e3e42db3476d682981c2b68...321e0656b0f2e233ab1c164bd86c58568c9e92f2).
+
+
+2.16.2038.102 - 2.16.2072.102 / *2015-01-31* - *2015-03-15*
+--------------------------------------------------
+You can check out Mozc [2.16.2072.102](https://github.com/google/mozc/commit/20c1c08d7d4e89530e3e42db3476d682981c2b68) as follows.
+
+```
+gclient sync --revision=20c1c08d7d4e89530e3e42db3476d682981c2b68
+```
+
+Summary of changes between [2.16.2038.102](https://github.com/google/mozc/commit/6895df10f02dafb86150da8a3cc65f051f70e054) and [2.16.2072.102](https://github.com/google/mozc/commit/20c1c08d7d4e89530e3e42db3476d682981c2b68).
+
+  * DEPS changes:
+    * none
+  * Build related changes:
+    * [#286](https://github.com/google/mozc/issues/286): Clang 3.4 on Ubuntu 14.04 is used when building host binaries Mozc in Android, NaCl, and Linux desktop builds.  See [#286](https://github.com/google/mozc/issues/286) about why we have switched back to Clang 3.4 from Clang 3.5 on Ubuntu 14.04.
+    * Pepper 40 SDK is required to build Mozc for NaCl.
+    * Android 5.1 Lollipop SDK (or higher) is required to build Mozc for Android.
+  * Major changes:
+    * Target API level of Android binaries are incremented to 22, that is, `Build.VERSION_CODES.LOLLIPOP_MR1` a.k.a. Android 5.1.
+    * LOUDS Trie engine was rewritten for better performance and maintainability.
+    * `python build_mozc.py runtests` is now supported in Windows.
+  * Known issues:
+    * [#263](https://github.com/google/mozc/issues/263): Voiced sound marks on the key pad is not placed at correct position in Android
+    * [#273](https://github.com/google/mozc/issues/273): Compilation errors in Android arm64 and mips64 build
+  * Fixed issues:
+    * [#286](https://github.com/google/mozc/issues/286): FIX: Build fails if clang-3.5 package is used in Ubuntu 14.04
+  * Total commits:
+    * [33 commits](https://github.com/google/mozc/compare/091dc3bafa1645432dd9b8ba1ba0f77645d39c1a...20c1c08d7d4e89530e3e42db3476d682981c2b68).
+
+
+2.16.2021.102 - 2.16.2037.102 / *2015-01-24* - *2015-01-25*
+--------------------------------------------------
+You can check out Mozc [2.16.2037.102](https://github.com/google/mozc/commit/091dc3bafa1645432dd9b8ba1ba0f77645d39c1a) as follows.
+
+```
+gclient sync --revision=091dc3bafa1645432dd9b8ba1ba0f77645d39c1a
+```
+
+Summary of changes between [2.16.2021.102](https://github.com/google/mozc/commit/f78dad8d2c16d77f20577f04c2fa95ed85c386cb) and [2.16.2037.102](https://github.com/google/mozc/commit/091dc3bafa1645432dd9b8ba1ba0f77645d39c1a).
+
+  * DEPS changes:
+    * none
+  * Build related changes:
+    * libc++ is used by default to build Android target binaries.
+    * [#276](https://github.com/google/mozc/issues/276): Clang 3.5 is now required to build Mozc for Android, NaCl, and Linux.
+    * Visual C++ 2013 is required to build Mozc for Windows.
+  * Major changes:
+    * [#277](https://github.com/google/mozc/issues/277): Mozc for Windows now requires Windows Vista SP2 and later. Mozc [2.16.2034.102](https://github.com/google/mozc/commit/389932c227827de7fcd17a217de96c5b5a838672) is the last version that can run on Windows XP and Windows 2003 Server.
+  * Known issues:
+    * [#263](https://github.com/google/mozc/issues/263): Voiced sound marks on the key pad is not placed at correct position in Android
+    * [#273](https://github.com/google/mozc/issues/273): Compilation errors in Android arm64 and mips64 build
+  * Fixed issues:
+    * [#274](https://github.com/google/mozc/issues/274): FIX: Inconsistency between suggestion candidates and conversion candidates
+    * [#275](https://github.com/google/mozc/issues/275): FIX: Learning algorithm is sometimes too aggressive when punctuation is committed
+    * [#276](https://github.com/google/mozc/issues/276): FIX: Require Clang to build Linux host binaries
+    * [#277](https://github.com/google/mozc/issues/277): FIX: Discontinue the support of Windows XP/2003 Server
+  * Total commits:
+    * [17 commits](https://github.com/google/mozc/compare/5c96a77a0454f5877153d18d8a7ca5a5ddfb964b...091dc3bafa1645432dd9b8ba1ba0f77645d39c1a).
+
+
+2.16.2008.102 - 2.16.2020.102 / *2015-01-01* - *2015-01-18*
+--------------------------------------------------
+You can check out Mozc [2.16.2020.102](https://github.com/google/mozc/commit/5c96a77a0454f5877153d18d8a7ca5a5ddfb964b) as follows.
+
+```
+gclient sync --revision=5c96a77a0454f5877153d18d8a7ca5a5ddfb964b
+```
+
+Summary of changes between [2.16.2008.102](https://github.com/google/mozc/commit/60de3075dde2ff1903aa820a7f9110455e3091c7) and [2.16.2020.102](https://github.com/google/mozc/commit/5c96a77a0454f5877153d18d8a7ca5a5ddfb964b).
+
+  * DEPS changes:
+    * protobuf: [bba83652e1be610bdb7ee1566ad18346d98b843c -> 172019c40bf548908ab09bfd276074c929d48415](https://github.com/google/protobuf/compare/172019c40bf548908ab09bfd276074c929d48415...bba83652e1be610bdb7ee1566ad18346d98b843c) (downgrading)
+  * Build related changes:
+    * Ubuntu 14.04 is used as the reference build/test environment for Android, `NaCl`, and Linux.  Hereafter we will not make sure that Mozc can be built on Ubuntu 12.04.
+  * Known issues:
+    * [#263](https://github.com/google/mozc/issues/263): Voiced sound marks on the key pad is not placed at correct position in Android
+    * [#273](https://github.com/google/mozc/issues/273): Compilation errors in Android arm64 and mips64 build
+  * Fixed issues:
+    * [#265](https://github.com/google/mozc/issues/265): FIX: All resources are not released in Service.onDestory
+    * [#266](https://github.com/google/mozc/issues/266): FIX: Many emojis are suggested from space
+    * [#267](https://github.com/google/mozc/issues/267): FIX: Noisy candidate "itsumo" due to language aware conversion
+    * [#269](https://github.com/google/mozc/issues/269): FIX: BuildInDocker fails when building for Android
+    * [#271](https://github.com/google/mozc/issues/271): FIX: Runtime CHECK failure on Windows: protobuf/src/google/protobuf/descriptor.cc:1018
+    * [#272](https://github.com/google/mozc/issues/272): FIX: `AssertionError` in `gen_zip_code_seed.py`
+  * Total commits:
+    * [13 commits](https://github.com/google/mozc/compare/1ffe8c9b56798baf6cac68a6dd6d539e0ccaad82...5c96a77a0454f5877153d18d8a7ca5a5ddfb964b).
+
+
+2.16.2004.102 - 2.16.2007.102 / *2014-12-22* - *2014-12-24*
+--------------------------------------------------
+You can check out Mozc [2.16.2007.102](https://github.com/google/mozc/commit/1ffe8c9b56798baf6cac68a6dd6d539e0ccaad82) as follows.
+
+```
+gclient sync --revision=1ffe8c9b56798baf6cac68a6dd6d539e0ccaad82
+```
+
+Summary of changes between [2.16.2004.102](https://github.com/google/mozc/commit/70aa0ddaf4a1e57daccb10797d3afee433f174f6) and [2.16.2007.102](https://github.com/google/mozc/commit/1ffe8c9b56798baf6cac68a6dd6d539e0ccaad82).
+
+  * DEPS changes:
+    * fontTools: initial import as of [5ba7d98a4153fad57258fca23b0bcb238717aec3](https://github.com/googlei18n/fonttools/compare/a8f3feacb0e197c00f3f1c236777748a4dc6cf64...5ba7d98a4153fad57258fca23b0bcb238717aec3)
+  * Build related changes:
+    * Android build requires Android-21 SDK
+  * Major changes:
+    * Enable Material Theme on Android
+    * Support floating window and floating mode indicator on Android 5.0 and later when physical keyboard is attached
+    * Improve accessibility support on Android
+  * Known issues:
+    * [#263](https://github.com/google/mozc/issues/263): Voiced sound marks on the key pad is not placed at correct position in Android
+  * Total commits:
+    * [4 commits](https://github.com/google/mozc/compare/fe635d73050960cdfdb31a11dc3d08f636e14d49...1ffe8c9b56798baf6cac68a6dd6d539e0ccaad82).
+
+
+2.16.1918.102 - 2.16.2003.102 / *2014-11-09* - *2014-12-21*
+--------------------------------------------------
+You can check out Mozc [2.16.2003.102](https://github.com/google/mozc/commit/fe635d73050960cdfdb31a11dc3d08f636e14d49) as follows.
+
+```
+gclient sync --revision=fe635d73050960cdfdb31a11dc3d08f636e14d49
+```
+
+Summary of changes between [2.16.1918.102](https://github.com/google/mozc/commit/b729086960878ccca5f2229a4fc9701e84093583) and [2.16.2003.102](https://github.com/google/mozc/commit/fe635d73050960cdfdb31a11dc3d08f636e14d49).
+
+  * DEPS changes:
+    * gtest: [r692 -> r700](https://code.google.com/p/googletest/source/list?start=700&num=9)
+    * gmock: [r485 -> r501](https://code.google.com/p/googlemock/source/list?start=501&num=17)
+    * gyp: [r1987 -> r2012](https://code.google.com/p/gyp/source/list?start=2012&num=26)
+    * protobuf: [172019c40bf548908ab09bfd276074c929d48415 -> bba83652e1be610bdb7ee1566ad18346d98b843c](https://github.com/google/protobuf/compare/172019c40bf548908ab09bfd276074c929d48415...bba83652e1be610bdb7ee1566ad18346d98b843c)
+  * Build related changes:
+    * Android build requires NDK r10d
+    * [#259](https://github.com/google/mozc/issues/259): Android build supports arm64/mips64/x86-64
+    * [#260](https://github.com/google/mozc/issues/260): Android build supports Clang 3.5 and libc++
+    * Versioning scheme for Android is changed. See r439 (on Google Code) for details.
+    * Build time dependency on libzinnia-dev is removed from Android and NaCl builds
+  * Major changes:
+    * Android 2.1 - Android 3.2 are no longer supported
+    * armeabi-v7a is always enabled in arm 32-bit build for Android
+    * Updated main dictionary, Emoji dictionary, emoticon dictionary, and single kanji dictionary
+  * Fixed issues:
+    * [#248](https://github.com/google/mozc/issues/248): FIX: IME crashes when using US International hardware keyboard
+    * [#255](https://github.com/google/mozc/issues/255): FIX: ibus-mozc + XIM: preedit text is not cleared after preedit commit triggered by focus change
+    * [#257](https://github.com/google/mozc/issues/257): FIX: Entering symbol view causes NPE when "Switch Access" accessibility mode is enabled
+    * [#261](https://github.com/google/mozc/issues/261): FIX: An empty word can be suggested in the candidate list
+  * Total commits:
+    * [87 commits](https://github.com/google/mozc/compare/026d814598ba223e3becc638b01c79935ea98ee2...fe635d73050960cdfdb31a11dc3d08f636e14d49).
+
+---
+
+Release History of Mozc 1.X
+---------------------------
+
+##1.0.558.102 - 1.15.1917.102 / *2010-12-09* - *2014-11-03*
+
+**TODO: Import previous release notes here.**
+
+Summary of changes between [1.0.558.102](https://github.com/google/mozc/commit/664029b064d23e0520309ec09d89ea5013783ce6) and [1.15.1917.102](https://github.com/google/mozc/commit/026d814598ba223e3becc638b01c79935ea98ee2).
+  * Total commits:
+    * [161 commits](https://github.com/google/mozc/compare/cae073cc74bc31625a659eb91e95d557cb2a6428...026d814598ba223e3becc638b01c79935ea98ee2).
+
+---
+
+Release History of Mozc 0.X
+---------------------------
+
+##0.11.347.100 - 0.13.523.102 / *2010-05-10* - *2010-11-02*
+
+**TODO: Import previous release notes here.**
+
+Summary of changes between [0.11.347.100](https://github.com/google/mozc/commit/0fdb7a7b04bdbbc640058e1856b278e668a69b1e) and [0.13.523.102](https://github.com/google/mozc/commit/cae073cc74bc31625a659eb91e95d557cb2a6428).
+  * Total commits:
+    * [17 commits](https://github.com/google/mozc/compare/1d6e951d92680d30e1a41c16e8fa74eed4039098...cae073cc74bc31625a659eb91e95d557cb2a6428).