1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-09 00:00:04 +01:00

docs: release-policy README and pics

This commit is contained in:
Andy Green 2018-11-14 08:57:29 +08:00
parent 3fc4be005d
commit 0647806f4c
6 changed files with 475 additions and 0 deletions

View file

@ -0,0 +1,88 @@
# lws release policy
## Master branch
Master branch is the default and all new work happens there. It's unstable and
subject to history rewrites, patches moving about and being squashed etc. In
terms of it working, it is subject to passing CI tests including a battery of
runtime tests, so if it is passing CI as it usually is then it's probably in
usable shape.
![all work happens on master](../doc-assets/lws-relpol-1.svg)
If you have patches (you are a hero) they should be targeted at master.
To follow such a branch, `git pull` is the wrong tool... the starting point
of what you currently have may no longer exist remotely due to rearranging the
patches there. Instead use a flow like this:
```
$ git fetch https://libwebsockets.org/repo/libwebsockets +master:m && git reset --hard m
```
This fetches current remote master into local branch `m`, and then forces your
local checkout to exactly match `m`. This replaces your checked-out tree
including any of your local changes, so stash those first, or use stgit or so
to pop them before updating your basis against lws master.
## Stable branches
Master is very useful for coordinating development, and integrating WIP,
but for distros or integration into large user projects some stability is often
more desirable than the latest development work.
Periodically, when master seems in good shape and various new developments seem
to be working, it's copied out into a versioned stable branch, like `v3.0-stable`.
![stable branches are copied from master](../doc-assets/lws-relpol-2.svg)
The initial copy is tagged with, eg, `v3.0.0`.
(At that time, master's logical version is set to "...99", eg, `v3.0.99` so
version comparisons show that version of master is "later" than any other
v3.0 version, which will never reach 99 point releases itself, but "earlier"
than, eg, v3.1.)
## Backport policy
Work continues on master, and as part of that usually bugs are reported and / or
fixes found that may apply not just to current master, but the version of master
that was copied to form the last -stable branch.
In that case, the patch may be backported to the last stable branch to also fix
the bug there. In the case of refactors or major internal improvements, these
typically do not get backported.
This applies only to fixes and public API-neutral internal changes to lws... if
new features were backported or API changes allowed, then there would be
multiple apis under the same version name and library soname, which is
madness.
When new stable releases are made, the soname is bumped reflecting the API is
different than that of previous versions.
![backports from master to stable](../doc-assets/lws-relpol-3.svg)
If there is something you need in a later lws version that is not backported,
you need to either backport it yourself (remember that lws is LGPL and you must
provide your changes when you distribute the binary) or use a later lws version.
Using a more recent version of lws is almost always the correct way.
## Stable point releases
Periodically fix patches pile up on the -stable branch and are tagged out as
"point releases". So if the original stable release was "v3.0.0", the point
release may be "v3.0.1".
![point releases of stable](../doc-assets/lws-relpol-4.svg)
## Critical fixes
Sometimes a bug is found and fixed that had been hiding for a few versions.
If the bug has some security dimension or is otherwise important, we may
backport it to a few recent releases, not just the last one. This is pretty
uncommon though.
![backport to multiple stable branches](../doc-assets/lws-relpol-5.svg)

