From: Noah Watkins Date: Mon, 1 Oct 2018 23:54:19 +0000 (-0700) Subject: doc: show edit on github links and version warnings X-Git-Tag: v14.1.0~849^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bb887b78f87fd6b71bca9afcadac3708608351c4;p=ceph.git doc: show edit on github links and version warnings Signed-off-by: Noah Watkins --- diff --git a/admin/build-doc b/admin/build-doc index c8934b4daf7..6e94d459d3f 100755 --- a/admin/build-doc +++ b/admin/build-doc @@ -124,6 +124,24 @@ for target in $sphinx_targets; do done +# build the releases.json. this reads in the yaml version and dumps +# out the json representation of the same file. the resulting releases.json +# should be served from the root of hosted site. +$vdir/bin/python << EOF > $TOPDIR/build-doc/output/html/releases.json +from __future__ import print_function +import datetime +import json +import yaml + +def json_serialize(obj): + if isinstance(obj, datetime.date): + return obj.isoformat() + +with open("$TOPDIR/doc/releases/releases.yml", 'r') as fp: + releases = yaml.load(fp) + print(json.dumps(releases, indent=2, default=json_serialize)) +EOF + # # Build and install JavaDocs # diff --git a/admin/doc-requirements.txt b/admin/doc-requirements.txt index e79a973f890..25c628aed98 100644 --- a/admin/doc-requirements.txt +++ b/admin/doc-requirements.txt @@ -1,3 +1,4 @@ Sphinx == 1.6.3 git+https://github.com/ceph/sphinx-ditaa.git@py3#egg=sphinx-ditaa git+https://github.com/michaeljones/breathe#egg=breathe +pyyaml==3.13 diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/doc/_ext/ceph_releases.py b/doc/_ext/ceph_releases.py new file mode 100644 index 00000000000..acaa38f1ad1 --- /dev/null +++ b/doc/_ext/ceph_releases.py @@ -0,0 +1,202 @@ +# cobbled together from: +# https://github.com/sphinx-contrib/documentedlist/blob/master/sphinxcontrib/documentedlist.py +# https://github.com/sphinx-doc/sphinx/blob/v1.6.3/sphinx/ext/graphviz.py +# https://github.com/thewtex/sphinx-contrib/blob/master/exceltable/sphinxcontrib/exceltable.py +# https://bitbucket.org/prometheus/sphinxcontrib-htsql/src/331a542c29a102eec9f8cba44797e53a49de2a49/sphinxcontrib/htsql.py?at=default&fileviewer=file-view-default +# into the glory that follows: +import json +import six +import yaml +import sphinx +import datetime +from docutils.parsers.rst import Directive +from docutils import nodes +from sphinx.util import logging + +class CephReleases(Directive): + has_content = False + required_arguments = 1 + optional_arguments = 0 + option_spec = {} + + def run(self): + filename = self.arguments[0] + document = self.state.document + env = document.settings.env + rel_filename, filename = env.relfn2path(filename) + env.note_dependency(filename) + try: + with open(filename, 'r') as fp: + releases = yaml.load(fp) + releases = releases["releases"] + except Exception as e: + return [document.reporter.warning( + "Failed to open Ceph releases file {}: {}".format(filename, e), + line=self.lineno)] + + table = nodes.table() + tgroup = nodes.tgroup(cols=3) + table += tgroup + + tgroup.extend( + nodes.colspec(colwidth=30, colname='c'+str(idx)) + for idx, _ in enumerate(range(4))) + + thead = nodes.thead() + tgroup += thead + row_node = nodes.row() + thead += row_node + row_node.extend(nodes.entry(h, nodes.paragraph(text=h)) + for h in ["Version", "Initial release", "Latest", "End of life (estimated)"]) + + releases = six.iteritems(releases) + releases = sorted(releases, key=lambda t: t[0], reverse=True) + + tbody = nodes.tbody() + tgroup += tbody + + rows = [] + for code_name, info in releases: + actual_eol = info.get("actual_eol", None) + if actual_eol and actual_eol <= datetime.datetime.now().date(): + continue + trow = nodes.row() + + entry = nodes.entry() + para = nodes.paragraph(text="`{}`_".format(code_name)) + sphinx.util.nodes.nested_parse_with_titles( + self.state, para, entry) + #entry += para + trow += entry + + sorted_releases = sorted(info["releases"], + key=lambda t: t["released"]) + oldest_release = sorted_releases[0] + newest_release = sorted_releases[-1] + + entry = nodes.entry() + para = nodes.paragraph(text="{}".format( + oldest_release["released"].strftime("%b %Y"))) + entry += para + trow += entry + + entry = nodes.entry() + if newest_release.get("skip_ref", False): + para = nodes.paragraph(text="{}".format( + newest_release["version"])) + else: + para = nodes.paragraph(text="`{}`_".format( + newest_release["version"])) + sphinx.util.nodes.nested_parse_with_titles( + self.state, para, entry) + #entry += para + trow += entry + + entry = nodes.entry() + para = nodes.paragraph(text="{}".format( + info.get("target_eol", "--"))) + entry += para + trow += entry + + rows.append(trow) + + tbody.extend(rows) + + return [table] + +class CephTimeline(Directive): + has_content = False + required_arguments = 12 + optional_arguments = 0 + option_spec = {} + + def run(self): + filename = self.arguments[0] + document = self.state.document + env = document.settings.env + rel_filename, filename = env.relfn2path(filename) + env.note_dependency(filename) + try: + with open(filename, 'r') as fp: + releases = yaml.load(fp) + except Exception as e: + return [document.reporter.warning( + "Failed to open Ceph releases file {}: {}".format(filename, e), + line=self.lineno)] + + display_releases = self.arguments[1:] + + timeline = [] + for code_name, info in six.iteritems(releases["releases"]): + if code_name in display_releases: + for release in info.get("releases", []): + released = release["released"] + timeline.append((released, code_name, release["version"], + release.get("skip_ref", False))) + + assert "development" not in releases["releases"] + if "development" in display_releases: + for release in releases["development"]["releases"]: + released = release["released"] + timeline.append((released, "development", release["version"], + release.get("skip_ref", False))) + + timeline = sorted(timeline, key=lambda t: t[0], reverse=True) + + table = nodes.table() + tgroup = nodes.tgroup(cols=3) + table += tgroup + + columns = ["Date"] + display_releases + tgroup.extend( + nodes.colspec(colwidth=30, colname='c'+str(idx)) + for idx, _ in enumerate(range(len(columns)))) + + thead = nodes.thead() + tgroup += thead + row_node = nodes.row() + thead += row_node + for col in columns: + entry = nodes.entry() + if col.lower() in ["date", "development"]: + para = nodes.paragraph(text=col) + else: + para = nodes.paragraph(text="`{}`_".format(col)) + sphinx.util.nodes.nested_parse_with_titles( + self.state, para, entry) + row_node += entry + + tbody = nodes.tbody() + tgroup += tbody + + rows = [] + for row_info in timeline: + trow = nodes.row() + + entry = nodes.entry() + para = nodes.paragraph(text=row_info[0].strftime("%b %Y")) + entry += para + trow += entry + + for release in display_releases: + entry = nodes.entry() + if row_info[1] == release: + if row_info[3]: # if skip ref + para = nodes.paragraph(text=row_info[2]) + else: + para = nodes.paragraph(text="`{}`_".format(row_info[2])) + sphinx.util.nodes.nested_parse_with_titles( + self.state, para, entry) + else: + para = nodes.paragraph(text="--") + entry += para + trow += entry + rows.append(trow) + + tbody.extend(rows) + + return [table] + +def setup(app): + app.add_directive('ceph_releases', CephReleases) + app.add_directive('ceph_timeline', CephTimeline) diff --git a/doc/_ext/edit_on_github.py b/doc/_ext/edit_on_github.py new file mode 100644 index 00000000000..290f4b4244d --- /dev/null +++ b/doc/_ext/edit_on_github.py @@ -0,0 +1,43 @@ +""" +Adapted from https://gist.github.com/mgedmin/6052926 + +Sphinx extension to add ReadTheDocs-style "Edit on GitHub" links to the +sidebar. + +Loosely based on https://github.com/astropy/astropy/pull/347 +""" + +import os +import warnings + + +__licence__ = 'BSD (3 clause)' + + +def get_github_url(app, view, path): + return 'https://github.com/{project}/{view}/{branch}/doc/{path}'.format( + project=app.config.edit_on_github_project, + view=view, + branch=app.config.edit_on_github_branch, + path=path) + + +def html_page_context(app, pagename, templatename, context, doctree): + if templatename != 'page.html': + return + + if not app.config.edit_on_github_project: + warnings.warn("edit_on_github_project not specified") + return + + path = os.path.relpath(doctree.get('source'), app.builder.srcdir) + show_url = get_github_url(app, 'blob', path) + edit_url = get_github_url(app, 'edit', path) + + context['show_on_github_url'] = show_url + context['edit_on_github_url'] = edit_url + +def setup(app): + app.add_config_value('edit_on_github_project', '', True) + app.add_config_value('edit_on_github_branch', 'master', True) + app.connect('html-page-context', html_page_context) diff --git a/doc/_static/js/ceph.js b/doc/_static/js/ceph.js new file mode 100644 index 00000000000..61f95fb6ac9 --- /dev/null +++ b/doc/_static/js/ceph.js @@ -0,0 +1,41 @@ +$(function() { + var releases_url = "http://docs.ceph.com/docs/master/releases.json"; + + function show_edit(branch, data) { + if (branch) { + if (branch === "master") { + $("#dev-warning").show(); + return true; + } + if (data && data.releases && branch in data.releases) { + var eol = ("actual_eol" in data.releases[branch]); + if (eol) { + $("#eol-warning").show(); + } + return !eol; + } + } + $("#dev-warning").show(); + return false; + } + + function get_branch() { + var url = window.location.href; + var res = url.match(/docs.ceph.com\/docs\/([a-z]+)\/?/i) + if (res) { + return res[1] + } + return null; + } + + $.getJSON(releases_url, function(data) { + var branch = get_branch(); + if (show_edit(branch, data)) { + // patch the edit-on-github URL for correct branch + var url = $("#edit-on-github").attr("href"); + url = url.replace("master", branch); + $("#edit-on-github").attr("href", url); + $("#docubetter").show(); + } + }); +}); diff --git a/doc/_templates/page.html b/doc/_templates/page.html new file mode 100644 index 00000000000..29cc57f2144 --- /dev/null +++ b/doc/_templates/page.html @@ -0,0 +1,21 @@ +{% extends "!page.html" %} +{% block body %} + + + + + +{%- if edit_on_github_url %} + +{%- endif %} + + {{ super() }} +{% endblock %} diff --git a/doc/conf.py b/doc/conf.py index d684db02bda..45c4604d1b1 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -37,16 +37,21 @@ html_title = "Ceph Documentation" html_logo = 'logo.png' html_favicon = 'favicon.ico' html_show_sphinx = False +html_static_path = ["_static"] html_sidebars = { '**': ['smarttoc.html', 'searchbox.html'], } +sys.path.insert(0, os.path.abspath('_ext')) + extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.graphviz', 'sphinx.ext.todo', 'sphinxcontrib.ditaa', 'breathe', + 'edit_on_github', + 'ceph_releases', ] ditaa = 'ditaa' todo_include_todos = True @@ -68,6 +73,16 @@ breathe_projects_source = { } breathe_domain_by_extension = {'py': 'py', 'c': 'c', 'h': 'c', 'cc': 'cxx', 'hpp': 'cxx'} +# the docs are rendered with github links pointing to master. the javascript +# snippet in _static/ceph.js rewrites the edit links when a page is loaded, to +# point to the correct branch. +edit_on_github_project = 'ceph/ceph' +edit_on_github_branch = 'master' + +# handles edit-on-github and old version warning display +def setup(app): + app.add_javascript('js/ceph.js') + # mocking ceph_module offered by ceph-mgr. `ceph_module` is required by # mgr.mgr_module class Dummy(object): diff --git a/doc/releases/releases.yml b/doc/releases/releases.yml new file mode 100644 index 00000000000..b0d658ad40d --- /dev/null +++ b/doc/releases/releases.yml @@ -0,0 +1,325 @@ +# +# there are two sections +# +# releases: ... for named releases +# developement: ... for dev releases +# +# by default a `version` is interpreted as a sphinx reference when rendered (see +# schedule.rst for the existing tags such as `_13.2.2`). If a version should not +# be treated as a reference, add `skip_ref: True` as a key/value pair sibling to +# the `version` key. +# +# If a version might represent an actual number (e.g. 0.80) quote it. +# +releases: + mimic: + releases: + - version: 13.2.2 + released: 2018-09-01 + - version: 13.2.1 + released: 2018-07-01 + - version: 13.2.0 + released: 2018-06-01 + + luminous: + releases: + - version: 12.2.8 + released: 2018-09-01 + - version: 12.2.7 + released: 2018-07-01 + - version: 12.2.6 + released: 2018-07-01 + - version: 12.2.5 + released: 2018-04-01 + - version: 12.2.4 + released: 2018-02-01 + - version: 12.2.3 + released: 2018-02-01 + - version: 12.2.2 + released: 2017-12-01 + - version: 12.2.1 + released: 2017-09-01 + - version: 12.2.0 + released: 2017-08-01 + + kraken: + target_eol: 2017-08-01 + actual_eol: 2017-08-01 + releases: + - version: 11.2.1 + released: 2017-08-01 + - version: 11.2.0 + released: 2017-01-01 + + jewel: + target_eol: 2018-06-01 + actual_eol: 2018-07-01 + releases: + - version: 10.2.11 + released: 2018-07-11 + - version: 10.2.10 + released: 2017-10-01 + - version: 10.2.9 + released: 2017-07-01 + - version: 10.2.8 + released: 2017-07-01 + - version: 10.2.7 + released: 2017-04-01 + - version: 10.2.6 + released: 2017-03-01 + - version: 10.2.5 + released: 2016-12-01 + - version: 10.2.4 + released: 2016-12-01 + - version: 10.2.3 + released: 2016-09-01 + - version: 10.2.2 + released: 2016-06-01 + - version: 10.2.1 + released: 2016-05-01 + - version: 10.2.0 + released: 2016-04-01 + + infernalis: + actual_eol: 2016-04-01 + releases: + - version: 9.2.1 + released: 2016-02-01 + - version: 9.2.0 + released: 2015-11-01 + + hammer: + target_eol: 2017-05-01 + actual_eol: 2017-08-01 + releases: + - version: 0.94.10 + released: 2017-02-01 + - version: 0.94.9 + released: 2016-08-01 + - version: 0.94.8 + released: 2016-08-01 + - version: 0.94.7 + released: 2016-05-01 + - version: 0.94.6 + released: 2016-02-01 + - version: 0.94.5 + released: 2015-10-01 + - version: 0.94.4 + released: 2015-10-01 + - version: 0.94.3 + released: 2015-08-01 + - version: 0.94.2 + released: 2015-06-01 + - version: 0.94.1 + released: 2015-04-01 + - version: '0.94' + released: 2015-04-01 + + giant: + actual_eol: 2015-04-01 + releases: + - version: 0.87.2 + released: 2015-04-01 + - version: 0.87.1 + released: 2015-02-01 + - version: '0.87' + released: 2014-10-01 + + firefly: + target_eol: 2016-01-01 + actual_eol: 2016-04-01 + releases: + - version: 0.80.11 + released: 2015-11-01 + - version: 0.80.10 + released: 2015-07-01 + - version: 0.80.9 + released: 2015-03-01 + - version: 0.80.8 + released: 2015-01-01 + - version: 0.80.7 + released: 2014-10-01 + - version: 0.80.6 + released: 2014-10-01 + - version: 0.80.5 + released: 2014-07-01 + - version: 0.80.4 + released: 2014-07-01 + - version: 0.80.3 + released: 2014-07-01 + - version: 0.80.2 + released: 2014-07-01 + - version: 0.80.1 + released: 2014-05-01 + - version: '0.80' + released: 2014-05-01 + + emperor: + actual_eol: 2014-05-01 + releases: + - version: 0.72.2 + released: 2013-12-01 + - version: 0.72.1 + released: 2013-11-01 + - version: '0.72' + released: 2013-11-01 + + dumpling: + target_eol: 2015-03-01 + actual_eol: 2015-05-01 + releases: + - version: 0.67.11 + released: 2014-09-01 + - version: 0.67.10 + released: 2014-08-01 + - version: 0.67.9 + released: 2014-05-01 + - version: 0.67.8 + released: 2014-05-01 + - version: 0.67.7 + released: 2014-02-01 + - version: 0.67.6 + released: 2014-02-01 + - version: 0.67.5 + released: 2013-12-01 + - version: 0.67.4 + released: 2013-10-01 + - version: 0.67.3 + released: 2013-09-01 + - version: 0.67.2 + released: 2013-08-01 + - version: 0.67.1 + released: 2013-08-01 + - version: '0.67' + released: 2013-08-01 + +development: + releases: + - version: 13.1.0 + released: 2018-05-01 + skip_ref: true + - version: 13.0.2 + released: 2018-04-01 + skip_ref: true + - version: 13.0.1 + released: 2018-02-01 + skip_ref: true + - version: 13.0.0 + released: 2017-08-01 + skip_ref: true + - version: 12.1.4 + released: 2017-08-01 + skip_ref: true + - version: 12.1.3 + released: 2017-08-01 + skip_ref: true + - version: 12.1.2 + released: 2017-08-01 + skip_ref: true + - version: 12.1.1 + released: 2017-07-01 + skip_ref: true + - version: 12.1.0 + released: 2017-06-01 + skip_ref: true + - version: 12.0.3 + released: 2017-05-01 + skip_ref: true + - version: 12.0.2 + released: 2017-04-01 + skip_ref: true + - version: 12.0.1 + released: 2017-03-01 + skip_ref: true + - version: 12.0.0 + released: 2017-02-01 + skip_ref: true + - version: 11.1.1 + released: 2017-01-01 + skip_ref: true + - version: 11.1.0 + released: 2016-12-01 + skip_ref: true + - version: 11.0.2 + released: 2016-10-01 + - version: 11.0.1 + released: 2016-10-01 + skip_ref: true + - version: 11.0.0 + released: 2016-06-01 + skip_ref: true + - version: 10.1.2 + released: 2016-04-01 + - version: 10.1.1 + released: 2016-04-01 + - version: 10.1.0 + released: 2016-03-01 + - version: 10.0.5 + released: 2016-03-01 + - version: 10.0.4 + released: 2016-03-01 + skip_ref: true + - version: 10.0.3 + released: 2016-02-01 + - version: 10.0.2 + released: 2016-01-01 + - version: 10.0.1 + released: 2015-12-01 + - version: 10.0.0 + released: 2015-11-01 + - version: 9.1.0 + released: 2015-10-01 + - version: 9.0.3 + released: 2015-08-01 + - version: 9.0.2 + released: 2015-07-01 + - version: 9.0.1 + released: 2015-06-01 + - version: 9.0.0 + released: 2015-05-01 + - version: '0.93' + released: 2015-02-01 + - version: '0.92' + released: 2015-02-01 + - version: '0.91' + released: 2015-01-01 + - version: '0.90' + released: 2014-12-01 + - version: '0.89' + released: 2014-12-01 + - version: '0.88' + released: 2014-11-01 + - version: '0.86' + released: 2014-10-01 + - version: '0.85' + released: 2014-09-01 + - version: '0.84' + released: 2014-08-01 + - version: '0.83' + released: 2014-07-01 + - version: '0.82' + released: 2014-06-01 + - version: '0.81' + released: 2014-06-01 + - version: '0.79' + released: 2014-04-01 + - version: '0.78' + released: 2014-03-01 + - version: '0.77' + released: 2014-02-01 + - version: '0.76' + released: 2014-01-01 + - version: '0.75' + released: 2014-01-01 + - version: '0.74' + released: 2013-12-01 + - version: '0.73' + released: 2013-12-01 + - version: '0.71' + released: 2013-10-01 + - version: '0.70' + released: 2013-10-01 + - version: '0.69' + released: 2013-09-01 + - version: '0.68' + released: 2013-09-01 diff --git a/doc/releases/schedule.rst b/doc/releases/schedule.rst index a1a4bf82417..ac141a9cf7d 100644 --- a/doc/releases/schedule.rst +++ b/doc/releases/schedule.rst @@ -2,192 +2,15 @@ Ceph Releases ============= +Current +------- + +.. ceph_releases:: releases.yml + Timeline -------- -+----------------------+----------+-------------+-----------+----------+---------------+-----------+----------+------------+------------+-------------+ -| | `Mimic`_ | `Luminous`_ | `Kraken`_ | `Jewel`_ | `Infernalis`_ | `Hammer`_ | `Giant`_ | `Firefly`_ | `Emperor`_ | `Dumpling`_ | -| | | | EOL | EOL | EOL | EOL | EOL | EOL | EOL | EOL | -+----------------------+----------+-------------+-----------+----------+---------------+-----------+----------+------------+------------+-------------+ -| First release | June | August | January | April | November | April | October | May | November | August | -| | 2018 | 2017 | 2017 | 2016 | 2015 | 2015 | 2014 | 2014 | 2013 | 2013 | -+----------------------+----------+-------------+-----------+----------+---------------+-----------+----------+------------+------------+-------------+ -| Estimated retirement | | | August | June | | May | | January | | March | -| | | | 2017 | 2018 | | 2017 | | 2016 | | 2015 | -+----------------------+----------+-------------+-----------+----------+---------------+-----------+----------+------------+------------+-------------+ -| Actual retirement | | | August | July | April 2016 | August | April | April | May | May | -| | | | 2017 | 2018 | | 2017 | 2015 | 2016 | 2014 | 2015 | -+----------------------+----------+-------------+-----------+----------+---------------+-----------+----------+------------+------------+-------------+ - -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | Development | `Mimic`_ | `Luminous`_ | `Kraken`_ | `Jewel`_ | `Infernalis`_ | `Hammer`_ | `Giant`_ | `Firefly`_ | `Emperor`_ | `Dumpling`_ | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| September 2018 | | `13.2.2`_ | `12.2.8`_ | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| July 2018 | | `13.2.1`_ | `12.2.6`_ | | `10.2.11`_ | | | | | | | -| | | | `12.2.7`_ | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| June 2018 | | `13.2.0`_ | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| May 2018 | 13.1.0 | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| April 2018 | 13.0.2 | | `12.2.5`_ | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| February 2018 | 13.0.1 | | `12.2.3`_ | | | | | | | | | -| | | | `12.2.4`_ | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| December 2017 | | | `12.2.2`_ | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| October 2017 | | | | | `10.2.10`_ | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| September 2017 | | | `12.2.1`_ | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| August 2017 | 13.0.0 | | `12.2.0`_ | `11.2.1`_ | | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | 12.1.4 | | | | | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | 12.1.3 | | | | | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | 12.1.2 | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| July 2017 | 12.1.1 | | | | `10.2.9`_ | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | `10.2.8`_ | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| June 2017 | 12.1.0 | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| May 2017 | 12.0.3 | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| April 2017 | 12.0.2 | | | | `10.2.7`_ | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| March 2017 | 12.0.1 | | | | `10.2.6`_ | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| February 2017 | 12.0.0 | | | | | |`0.94.10`_ | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| January 2017 | 11.1.1 | | | `11.2.0`_ | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| December 2016 | 11.1.0 | | | | `10.2.5`_ | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | `10.2.4`_ | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| October 2016 | `11.0.2`_ | | | | | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | 11.0.1 | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| September 2016 | | | | | `10.2.3`_ | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| August 2016 | | | | | | | `0.94.9`_ | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | `0.94.8`_ | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| June 2016 | 11.0.0 | | | | `10.2.2`_ | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| May 2016 | | | | | `10.2.1`_ | | `0.94.7`_ | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| April 2016 | `10.1.2`_ | | | | `10.2.0`_ | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `10.1.1`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| March 2016 | `10.1.0`_ | | | | | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `10.0.5`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| February 2016 | `10.0.3`_ | | | | | `9.2.1`_ | `0.94.6`_ | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| January 2016 | `10.0.2`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| December 2015 | `10.0.1`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| November 2015 | `10.0.0`_ | | | | | `9.2.0`_ | | | `0.80.11`_ | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| October 2015 | `9.1.0`_ | | | | | | `0.94.5`_ | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | `0.94.4`_ | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| August 2015 | `9.0.3`_ | | | | | | `0.94.3`_ | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| July 2015 | `9.0.2`_ | | | | | | | | `0.80.10`_ | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| June 2015 | `9.0.1`_ | | | | | | `0.94.2`_ | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| May 2015 | `9.0.0`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| April 2015 | | | | | | | `0.94.1`_ | `0.87.2`_ | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | `0.94`_ | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| March 2015 | | | | | | | | | `0.80.9`_ | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| February 2015 | `0.93`_ | | | | | | | `0.87.1`_ | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `0.92`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| January 2015 | `0.91`_ | | | | | | | | `0.80.8`_ | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| December 2014 | `0.90`_ | | | | | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `0.89`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| November 2014 | `0.88`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| October 2014 | `0.86`_ | | | | | | | `0.87`_ | `0.80.7`_ | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | `0.80.6`_ | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| September 2014 | `0.85`_ | | | | | | | | | | `0.67.11`_ | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| August 2014 | `0.84`_ | | | | | | | | | | `0.67.10`_ | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| July 2014 | `0.83`_ | | | | | | | | `0.80.5`_ | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | `0.80.4`_ | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | `0.80.3`_ | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | `0.80.2`_ | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| June 2014 | `0.82`_ | | | | | | | | | | | -| +-------------+------------+------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `0.81`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| May 2014 | | | | | | | | | `0.80.1`_ | | `0.67.9`_ | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | `0.80`_ | | `0.67.8`_ | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| April 2014 | `0.79`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| March 2014 | `0.78`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| February 2014 | `0.77`_ | | | | | | | | | | `0.67.7`_ | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | | | `0.67.6`_ | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| January 2014 | `0.76`_ | | | | | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `0.75`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| December 2013 | `0.74`_ | | | | | | | | | `0.72.2`_ | `0.67.5`_ | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `0.73`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| November 2013 | | | | | | | | | | `0.72.1`_ | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | | `0.72`_ | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| October 2013 | `0.71`_ | | | | | | | | | | `0.67.4`_ | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `0.70`_ | | | | | | | | | | | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| September 2013 | `0.69`_ | | | | | | | | | | | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | `0.68`_ | | | | | | | | | | `0.67.3`_ | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| August 2013 | | | | | | | | | | | `0.67.2`_ | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | | | `0.67.1`_ | -| +-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ -| | | | | | | | | | | | `0.67`_ | -+----------------+-------------+-----------+-------------+-----------+------------+---------------+-----------+------------+------------+------------+-------------+ +.. ceph_timeline:: releases.yml development mimic luminous kraken jewel infernalis hammer giant firefly emperor dumpling .. _Mimic: ../mimic .. _13.2.2: ../mimic#v13-2-2-mimic