page.title=2015 Android Security Bulletins
@jd:body

<!--
    Copyright 2016 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<p>This page contains all available 2015 Android Security Bulletins. (They were
previously referred to as Nexus Security Bulletins.) For a list of all bulletins,
please see the <a href="index.html">Android Security Bulletins</a> homepage.</p>


<table>
  <col width="19%">
  <col width="35%">
  <col width="23%">
  <col width="23%">
 <tr>
    <th>Bulletin</th>
    <th>Languages</th>
    <th>Published Date</th>
    <th>Security Patch Level</th>
 </tr>
 <tr>
    <td><a href="2015-12-01.html">December 2015</a></td>
    <td>
      <a href="2015-12-01.html">English</a>&nbsp;/
      <a href="{@docRoot}intl/ja_ALL/security/bulletin/2015-12-01.html">日本語</a>&nbsp;/
      <a href="{@docRoot}intl/ko_ALL/security/bulletin/2015-12-01.html">한국어</a>&nbsp;/
      <a href="{@docRoot}intl/ru_ALL/security/bulletin/2015-12-01.html">ру́сский</a>&nbsp;/
      <a href="{@docRoot}intl/zh-CN_ALL/security/bulletin/2015-12-01.html">中文&nbsp;(中国)</a>&nbsp;/
      <a href="{@docRoot}intl/zh-TW_ALL/security/bulletin/2015-12-01.html">中文&nbsp;(台灣)</a>
    </td>
    <td>December 7, 2015</td>
    <td>2015-12-01</td>
</tr>
<tr>
    <td><a href="2015-11-01.html">November 2015</a></td>
    <td>
      <a href="2015-11-01.html">English</a>&nbsp;/
      <a href="{@docRoot}intl/ja_ALL/security/bulletin/2015-11-01.html">日本語</a>&nbsp;/
      <a href="{@docRoot}intl/ko_ALL/security/bulletin/2015-11-01.html">한국어</a>&nbsp;/
      <a href="{@docRoot}intl/ru_ALL/security/bulletin/2015-11-01.html">ру́сский</a>&nbsp;/
      <a href="{@docRoot}intl/zh-CN_ALL/security/bulletin/2015-11-01.html">中文&nbsp;(中国)</a>&nbsp;/
      <a href="{@docRoot}intl/zh-TW_ALL/security/bulletin/2015-11-01.html">中文&nbsp;(台灣)</a>
    </td>
    <td>November 2, 2015</td>
    <td>2015-11-01</td>
 </tr>
 <tr>
    <td><a href="2015-10-01.html">October 2015</a></td>
    <td>
      <a href="2015-10-01.html">English</a>&nbsp;/
      <a href="{@docRoot}intl/ja_ALL/security/bulletin/2015-10-01.html">日本語</a>&nbsp;/
      <a href="{@docRoot}intl/ko_ALL/security/bulletin/2015-10-01.html">한국어</a>&nbsp;/
      <a href="{@docRoot}intl/ru_ALL/security/bulletin/2015-10-01.html">ру́сский</a>&nbsp;/
      <a href="{@docRoot}intl/zh-CN_ALL/security/bulletin/2015-10-01.html">中文&nbsp;(中国)</a>&nbsp;/
      <a href="{@docRoot}intl/zh-TW_ALL/security/bulletin/2015-10-01.html">中文&nbsp;(台灣)</a>
    </td>
    <td>October 5, 2015</td>
    <td>2015-10-01</td>
 </tr>
 <tr>
    <td><a href="2015-09-01.html">September 2015</a></td>
    <td>
      <a href="2015-09-01.html">English</a>&nbsp;/
      <a href="{@docRoot}intl/ja_ALL/security/bulletin/2015-09-01.html">日本語</a>&nbsp;/
      <a href="{@docRoot}intl/ko_ALL/security/bulletin/2015-09-01.html">한국어</a>&nbsp;/
      <a href="{@docRoot}intl/ru_ALL/security/bulletin/2015-09-01.html">ру́сский</a>&nbsp;/
      <a href="{@docRoot}intl/zh-CN_ALL/security/bulletin/2015-09-01.html">中文&nbsp;(中国)</a>&nbsp;/
      <a href="{@docRoot}intl/zh-TW_ALL/security/bulletin/2015-09-01.html">中文&nbsp;(台灣)</a>
    </td>
    <td>September 9, 2015</td>
    <td>N/A</td>
 </tr>
 <tr>
    <td><a href="2015-08-01.html">August 2015</a></td>
    <td>
      <a href="2015-08-01.html">English</a>&nbsp;/
      <a href="{@docRoot}intl/ja_ALL/security/bulletin/2015-08-01.html">日本語</a>&nbsp;/
      <a href="{@docRoot}intl/ko_ALL/security/bulletin/2015-08-01.html">한국어</a>&nbsp;/
      <a href="{@docRoot}intl/ru_ALL/security/bulletin/2015-08-01.html">ру́сский</a>&nbsp;/
      <a href="{@docRoot}intl/zh-CN_ALL/security/bulletin/2015-08-01.html">中文&nbsp;(中国)</a>&nbsp;/
      <a href="{@docRoot}intl/zh-TW_ALL/security/bulletin/2015-08-01.html">中文&nbsp;(台灣)</a>
    </td>
    <td>August 13, 2015</td>
    <td>N/A</td>
 </tr>
</table>