View file

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="117.55mm" height="43.682mm" version="1.1" viewBox="0 0 117.55421 43.682442" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="a" overflow="visible" orient="auto">
<path transform="matrix(-.2 0 0 -.2 -1.2 0)" d="m0 0 5-5-17.5 5 17.5 5z" fill-rule="evenodd" stroke="#000" stroke-width="1pt"/>
</marker>
<filter id="b" x="-.044975" y="-.14275" width="1.09" height="1.2855" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="24.569981"/>
</filter>
</defs>
<g transform="translate(534.27 246.45)">
<rect transform="matrix(.08226 0 0 .08226 -259.43 86.518)" x="-3282.1" y="-3988.8" width="1311.1" height="413.09" filter="url(#b)"/>
<rect x="-530.41" y="-243.08" width="107.85" height="33.981" fill="#fff"/>
<path d="m-518.44-222.12h87.407" fill="none" marker-end="url(#a)" stroke="#000" stroke-width=".8444"/>
<text x="-474.75528" y="-216.97371" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="4.1788px" letter-spacing="0px" stroke-width=".021765" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-474.75528" y="-216.97371" stroke-width=".021765">All new work is done only on master</tspan></text>
<rect x="-493.93" y="-234.24" width="37.485" height="5.7258" fill-opacity=".91732"/>
<text x="-476.569" y="-229.52711" dominant-baseline="auto" fill="#ffffff" font-family="'Open Sans'" font-size="6.5983px" letter-spacing="0px" stroke-width=".034366" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-476.569" y="-229.52711" fill="#ffffff" stroke-width=".034366">master</tspan></text>
<g fill-opacity=".91732">
<circle cx="-450.55" cy="-231.43" r="2.8446"/>
<circle cx="-443.98" cy="-231.4" r="2.8446" opacity=".742"/>
<circle cx="-437.52" cy="-231.26" r="2.8446" opacity=".497"/>
<circle cx="-513.47" cy="-231.74" r="2.8446" opacity=".522"/>
<circle cx="-506.9" cy="-231.7" r="2.8446" opacity=".73"/>
<circle cx="-500.44" cy="-231.56" r="2.8446"/>
<circle cx="-493.87" cy="-231.43" r="2.8446"/>
<circle cx="-457.11" cy="-231.42" r="2.8446"/>
</g>
<rect x="-527.7" y="-242.83" width="107.85" height="33.981" fill="none"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="135.68mm" height="69.688mm" version="1.1" viewBox="0 0 135.68018 69.688057" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<marker id="a" overflow="visible" orient="auto">
<path transform="matrix(-.2 0 0 -.2 -1.2 0)" d="m0 0 5-5-17.5 5 17.5 5z" fill-rule="evenodd" stroke="#000" stroke-width="1pt"/>
</marker>
<linearGradient id="b" x1="1000.2" x2="993.99" y1="928.57" y2="992.97" gradientTransform="matrix(-.19888 .028535 .028535 .19888 110.19 -89.467)" gradientUnits="userSpaceOnUse">
<stop stop-color="#e9ddaf" offset="0"/>
<stop stop-color="#504416" offset="1"/>
</linearGradient>
<filter id="d" x="-.060394" y="-.055053" width="1.1208" height="1.1101" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.44336333"/>
</filter>
<filter id="c" x="-.038095" y="-.079938" width="1.0762" height="1.1599" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="24.327513"/>
</filter>
</defs>
<g transform="translate(132.66 -92.741)">
<rect transform="matrix(.08226 0 0 .08226 160.24 368.6)" x="-3502.3" y="-3295.1" width="1532.6" height="730.39" filter="url(#c)"/>
<rect x="-129.09" y="96.313" width="126.07" height="60.082" fill="#fff"/>
<rect x="-96.346" y="137.61" width="62.355" height="5.7258" fill-opacity=".91732"/>
<path d="m-57.724 138.73 39.644-31.888 4.5554 5.4173-38.66 31.888z" fill="#00f" stroke="#000" stroke-width=".021765px"/>
<g transform="matrix(.08226 0 0 .08226 209.08 204.79)" fill-opacity=".91732">
<circle cx="-3207.7" cy="-780.43" r="82.55"/>
<circle cx="-3208.3" cy="-781.05" r="52.917" fill="#fff"/>
</g>
<circle cx="-59.501" cy="132.08" r="5.6635" fill="#fff" fill-opacity=".9375"/>
<path transform="matrix(-.75166 .10785 .10785 .75166 -2080.3 632.8)" d="m-2725.9-287.4c-0.4737 0.0104-0.7327 0.29435-0.9193 0.61443-2.45 4.2318-6.125 10.579-7.35 12.695-0.6344 1.3127 0.5828 2.8675 1.0263 3.5972 0.5853 0.7769 0.802 1.1542 1.8469 1.882 1.1717 0.46167 2.3507 0.56335 2.8066 0.53435s2.7265 0.26464 4.5434-1.3364c1.1317-2.0971 4.6213-8.6717 6.8848-12.866 0.2058-0.37197 0.6954-0.86583-0.1364-1.3663-2.8286-1.2472-5.6572-2.4941-8.4858-3.7414-0.077-0.0104-0.1488-0.0149-0.2165-0.0134zm-4.2607 15.885a1.1359 1.0667 0 0 1 1.1358 1.0666 1.1359 1.0667 0 0 1 -1.1358 1.0666 1.1359 1.0667 0 0 1 -1.1359 -1.0666 1.1359 1.0667 0 0 1 1.1359 -1.0666z" filter="url(#d)" stroke="#000" stroke-width=".26458px"/>
<path d="m-62.36 122.52c0.3571-0.0433 0.5825 0.14227 0.7573 0.36273 2.2979 2.9166 5.7448 7.2912 6.8937 8.7496 0.6185 0.91825-0.1287 2.2186-0.3834 2.8149-0.356 0.64707-0.4783 0.95366-1.1853 1.6135-0.8309 0.47338-1.7057 0.67692-2.0515 0.70427-0.3459 0.0273-2.0213 0.49302-3.5596-0.51443-1.0769-1.4542-4.409-6.0198-6.5628-8.9283-0.1947-0.25737-0.616-0.57542-0.045-1.0413 1.9917-1.2426 3.9833-2.4853 5.9749-3.7279 0.057-0.0161 0.1104-0.0267 0.1614-0.0332zm4.9157 11.48a0.81001 0.86256 81.835 0 0 -0.73879 0.92424 0.81001 0.86256 81.835 0 0 0.96889 0.67917 0.81001 0.86256 81.835 0 0 0.7387 -0.92418 0.81001 0.86256 81.835 0 0 -0.9688 -0.67923z" fill="url(#b)" stroke="#000" stroke-width=".20091px"/>
<g fill="none" stroke="#540" stroke-opacity=".18182" stroke-width=".20123">
<path d="m-63.003 123.99 6.3983 8.4695"/>
<path d="m-66.817 126.33 6.4415 8.7713"/>
<path d="m-64.931 125.21 6.4288 8.5557"/>
</g>
<text x="-78.984398" y="142.32184" dominant-baseline="auto" fill="#ffffff" font-family="'Open Sans'" font-size="6.5983px" letter-spacing="0px" stroke-width=".034366" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-78.984398" y="142.32184" fill="#ffffff" stroke-width=".034366">master</tspan></text>
<g fill-opacity=".91732">
<circle cx="-27.354" cy="140.42" r="2.8446"/>
<circle cx="-20.787" cy="140.45" r="2.8446" opacity=".742"/>
<circle cx="-14.325" cy="140.59" r="2.8446" opacity=".497"/>
<circle cx="-115.88" cy="140.11" r="2.8446" opacity=".522"/>
<circle cx="-109.32" cy="140.15" r="2.8446" opacity=".73"/>
<circle cx="-102.86" cy="140.29" r="2.8446"/>
<circle cx="-96.288" cy="140.42" r="2.8446"/>
<circle cx="-33.921" cy="140.43" r="2.8446"/>
</g>
<g letter-spacing="0px" text-anchor="middle" word-spacing="0px">
<text transform="rotate(30.874)" x="13.613972" y="144.56674" dominant-baseline="auto" fill="#ffff00" font-family="'Open Sans Condensed'" font-size="5.3499px" stroke-width=".027864" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="13.613972" y="144.56674" fill="#ffff00" font-family="'Open Sans Condensed'" stroke-width=".027864">v3.0.0</tspan></text>
<text transform="rotate(-39.355)" x="-104.55833" y="68.824959" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="5.5255px" stroke-width=".028779" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-104.55833" y="68.824959" fill="#000000" stroke-width=".028779">v3.0-stable</tspan></text>
<text x="-86.001366" y="108.6248" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="4.1788px" stroke-width=".021765" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-86.001366" y="108.6248">When a release happens, master</tspan><tspan x="-86.001366" y="113.84833">is copied into a release-specific</tspan><tspan x="-86.001366" y="119.07185">-stable branch and tagged</tspan></text>
</g>
<path d="m-111.25 152.21h87.407" fill="none" marker-end="url(#a)" stroke="#000" stroke-width=".8444"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.8 KiB

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="164.43mm" height="92.039mm" version="1.1" viewBox="0 0 164.43303 92.038696" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<marker id="b" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="a" overflow="visible" orient="auto">
<path transform="matrix(-.2 0 0 -.2 -1.2 0)" d="m0 0 5-5-17.5 5 17.5 5z" fill-rule="evenodd" stroke="#000" stroke-width="1pt"/>
</marker>
<linearGradient id="c" x1="1000.2" x2="993.99" y1="928.57" y2="992.97" gradientTransform="matrix(-.19888 .028535 .028535 .19888 73.514 -107.37)" gradientUnits="userSpaceOnUse">
<stop stop-color="#e9ddaf" offset="0"/>
<stop stop-color="#504416" offset="1"/>
</linearGradient>
<filter id="e" x="-.060394" y="-.055053" width="1.1208" height="1.1101" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.44336333"/>
</filter>
<filter id="d" x="-.042027" y="-.0804" width="1.0841" height="1.1608" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="32.290007"/>
</filter>
</defs>
<g transform="translate(167.26 -73.321)">
<rect transform="matrix(.08226 0 0 .08226 153.32 266.78)" x="-3819.6" y="-2274.3" width="1843.9" height="963.88" filter="url(#d)"/>
<rect x="-162.36" y="77.972" width="151.68" height="79.289" fill="#fff"/>
<rect x="-133.03" y="119.7" width="90.911" height="5.7258" fill-opacity=".91732"/>
<path d="m-94.403 120.82 39.644-31.888 4.5555 5.4173-38.66 31.888z" fill="#00f" stroke="#000" stroke-width=".021765px"/>
<g transform="matrix(.08226 0 0 .08226 172.4 186.89)" fill-opacity=".91732">
<circle cx="-3207.7" cy="-780.43" r="82.55"/>
<circle cx="-3208.3" cy="-781.05" r="52.917" fill="#fff"/>
</g>
<circle cx="-96.18" cy="114.18" r="5.6635" fill="#fff" fill-opacity=".9375"/>
<path transform="matrix(-.75166 .10785 .10785 .75166 -2117 614.9)" d="m-2725.9-287.4c-0.4737 0.0104-0.7327 0.29435-0.9193 0.61443-2.45 4.2318-6.125 10.579-7.35 12.695-0.6344 1.3127 0.5828 2.8675 1.0263 3.5972 0.5853 0.7769 0.802 1.1542 1.8469 1.882 1.1717 0.46167 2.3507 0.56335 2.8066 0.53435s2.7265 0.26464 4.5434-1.3364c1.1317-2.0971 4.6213-8.6717 6.8848-12.866 0.2058-0.37197 0.6954-0.86583-0.1364-1.3663-2.8286-1.2472-5.6572-2.4941-8.4858-3.7414-0.077-0.0104-0.1488-0.0149-0.2165-0.0134zm-4.2607 15.885a1.1359 1.0667 0 0 1 1.1358 1.0666 1.1359 1.0667 0 0 1 -1.1358 1.0666 1.1359 1.0667 0 0 1 -1.1359 -1.0666 1.1359 1.0667 0 0 1 1.1359 -1.0666z" filter="url(#e)" stroke="#000" stroke-width=".26458px"/>
<path d="m-99.039 104.62c0.3572-0.0433 0.5825 0.14222 0.7573 0.36268 2.2979 2.9166 5.7448 7.2913 6.8938 8.7496 0.6184 0.91831-0.1288 2.2186-0.3835 2.815-0.356 0.64707-0.4783 0.95367-1.1853 1.6135-0.8309 0.47333-1.7057 0.67687-2.0515 0.70422-0.3458 0.0273-2.0213 0.49307-3.5596-0.51442-1.077-1.4542-4.409-6.0198-6.5627-8.9282-0.1948-0.25742-0.61611-0.57547-0.045-1.0414 1.9917-1.2426 3.9833-2.4853 5.9749-3.7278 0.057-0.0161 0.1104-0.0268 0.1614-0.0332zm4.9158 11.48a0.81001 0.86256 81.835 0 0 -0.7388 0.92424 0.81001 0.86256 81.835 0 0 0.9688 0.67923 0.81001 0.86256 81.835 0 0 0.7387 -0.92424 0.81001 0.86256 81.835 0 0 -0.9687 -0.67923z" fill="url(#c)" stroke="#000" stroke-width=".20091px"/>
<g fill="none" stroke="#540" stroke-opacity=".18182" stroke-width=".20123">
<path d="m-99.682 106.08 6.3983 8.4695"/>
<path d="m-103.5 108.42 6.4415 8.7713"/>
<path d="m-101.61 107.3 6.4288 8.5557"/>
</g>
<text x="-115.66345" y="124.41663" dominant-baseline="auto" fill="#ffffff" font-family="'Open Sans'" font-size="6.5983px" letter-spacing="0px" stroke-width=".034366" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-115.66345" y="124.41663" fill="#ffffff" stroke-width=".034366">master</tspan></text>
<g fill-opacity=".91732">
<circle cx="-35.652" cy="122.51" r="2.8446"/>
<circle cx="-29.085" cy="122.55" r="2.8446" opacity=".742"/>
<circle cx="-22.623" cy="122.69" r="2.8446" opacity=".497"/>
<circle cx="-152.56" cy="122.21" r="2.8446" opacity=".522"/>
<circle cx="-146" cy="122.24" r="2.8446" opacity=".73"/>
<circle cx="-139.53" cy="122.38" r="2.8446"/>
<circle cx="-132.97" cy="122.52" r="2.8446"/>
<circle cx="-42.219" cy="122.52" r="2.8446"/>
</g>
<g>
<text transform="rotate(30.874)" x="-27.055706" y="148.02026" dominant-baseline="auto" fill="#ffff00" font-family="'Open Sans Condensed'" font-size="5.3499px" letter-spacing="0px" stroke-width=".027864" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-27.055706" y="148.02026" fill="#ffff00" font-family="'Open Sans Condensed'" stroke-width=".027864">v3.0.0</tspan></text>
<text transform="rotate(-39.355)" x="-121.56568" y="31.720842" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="5.5255px" letter-spacing="0px" stroke-width=".028779" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-121.56568" y="31.720842" fill="#000000" stroke-width=".028779">v3.0-stable</tspan></text>
<path d="m-147.93 134.3h118.75" fill="none" marker-end="url(#a)" stroke="#000" stroke-width=".8444"/>
<text x="-91.00293" y="139.95488" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="4.1788px" letter-spacing="0px" stroke-width=".021765" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-91.00293" y="139.95488">Work continues on master, and if a fix is made</tspan><tspan x="-91.00293" y="145.17841">that is also relevant to the last release,</tspan><tspan x="-91.00293" y="150.40193">it is also backported on to the -stable branch</tspan></text>
<path d="m-64.193 120.82c6.0493-5.3437 1.0792-10.607-3.5694-14.321" fill="none" marker-end="url(#b)" stroke="#37abc8" stroke-width=".8226"/>
</g>
<g>
<path d="m-47.649 97.997c1.4407-2.4326 2.859-4.8788 4.3139-7.3028 0.17716-0.40617 0.6636-0.54529 0.96587-0.0746 0.26326 0.52636 0.48333 0.8893 0.71368 1.3389 1.1541 1.9984 2.3082 3.9968 3.4622 5.9951 0.19316 0.42448 0.15667 0.86961-0.23008 1.0817-0.48896 0.0759-0.78571 0.0177-1.1873 0.0337-2.4778-8e-3 -4.9561 0.0193-7.4341 0.01-0.44278 0.031-0.89016-0.42352-0.72643-0.83708 0.0407-0.0815 0.0816-0.16303 0.12232-0.24453z" fill="#f00"/>
<path d="m-46.502 97.457c1.0958-1.8504 2.1748-3.7112 3.2815-5.5551 0.13473-0.30895 0.50479-0.41474 0.73477-0.0565 0.20022 0.4004 0.36765 0.6765 0.54289 1.0185 0.8779 1.5201 1.7557 3.0402 2.6336 4.5604 0.14699 0.32287 0.11916 0.66146-0.17502 0.82279-0.37193 0.0578-0.59763 0.0128-0.90321 0.0257-1.8848-6e-3 -3.77 0.0144-5.6549 8e-3 -0.33683 0.0235-0.67719-0.32217-0.55263-0.63674 0.031-0.0618 0.0618-0.12403 0.0931-0.18599z" fill="#fff"/>
<path d="m-43.337 95.934c-0.0751-0.8306-0.1502-1.6613-0.22522-2.492 0-0.39216 0.3897-0.72284 0.77565-0.59506 0.40104 0.0284 0.56665 0.45257 0.4812 0.8032-0.14185 0.80235-0.21195 1.6168-0.38274 2.4144-0.10873 0.33827-0.64932 0.28856-0.6353-0.0932l-0.01389-0.0375z"/>
<circle cx="-43.007" cy="97.222" r=".51388"/>
<text x="-28.618044" y="94.997299" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="3.259px" letter-spacing="0px" stroke-width=".016974" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-28.618044" y="94.997299">New features</tspan><tspan x="-28.618044" y="99.071075">and API</tspan><tspan x="-28.618044" y="103.14484">changes are</tspan><tspan x="-28.618044" y="107.21862">not allowed for</tspan><tspan x="-28.618044" y="111.29239">backport</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="164.9mm" height="100.87mm" version="1.1" viewBox="0 0 164.89519 100.87298" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="e" x1="1000.2" x2="993.99" y1="928.57" y2="992.97" gradientTransform="matrix(-2.4177 .34689 .34689 2.4177 -1517.1 -4018.7)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
<linearGradient id="a">
<stop stop-color="#e9ddaf" offset="0"/>
<stop stop-color="#504416" offset="1"/>
</linearGradient>
<marker id="c" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="d" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="b" overflow="visible" orient="auto">
<path transform="matrix(-.2 0 0 -.2 -1.2 0)" d="m0 0 5-5-17.5 5 17.5 5z" fill-rule="evenodd" stroke="#000" stroke-width="1pt"/>
</marker>
<linearGradient id="f" x1="1000.2" x2="993.99" y1="928.57" y2="992.97" gradientTransform="matrix(-.19888 .028535 .028535 .19888 114.31 -54.733)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
<filter id="h" x="-.060394" y="-.055053" width="1.1208" height="1.1101" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.44336333"/>
</filter>
<filter id="g" x="-.043551" y="-.075357" width="1.0871" height="1.1507" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="33.460433"/>
</filter>
</defs>
<g transform="translate(128.75 -106.61)">
<rect transform="matrix(.08226 0 0 .08226 192.06 201.56)" x="-3819.6" y="-1074" width="1843.9" height="1065.7" filter="url(#g)"/>
<rect x="-123.62" y="111.49" width="151.68" height="87.661" fill="#fff"/>
<path d="m-20.36 149.04 26.893-21.631 3.0902 3.6749-26.225 21.631z" fill="#000080" stroke="#000" stroke-width=".014764px"/>
<rect x="-92.228" y="172.34" width="90.911" height="5.7258" fill-opacity=".91732"/>
<path d="m-53.606 173.46 39.644-31.888 4.5555 5.4172-38.66 31.888z" fill="#00f" stroke="#000" stroke-width=".021765px"/>
<g transform="matrix(.08226 0 0 .08226 213.19 239.53)" fill-opacity=".91732">
<circle cx="-3207.7" cy="-780.43" r="82.55"/>
<circle cx="-3208.3" cy="-781.05" r="52.917" fill="#fff"/>
</g>
<circle cx="-55.383" cy="166.82" r="5.6635" fill="#fff" fill-opacity=".9375"/>
<path transform="matrix(-.75166 .10785 .10785 .75166 -2076.2 667.54)" d="m-2725.9-287.4c-0.4737 0.0104-0.7327 0.29435-0.9193 0.61443-2.45 4.2318-6.125 10.579-7.35 12.695-0.6344 1.3127 0.5828 2.8675 1.0263 3.5972 0.5853 0.7769 0.802 1.1542 1.8469 1.882 1.1717 0.46167 2.3507 0.56335 2.8066 0.53435s2.7265 0.26464 4.5434-1.3364c1.1317-2.0971 4.6213-8.6717 6.8848-12.866 0.2058-0.37197 0.6954-0.86583-0.1364-1.3663-2.8286-1.2472-5.6572-2.4941-8.4858-3.7414-0.077-0.0104-0.1488-0.0149-0.2165-0.0134zm-4.2607 15.885a1.1359 1.0667 0 0 1 1.1358 1.0666 1.1359 1.0667 0 0 1 -1.1358 1.0666 1.1359 1.0667 0 0 1 -1.1359 -1.0666 1.1359 1.0667 0 0 1 1.1359 -1.0666z" filter="url(#h)" stroke="#000" stroke-width=".26458px"/>
<path d="m-58.242 157.26c0.3572-0.0434 0.5825 0.14222 0.7573 0.36267 2.298 2.9166 5.7448 7.2913 6.8938 8.7496 0.6184 0.9183-0.1288 2.2187-0.3834 2.815-0.3561 0.64707-0.4784 0.95367-1.1854 1.6135-0.8309 0.47338-1.7057 0.67687-2.0515 0.70426-0.3458 0.0273-2.0213 0.49302-3.5596-0.51442-1.0769-1.4542-4.409-6.0198-6.5627-8.9283-0.1948-0.25743-0.616-0.57542-0.045-1.0414 1.9918-1.2426 3.9833-2.4852 5.9749-3.7278 0.057-0.0161 0.1104-0.0268 0.1615-0.0332zm4.9158 11.48a0.81001 0.86256 81.835 0 0 -0.7389 0.92424 0.81001 0.86256 81.835 0 0 0.9689 0.67923 0.81001 0.86256 81.835 0 0 0.7387 -0.92424 0.81001 0.86256 81.835 0 0 -0.9687 -0.67923z" fill="url(#f)" stroke="#000" stroke-width=".20091px"/>
<g fill="none" stroke="#540" stroke-opacity=".18182" stroke-width=".20123">
<path d="m-58.885 158.72 6.3982 8.4694"/>
<path d="m-62.699 161.06 6.4416 8.7713"/>
<path d="m-60.813 159.94 6.4288 8.5557"/>
</g>
<text x="-74.86644" y="177.05612" dominant-baseline="auto" fill="#ffffff" font-family="'Open Sans'" font-size="6.5983px" letter-spacing="0px" stroke-width=".034366" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-74.86644" y="177.05612" fill="#ffffff" stroke-width=".034366">master</tspan></text>
<g fill-opacity=".91732">
<circle cx="5.1449" cy="175.15" r="2.8446"/>
<circle cx="11.712" cy="175.19" r="2.8446" opacity=".742"/>
<circle cx="18.174" cy="175.33" r="2.8446" opacity=".497"/>
<circle cx="-111.77" cy="174.85" r="2.8446" opacity=".522"/>
<circle cx="-105.2" cy="174.88" r="2.8446" opacity=".73"/>
<circle cx="-98.738" cy="175.02" r="2.8446"/>
<circle cx="-92.17" cy="175.16" r="2.8446"/>
<circle cx="-1.422" cy="175.16" r="2.8446"/>
</g>
<text transform="rotate(30.874)" x="34.972202" y="172.26613" dominant-baseline="auto" fill="#ffff00" font-family="'Open Sans Condensed'" font-size="5.3499px" letter-spacing="0px" stroke-width=".027864" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="34.972202" y="172.26613" fill="#ffff00" font-family="'Open Sans Condensed'" stroke-width=".027864">v3.0.0</tspan></text>
<text transform="rotate(-39.355)" x="-123.39997" y="98.293953" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="5.5255px" letter-spacing="0px" stroke-width=".028779" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-123.39997" y="98.293953" fill="#000000" stroke-width=".028779">v3.0-stable</tspan></text>
<g fill="none">
<path d="m-107.13 186.94h118.75" marker-end="url(#b)" stroke="#000" stroke-width=".8444"/>
<path d="m-12.364 175.18c8.1388-4.7778 0.6439-14.481-7.2258-19.849" marker-end="url(#d)" stroke="#37abc8" stroke-width=".8226"/>
<path d="m-22.502 175.27c6.0493-5.3436 1.0792-10.607-3.5694-14.321" marker-end="url(#c)" stroke="#37abc8" stroke-width=".8226"/>
</g>
<g transform="matrix(.050194 0 0 .050194 151.08 182.99)" fill-opacity=".91732">
<circle cx="-3207.7" cy="-780.43" r="82.55"/>
<circle cx="-3208.3" cy="-781.05" r="52.917" fill="#fff"/>
</g>
<g fill="#000080" fill-opacity=".91732">
<circle cx="8.2638" cy="129.27" r="2.4824"/>
<circle cx="12.955" cy="125.83" r="2.4824" opacity=".764"/>
<circle cx="17.553" cy="122.32" r="2.4824" opacity=".508"/>
</g>
<circle cx="-14.407" cy="137.61" r="5.6635" fill="#fff" fill-opacity=".9375"/>
<g transform="matrix(.08226 0 0 .08226 279.87 246.65)">
<circle cx="-3580" cy="-1325.4" r="68.849" fill="#fff" fill-opacity=".9375"/>
<path d="m-3614.7-1441.7c4.3421-0.526 7.081 1.7291 9.2058 4.4092 27.935 35.456 69.837 88.636 83.805 106.36 7.518 11.163-1.5651 26.971-4.661 34.22-4.3288 7.8664-5.8149 11.594-14.409 19.614-10.101 5.7546-20.736 8.2287-24.94 8.5614-4.2039 0.3328-24.572 5.9937-43.273-6.2536-13.092-17.678-53.598-73.18-79.78-108.54-2.3674-3.1292-7.4889-6.9953-0.5444-12.659 24.212-15.106 48.423-30.212 72.634-45.318 0.6899-0.196 1.3417-0.3268 1.9623-0.4019zm59.758 139.56a9.847 10.486 81.835 0 0 -8.9811 11.236 9.847 10.486 81.835 0 0 11.778 8.2569 9.847 10.486 81.835 0 0 8.9802 -11.235 9.847 10.486 81.835 0 0 -11.777 -8.2571z" fill="url(#e)" stroke="#000" stroke-width="2.4424px"/>
<g fill="none" stroke="#540" stroke-opacity=".18182" stroke-width="2.4463">
<path d="m-3622.5-1423.9 77.78 102.96"/>
<path d="m-3668.9-1395.4 78.307 106.63"/>
<path d="m-3646-1409 78.152 104.01"/>
</g>
</g>
<text transform="rotate(30.874)" x="55.154636" y="126.17037" dominant-baseline="auto" fill="#ffff00" font-family="'Open Sans Condensed'" font-size="5.3499px" letter-spacing="0px" stroke-width=".027864" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="55.154636" y="126.17037" fill="#ffff00" font-family="'Open Sans Condensed'" stroke-width=".027864">v3.0.1</tspan></text>
<text x="-75.360199" y="127.00266" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="4.1788px" letter-spacing="0px" stroke-width=".021765" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-75.360199" y="127.00266">Periodically new point releases on</tspan><tspan x="-75.360199" y="132.22618">the -stable branch are tagged out,</tspan><tspan x="-75.360199" y="137.44971">with backports that didn't</tspan><tspan x="-75.360199" y="142.67323">generate any problems on</tspan><tspan x="-75.360199" y="147.89676">-stable.</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

