diff options
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | schedule.json | 24 | ||||
-rw-r--r-- | schedule.svg | 146 |
3 files changed, 172 insertions, 0 deletions
@@ -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> |