Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/release.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBardi Harborow <bardi@bardiharborow.com>2019-02-14 13:13:42 +0300
committerBardi Harborow <bardi@bardiharborow.com>2019-02-14 13:28:16 +0300
commit1487aa97905f70aadb685788a9248aef4d7027fd (patch)
tree11590139e5aa3dee58e0dc20ad8ce133bd51157b
parentdb11bd7b75055cdffd9004fa31e8974130767ba4 (diff)
Add JSON and SVG versions of proposed timelines.
-rw-r--r--README.md2
-rw-r--r--schedule.json24
-rw-r--r--schedule.svg146
3 files changed, 172 insertions, 0 deletions
diff --git a/README.md b/README.md
index 9436cd1..582ba8d 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,8 @@
**Warning:** Dates will vary widely and without notice. We are actively working on strengthening timeline assurances.
+![LTS schedule](schedule.svg)
+
[2.x]: https://getbootstrap.com/2.3.2/getting-started.html#download-bootstrap
[3.x]: https://getbootstrap.com/docs/3.4/getting-started/#download
[4.x]: https://getbootstrap.com/docs/4.3/getting-started/download/
diff --git a/schedule.json b/schedule.json
new file mode 100644
index 0000000..131a623
--- /dev/null
+++ b/schedule.json
@@ -0,0 +1,24 @@
+{
+ "v2": {
+ "start": "2013-07-18",
+ "end": "2013-08-19"
+ },
+ "v3": {
+ "start": "2013-08-19",
+ "lts": "2014-11-01",
+ "maintenance": "2016-09-05",
+ "end": "2019-04-01"
+ },
+ "v4": {
+ "start": "2018-01-18",
+ "lts": "2019-04-01",
+ "maintenance": "2019-10-01",
+ "end": "2020-04-01"
+ },
+ "v5": {
+ "start": "2019-04-01",
+ "lts": "2020-04-01",
+ "maintenance": "2020-10-01",
+ "end": "2021-04-01"
+ }
+}
diff --git a/schedule.svg b/schedule.svg
new file mode 100644
index 0000000..c09b396
--- /dev/null
+++ b/schedule.svg
@@ -0,0 +1,146 @@
+<!-- Generated by the wonderful https://github.com/nodejs/lts-schedule, written by @cjihrig. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="960" height="500">
+ <defs>
+ <style>
+ .current{fill:#2aa748}.active{fill:#47b4ff}.maintenance,.tick text{fill:#89a19d}.unstable{fill:#ffb800}.bar-join,.label{fill:#fff}.bar-join.current{display:none}.tick text{font:16px sans-serif}.axis--y .tick text{text-anchor:end}.label{font:20px sans-serif;font-weight:100;text-anchor:start;dominant-baseline:middle;text-transform:uppercase}
+ </style>
+ </defs>
+ <g id="bar-container">
+ <g fill="none" class="axis axis--x" font-family="sans-serif" font-size="10" text-anchor="middle">
+ <g class="tick">
+ <path stroke="#89a19d" d="M.5 0v440" transform="translate(115.283 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(115.283 30)">
+ Jan 2013
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#89a19d" stroke-dasharray="2 2" d="M.5 0v440" transform="translate(213.964 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(213.964 30)">
+ Jan 2014
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#89a19d" d="M.5 0v440" transform="translate(312.646 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(312.646 30)">
+ Jan 2015
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#89a19d" stroke-dasharray="2 2" d="M.5 0v440" transform="translate(411.327 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(411.327 30)">
+ Jan 2016
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#89a19d" d="M.5 0v440" transform="translate(510.278 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(510.278 30)">
+ Jan 2017
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#89a19d" stroke-dasharray="2 2" d="M.5 0v440" transform="translate(608.96 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(608.96 30)">
+ Jan 2018
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#89a19d" d="M.5 0v440" transform="translate(707.64 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(707.64 30)">
+ Jan 2019
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#89a19d" stroke-dasharray="2 2" d="M.5 0v440" transform="translate(806.322 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(806.322 30)">
+ Jan 2020
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#89a19d" d="M.5 0v440" transform="translate(905.273 30)"/>
+ <text x=".5" fill="#000" dy="-10" transform="translate(905.273 30)">
+ Jan 2021
+ </text>
+ </g>
+ </g>
+ <g fill="none" class="axis axis--y" font-family="sans-serif" font-size="10">
+ <g class="tick">
+ <path stroke="#e1e7e7" d="M0 .5h820" transform="translate(110 83.962)"/>
+ <text y=".5" fill="#000" dx="-10" dy=".32em" transform="translate(110 83.962)">
+ Master
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#e1e7e7" d="M0 .5h820" transform="translate(110 166.981)"/>
+ <text y=".5" fill="#000" dx="-10" dy=".32em" transform="translate(110 166.981)">
+ v2
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#e1e7e7" d="M0 .5h820" transform="translate(110 250)"/>
+ <text y=".5" fill="#000" dx="-10" dy=".32em" transform="translate(110 250)">
+ v3
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#e1e7e7" d="M0 .5h820" transform="translate(110 333.019)"/>
+ <text y=".5" fill="#000" dx="-10" dy=".32em" transform="translate(110 333.019)">
+ v4
+ </text>
+ </g>
+ <g class="tick">
+ <path stroke="#e1e7e7" d="M0 .5h820" transform="translate(110 416.038)"/>
+ <text y=".5" fill="#000" dx="-10" dy=".32em" transform="translate(110 416.038)">
+ v5
+ </text>
+ </g>
+ <path stroke="#89a19d" d="M0 440h820" transform="translate(110 30)"/>
+ </g>
+ <path d="M0 24.906h820v58.113H0z" class="bar unstable" transform="translate(110 30)"/>
+ <text x="15" y="55.962" class="label" transform="translate(110 30)">
+ unstable
+ </text>
+ <path d="M58.938 107.925h8.652v58.113h-8.652z" class="bar current" transform="translate(110 30)"/>
+ <path d="M368.5 190.943h253.597v58.113H368.5z" class="bar maintenance" transform="translate(110 30)"/>
+ <path d="M367.5 190.943h2v58.113h-2z" class="bar-join maintenance" transform="translate(110 30)"/>
+ <text x="383.5" y="222" class="label" transform="translate(110 30)">
+ maintenance
+ </text>
+ <path d="M186.278 190.943H368.5v58.113H186.278z" class="bar active" transform="translate(110 30)"/>
+ <path d="M185.278 190.943h2v58.113h-2z" class="bar-join active" transform="translate(110 30)"/>
+ <text x="201.278" y="222" class="label" transform="translate(110 30)">
+ active
+ </text>
+ <path d="M67.59 190.943h118.688v58.113H67.59z" class="bar current" transform="translate(110 30)"/>
+ <text x="82.59" y="222" class="label" transform="translate(110 30)">
+ current
+ </text>
+ <g>
+ <path d="M671.573 273.962h49.476v58.113h-49.476z" class="bar maintenance" transform="translate(110 30)"/>
+ <path d="M670.573 273.962h2v58.113h-2z" class="bar-join maintenance" transform="translate(110 30)"/>
+ </g>
+ <g>
+ <path d="M622.097 273.962h49.476v58.113h-49.476z" class="bar active" transform="translate(110 30)"/>
+ <path d="M621.097 273.962h2v58.113h-2z" class="bar-join active" transform="translate(110 30)"/>
+ </g>
+ <g>
+ <path d="M503.68 273.962h118.417v58.113H503.68z" class="bar current" transform="translate(110 30)"/>
+ <text x="518.68" y="305.019" class="label" transform="translate(110 30)">
+ current
+ </text>
+ </g>
+ <g>
+ <path d="M770.524 356.981h49.205v58.113h-49.205z" class="bar maintenance" transform="translate(110 30)"/>
+ <path d="M769.524 356.981h2v58.113h-2z" class="bar-join maintenance" transform="translate(110 30)"/>
+ </g>
+ <g>
+ <path d="M721.048 356.981h49.476v58.113h-49.476z" class="bar active" transform="translate(110 30)"/>
+ <path d="M720.048 356.981h2v58.113h-2z" class="bar-join active" transform="translate(110 30)"/>
+ </g>
+ <g>
+ <path d="M622.097 356.981h98.952v58.113h-98.952z" class="bar current" transform="translate(110 30)"/>
+ <text x="637.097" y="388.038" class="label" transform="translate(110 30)">
+ current
+ </text>
+ </g>
+ </g>
+</svg>