156
doc-assets/lws-relpol-5.svg Normal file
View file

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="243.61mm" height="119.5mm" version="1.1" viewBox="0 0 243.60584 119.50127" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<marker id="c" overflow="visible" orient="auto">
<path transform="matrix(-.2 0 0 -.2 -1.2 0)" d="m0 0 5-5-17.5 5 17.5 5z" fill-rule="evenodd" stroke="#000" stroke-width="1pt"/>
</marker>
<linearGradient id="a" x1="1000.2" x2="993.99" y1="928.57" y2="992.97" gradientTransform="matrix(-2.4177 .34689 .34689 2.4177 -1517.1 -4018.7)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
<linearGradient id="b">
<stop stop-color="#e9ddaf" offset="0"/>
<stop stop-color="#504416" offset="1"/>
</linearGradient>
<marker id="h" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="e" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="g" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="d" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#5fbcd3" fill-rule="evenodd" stroke="#5fbcd3" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="i" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="f" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<marker id="j" overflow="visible" orient="auto">
<path transform="matrix(-.3 0 0 -.3 .69 0)" d="m8.7186 4.0337-10.926-4.0177 10.926-4.0177c-1.7455 2.3721-1.7354 5.6175-6e-7 8.0354z" fill="#37abc8" fill-rule="evenodd" stroke="#37abc8" stroke-linejoin="round" stroke-width=".625"/>
</marker>
<linearGradient id="k" x1="1000.2" x2="993.99" y1="928.57" y2="992.97" gradientTransform="matrix(-.19888 .028535 .028535 .19888 76.322 -70.376)" gradientUnits="userSpaceOnUse" xlink:href="#b"/>
<filter id="m" x="-.060394" y="-.055053" width="1.1208" height="1.1101" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="0.44336333"/>
</filter>
<filter id="l" x="-.040014" y="-.088963" width="1.08" height="1.1779" color-interpolation-filters="sRGB">
<feGaussianBlur stdDeviation="45.715489"/>
</filter>
</defs>
<g transform="translate(170.18 -89.083)">
<rect transform="matrix(.08226 0 0 .08226 224.59 64.781)" x="-4689.4" y="405.15" width="2742" height="1233.3" filter="url(#l)"/>
<rect x="-162.64" y="96.631" width="225.56" height="101.45" fill="#fff"/>
<g fill="#000080">
<path d="m-2.7427 136.03 26.893-21.631 3.0902 3.6748-26.225 21.631z" stroke="#000" stroke-width=".014764px"/>
<g fill-opacity=".91732">
<circle cx="25.541" cy="116.31" r="2.4824"/>
<circle cx="30.232" cy="112.88" r="2.4824" opacity=".764"/>
<circle cx="34.831" cy="109.36" r="2.4824" opacity=".508"/>
</g>
<path d="m-60.266 133.89 26.893-21.631 3.0902 3.6748-26.225 21.631z" stroke="#000" stroke-width=".014764px"/>
</g>
<path d="m-30.959 157.14 39.644-31.888 4.5555 5.4172-38.66 31.888z" fill="#00f" stroke="#000" stroke-width=".021765px"/>
<rect x="-130.22" y="156.7" width="158.14" height="5.7258" fill-opacity=".91732"/>
<path d="m-91.596 157.82 39.644-31.888 4.5555 5.4173-38.66 31.888z" fill="#00f" stroke="#000" stroke-width=".021765px"/>
<g transform="matrix(.08226 0 0 .08226 175.2 223.88)" fill-opacity=".91732">
<circle cx="-3207.7" cy="-780.43" r="82.55"/>
<circle cx="-3208.3" cy="-781.05" r="52.917" fill="#fff"/>
</g>
<circle cx="-93.373" cy="151.18" r="5.6635" fill="#fff" fill-opacity=".9375"/>
<path transform="matrix(-.75166 .10785 .10785 .75166 -2114.2 651.9)" d="m-2725.9-287.4c-0.4737 0.0104-0.7327 0.29435-0.9193 0.61443-2.45 4.2318-6.125 10.579-7.35 12.695-0.6344 1.3127 0.5828 2.8675 1.0263 3.5972 0.5853 0.7769 0.802 1.1542 1.8469 1.882 1.1717 0.46167 2.3507 0.56335 2.8066 0.53435s2.7265 0.26464 4.5434-1.3364c1.1317-2.0971 4.6213-8.6717 6.8848-12.866 0.2058-0.37197 0.6954-0.86583-0.1364-1.3663-2.8286-1.2472-5.6572-2.4941-8.4858-3.7414-0.077-0.0104-0.1488-0.0149-0.2165-0.0134zm-4.2607 15.885a1.1359 1.0667 0 0 1 1.1358 1.0666 1.1359 1.0667 0 0 1 -1.1358 1.0666 1.1359 1.0667 0 0 1 -1.1359 -1.0666 1.1359 1.0667 0 0 1 1.1359 -1.0666z" filter="url(#m)" stroke="#000" stroke-width=".26458px"/>
<path d="m-96.232 141.62c0.3572-0.0433 0.5825 0.14222 0.7573 0.36273 2.298 2.9166 5.7448 7.2912 6.8938 8.7496 0.6184 0.91824-0.1288 2.2186-0.3834 2.8149-0.3561 0.64707-0.4784 0.95368-1.1854 1.6135-0.8309 0.47339-1.7057 0.67693-2.0515 0.70428-0.3458 0.0273-2.0213 0.49301-3.5596-0.51443-1.0769-1.4542-4.409-6.0198-6.5627-8.9283-0.1948-0.25742-0.6161-0.57542-0.045-1.0413 1.9917-1.2426 3.9833-2.4853 5.975-3.7279 0.057-0.0161 0.1103-0.0268 0.1613-0.0332zm4.9157 11.48a0.81001 0.86256 81.835 0 0 -0.7387 0.92419 0.81001 0.86256 81.835 0 0 0.9688 0.67923 0.81001 0.86256 81.835 0 0 0.7388 -0.92419 0.81001 0.86256 81.835 0 0 -0.9689 -0.67923z" fill="url(#k)" stroke="#000" stroke-width=".20091px"/>
<g fill="none" stroke="#540" stroke-opacity=".18182" stroke-width=".20123">
<path d="m-96.875 143.08 6.3983 8.4694"/>
<path d="m-100.69 145.42 6.4416 8.7713"/>
<path d="m-98.803 144.3 6.4288 8.5556"/>
</g>
<text x="-112.85628" y="161.41298" dominant-baseline="auto" fill="#ffffff" font-family="'Open Sans'" font-size="6.5983px" letter-spacing="0px" stroke-width=".034366" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-112.85628" y="161.41298" fill="#ffffff" stroke-width=".034366">master</tspan></text>
<g transform="matrix(.050194 0 0 .050194 110.83 167.89)" fill-opacity=".91732">
<circle cx="-3207.7" cy="-780.43" r="82.55"/>
<circle cx="-3208.3" cy="-781.05" r="52.917" fill="#fff"/>
</g>
<g fill="#000080" fill-opacity=".91732">
<circle cx="-31.982" cy="114.17" r="2.4824"/>
<circle cx="-27.291" cy="110.73" r="2.4824" opacity=".764"/>
<circle cx="-22.692" cy="107.21" r="2.4824" opacity=".508"/>
</g>
<g fill-opacity=".91732">
<circle cx="34.315" cy="159.51" r="2.8446"/>
<circle cx="40.882" cy="159.54" r="2.8446" opacity=".742"/>
<circle cx="47.343" cy="159.68" r="2.8446" opacity=".497"/>
<circle cx="-149.76" cy="159.2" r="2.8446" opacity=".522"/>
<circle cx="-143.19" cy="159.24" r="2.8446" opacity=".73"/>
<circle cx="-136.73" cy="159.38" r="2.8446"/>
<circle cx="-130.16" cy="159.51" r="2.8446"/>
<circle cx="27.748" cy="159.52" r="2.8446"/>
</g>
<g fill="none" stroke-width=".8226">
<g stroke="#37abc8">
<path d="m-77.701 160.21c4.6564-3.733 6.8252-5.6007 0.3483-9.2282" marker-end="url(#j)"/>
<path d="m-66.2 159.88c6.0493-5.3436 1.0792-10.607-3.5694-14.321" marker-end="url(#f)"/>
<path d="m-55.579 159.97c8.1387-4.7778 0.644-14.481-7.2258-19.849" marker-end="url(#i)"/>
</g>
<path d="m-16.933 159.57c13.314-11.163-7.6595-24.173-10.414-24.407-12.367-3.0226-15.261 13.773-28.19-1.2216" marker-end="url(#d)" stroke="#5fbcd3"/>
</g>
<text transform="rotate(.45095)" x="-28.319969" y="133.38049" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="2.9593px" letter-spacing="0px" stroke-width=".015413" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-28.319969" y="133.38049" stroke-width=".015413">backport</tspan></text>
<g transform="matrix(.08226 0 0 .08226 235.71 223.42)" fill-opacity=".91732">
<circle cx="-3207.7" cy="-780.43" r="82.55"/>
<circle cx="-3208.3" cy="-781.05" r="52.917" fill="#fff"/>
</g>
<circle cx="-32.864" cy="150.71" r="5.6635" fill="#fff" fill-opacity=".9375"/>
<g transform="matrix(.050194 0 0 .050194 171.34 167.42)" fill-opacity=".91732">
<circle cx="-3207.7" cy="-780.43" r="82.55"/>
<circle cx="-3208.3" cy="-781.05" r="52.917" fill="#fff"/>
</g>
<g fill="none" stroke="#37abc8" stroke-width=".8226">
<path d="m-17.192 159.74c6.2096-1.0078 14.537-8.1352 8.9217-14.408l-0.7984-0.73691-0.8975-0.61239" marker-end="url(#g)"/>
<path d="m-5.6906 159.41c10.402-2.2095 11.178-15.047 3.3082-20.415" marker-end="url(#e)"/>
<path d="m4.6694 160.02c8.1387-4.7777 7.6957-20.575-0.1741-25.943" marker-end="url(#h)"/>
</g>
<g letter-spacing="0px" text-anchor="middle" word-spacing="0px">
<text transform="rotate(.45095)" x="20.183514" y="148.49408" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="2.9593px" stroke-width=".015413" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="20.183514" y="148.49408" stroke-width=".015413">backport</tspan></text>
<text transform="rotate(30.874)" x="-5.6618776" y="178.33397" dominant-baseline="auto" fill="#ffff00" font-family="'Open Sans Condensed'" font-size="5.3499px" stroke-width=".027864" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-5.6618776" y="178.33397" fill="#ffff00" font-family="'Open Sans Condensed'" stroke-width=".027864">v3.0.0</tspan></text>
<text transform="rotate(.45095)" x="-43.566673" y="155.62878" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="2.9593px" stroke-width=".015413" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-43.566673" y="155.62878" stroke-width=".015413">backport</tspan></text>
</g>
<g transform="matrix(.08226 0 0 .08226 261.22 259.75)">
<circle cx="-3580" cy="-1325.4" r="68.849" fill="#fff" fill-opacity=".9375"/>
<path d="m-3614.7-1441.7c4.3421-0.526 7.081 1.7291 9.2058 4.4092 27.935 35.456 69.837 88.636 83.805 106.36 7.518 11.163-1.5651 26.971-4.661 34.22-4.3288 7.8664-5.8149 11.594-14.409 19.614-10.101 5.7546-20.736 8.2287-24.94 8.5614-4.2039 0.3328-24.572 5.9937-43.273-6.2536-13.092-17.678-53.598-73.18-79.78-108.54-2.3674-3.1292-7.4889-6.9953-0.5444-12.659 24.212-15.106 48.423-30.212 72.634-45.318 0.6899-0.196 1.3417-0.3268 1.9623-0.4019zm59.758 139.56a9.847 10.486 81.835 0 0 -8.9811 11.236 9.847 10.486 81.835 0 0 11.778 8.2569 9.847 10.486 81.835 0 0 8.9802 -11.235 9.847 10.486 81.835 0 0 -11.777 -8.2571z" fill="url(#a)" stroke="#000" stroke-width="2.4424px"/>
<g fill="none" stroke="#540" stroke-opacity=".18182" stroke-width="2.4463">
<path d="m-3622.5-1423.9 77.78 102.96"/>
<path d="m-3668.9-1395.4 78.307 106.63"/>
<path d="m-3646-1409 78.152 104.01"/>
</g>
</g>
<text transform="rotate(30.874)" x="45.627552" y="147.34514" dominant-baseline="auto" fill="#ffff00" font-family="'Open Sans Condensed'" font-size="5.3499px" letter-spacing="0px" stroke-width=".027864" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="45.627552" y="147.34514" fill="#ffff00" font-family="'Open Sans Condensed'" stroke-width=".027864">v3.1.0</tspan></text>
<circle cx="-54.652" cy="122.51" r="5.6635" fill="#fff" fill-opacity=".9375"/>
<g transform="matrix(.08226 0 0 .08226 239.63 231.54)">
<circle cx="-3580" cy="-1325.4" r="68.849" fill="#fff" fill-opacity=".9375"/>
<path d="m-3614.7-1441.7c4.3421-0.526 7.081 1.7291 9.2058 4.4092 27.935 35.456 69.837 88.636 83.805 106.36 7.518 11.163-1.5651 26.971-4.661 34.22-4.3288 7.8664-5.8149 11.594-14.409 19.614-10.101 5.7546-20.736 8.2287-24.94 8.5614-4.2039 0.3328-24.572 5.9937-43.273-6.2536-13.092-17.678-53.598-73.18-79.78-108.54-2.3674-3.1292-7.4889-6.9953-0.5444-12.659 24.212-15.106 48.423-30.212 72.634-45.318 0.6899-0.196 1.3417-0.3268 1.9623-0.4019zm59.758 139.56a9.847 10.486 81.835 0 0 -8.9811 11.236 9.847 10.486 81.835 0 0 11.778 8.2569 9.847 10.486 81.835 0 0 8.9802 -11.235 9.847 10.486 81.835 0 0 -11.777 -8.2571z" fill="url(#a)" stroke="#000" stroke-width="2.4424px"/>
<g fill="none" stroke="#540" stroke-opacity=".18182" stroke-width="2.4463">
<path d="m-3622.5-1423.9 77.78 102.96"/>
<path d="m-3668.9-1395.4 78.307 106.63"/>
<path d="m-3646-1409 78.152 104.01"/>
</g>
</g>
<text transform="rotate(30.874)" x="12.861007" y="133.85826" dominant-baseline="auto" fill="#ffff00" font-family="'Open Sans Condensed'" font-size="5.3499px" letter-spacing="0px" stroke-width=".027864" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="12.861007" y="133.85826" fill="#ffff00" font-family="'Open Sans Condensed'" stroke-width=".027864">v3.0.1</tspan></text>
<circle cx="5.1836" cy="122.51" r="5.6635" fill="#fff" fill-opacity=".9375"/>
<g transform="matrix(.08226 0 0 .08226 300.22 231.72)">
<circle cx="-3580" cy="-1325.4" r="68.849" fill="#fff" fill-opacity=".9375"/>
<path d="m-3614.7-1441.7c4.3421-0.526 7.081 1.7291 9.2058 4.4092 27.935 35.456 69.837 88.636 83.805 106.36 7.518 11.163-1.5651 26.971-4.661 34.22-4.3288 7.8664-5.8149 11.594-14.409 19.614-10.101 5.7546-20.736 8.2287-24.94 8.5614-4.2039 0.3328-24.572 5.9937-43.273-6.2536-13.092-17.678-53.598-73.18-79.78-108.54-2.3674-3.1292-7.4889-6.9953-0.5444-12.659 24.212-15.106 48.423-30.212 72.634-45.318 0.6899-0.196 1.3417-0.3268 1.9623-0.4019zm59.758 139.56a9.847 10.486 81.835 0 0 -8.9811 11.236 9.847 10.486 81.835 0 0 11.778 8.2569 9.847 10.486 81.835 0 0 8.9802 -11.235 9.847 10.486 81.835 0 0 -11.777 -8.2571z" fill="url(#a)" stroke="#000" stroke-width="2.4424px"/>
<g fill="none" stroke="#540" stroke-opacity=".18182" stroke-width="2.4463">
<path d="m-3622.5-1423.9 77.78 102.96"/>
<path d="m-3668.9-1395.4 78.307 106.63"/>
<path d="m-3646-1409 78.152 104.01"/>
</g>
</g>
<text transform="rotate(30.874)" x="64.21843" y="103.15361" dominant-baseline="auto" fill="#ffff00" font-family="'Open Sans Condensed'" font-size="5.3499px" letter-spacing="0px" stroke-width=".027864" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="64.21843" y="103.15361" fill="#ffff00" font-family="'Open Sans Condensed'" stroke-width=".027864">v3.1.1</tspan></text>
<g fill="#000000" font-family="'Open Sans'" letter-spacing="0px" text-anchor="middle" word-spacing="0px">
<text transform="rotate(-39.355)" x="-147.32625" y="62.8997" dominant-baseline="auto" font-size="5.5255px" stroke-width=".028779" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-147.32625" y="62.8997" fill="#000000" stroke-width=".028779">v3.0-stable</tspan></text>
<text transform="rotate(-38.777)" x="-98.208199" y="101.82109" dominant-baseline="auto" font-size="5.865px" stroke-width=".030547" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-98.208199" y="101.82109" fill="#000000" stroke-width=".030547">v3.1-stable</tspan></text>
<text transform="rotate(.45095)" x="-28.459866" y="130.57814" dominant-baseline="auto" font-size="2.9593px" stroke-width=".015413" text-align="center" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-28.459866" y="130.57814" stroke-width=".015413">critical</tspan></text>
</g>
<path d="m-133.22 172.47h161.77" fill="none" marker-end="url(#c)" stroke="#000" stroke-width=".8444"/>
<text x="-57.245564" y="180.3519" dominant-baseline="auto" fill="#000000" font-family="'Open Sans'" font-size="4.1788px" letter-spacing="0px" stroke-width=".021765" text-align="center" text-anchor="middle" word-spacing="0px" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;line-height:1.25;shape-padding:0;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal" xml:space="preserve"><tspan x="-57.245564" y="180.3519">Occasionally fixes are added on master that fix old, maybe</tspan><tspan x="-57.245564" y="185.57542">critical bugs that affect more than one release. These</tspan><tspan x="-57.245564" y="190.79895">may be backported to serveral -stable trees.</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB