chartlet 0.12.2

Compile structured data into deterministic, accessible static charts
Documentation
1
<div class="chartlet-wrapper chartlet-responsive chartlet-bp-640"><style>.chartlet-wrapper.chartlet-responsive{display:block;width:100%;container-type:inline-size}.chartlet-variant-mobile{display:none}@container (max-width:639px){.chartlet-bp-640 .chartlet-variant-desktop{display:none}.chartlet-bp-640 .chartlet-variant-mobile{display:block}}</style><figure class="chartlet-figure" data-viz="chart"><figcaption>Product roadmap 2027</figcaption><div class="chartlet-variant-desktop"><svg xmlns="http://www.w3.org/2000/svg" width="900" height="480" viewBox="0 0 900 480" id="chartlet-a7526300e6dbcf22" role="img" aria-labelledby="chartlet-a7526300e6dbcf22-title chartlet-a7526300e6dbcf22-description" class="chartlet-root"><title id="chartlet-a7526300e6dbcf22-title">Product roadmap 2027</title><desc id="chartlet-a7526300e6dbcf22-description">Timeline with 5 phases and 2 milestones from 2027-01-11 to 2027-09-20. User research: 2027-01-11 – 2027-02-19. Design: 2027-02-22 – 2027-04-02, after User research. Alpha build: 2027-04-05 – 2027-06-11, after Design. Security review: 2027-06-14 – 2027-07-09, after Alpha build. Beta: 2027-07-12 – 2027-09-03, after Security review. Feature freeze: 2027-07-30, after Security review. General availability: 2027-09-20, after Beta and Feature freeze. Marked days: Today (2027-03-08).</desc><style>.chartlet-root{--chartlet-text:#172033;--chartlet-muted:#344054;--chartlet-grid:#d9dee8;--chartlet-zero:#667085;--chartlet-accent:#2563eb;--chartlet-background:#fff;--chartlet-color-1:#2563eb;--chartlet-color-2:#c2410c;--chartlet-color-3:#475569;--chartlet-color-4:#111827;max-width:100%;height:auto;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--chartlet-text)}#chartlet-a7526300e6dbcf22 .chartlet-title{font-size:22px;font-weight:650;fill:var(--chartlet-text)}#chartlet-a7526300e6dbcf22 .chartlet-label,#chartlet-a7526300e6dbcf22 .chartlet-tick,#chartlet-a7526300e6dbcf22 .chartlet-value,#chartlet-a7526300e6dbcf22 .chartlet-value-inverse,#chartlet-a7526300e6dbcf22 .chartlet-axis-title{font-size:12px;fill:var(--chartlet-muted)}#chartlet-a7526300e6dbcf22 .chartlet-value,#chartlet-a7526300e6dbcf22 .chartlet-value-inverse{font-weight:600}#chartlet-a7526300e6dbcf22 .chartlet-value{fill:var(--chartlet-text)}#chartlet-a7526300e6dbcf22 .chartlet-value-inverse{fill:var(--chartlet-background)}#chartlet-a7526300e6dbcf22 .chartlet-axis-title{font-weight:600}#chartlet-a7526300e6dbcf22 .chartlet-grid{stroke:var(--chartlet-grid);stroke-width:1}#chartlet-a7526300e6dbcf22 .chartlet-zero{stroke:var(--chartlet-zero);stroke-width:1.5}#chartlet-a7526300e6dbcf22 .chartlet-bar,#chartlet-a7526300e6dbcf22 .chartlet-point{fill:var(--chartlet-accent)}#chartlet-a7526300e6dbcf22 .chartlet-line{fill:none;stroke:var(--chartlet-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}#chartlet-a7526300e6dbcf22 .chartlet-background{fill:var(--chartlet-background)}#chartlet-a7526300e6dbcf22 .chartlet-timeline-phase{fill:var(--chartlet-accent);stroke:none;rx:3px}#chartlet-a7526300e6dbcf22 .chartlet-timeline-milestone{fill:var(--chartlet-accent);stroke:var(--chartlet-background);stroke-width:1.5}#chartlet-a7526300e6dbcf22 .chartlet-timeline-group-1{fill:var(--chartlet-color-1)}#chartlet-a7526300e6dbcf22 .chartlet-timeline-group-2{fill:var(--chartlet-color-2)}#chartlet-a7526300e6dbcf22 .chartlet-timeline-group-3{fill:var(--chartlet-color-3)}#chartlet-a7526300e6dbcf22 .chartlet-timeline-group-4{fill:var(--chartlet-color-4)}#chartlet-a7526300e6dbcf22 .chartlet-timeline-marker{stroke:var(--chartlet-text);stroke-width:1.5;stroke-dasharray:5 4}#chartlet-a7526300e6dbcf22 .chartlet-timeline-marker-label{font-size:12px;font-weight:600;fill:var(--chartlet-text)}#chartlet-a7526300e6dbcf22 .chartlet-timeline-link{fill:none;stroke:var(--chartlet-zero);stroke-width:1.4;stroke-linejoin:round}#chartlet-a7526300e6dbcf22 .chartlet-timeline-head{fill:var(--chartlet-zero);stroke:var(--chartlet-zero);stroke-width:1;stroke-linejoin:round}#chartlet-a7526300e6dbcf22 .chartlet-legend{font-size:12px;fill:var(--chartlet-muted)}</style><rect x="24" y="2" width="10" height="10" class="chartlet-timeline-phase chartlet-timeline-group-1"/><text x="40" y="11" text-anchor="start" class="chartlet-legend">Discovery</text><rect x="114.68" y="2" width="10" height="10" class="chartlet-timeline-phase chartlet-timeline-group-2"/><text x="130.68" y="11" text-anchor="start" class="chartlet-legend">Build</text><rect x="175.36" y="2" width="10" height="10" class="chartlet-timeline-phase chartlet-timeline-group-3"/><text x="191.36" y="11" text-anchor="start" class="chartlet-legend">Launch</text><line x1="213.071" y1="58" x2="213.071" y2="268" class="chartlet-grid"/><text x="213.071" y="290" text-anchor="middle" class="chartlet-tick">2027-02</text><line x1="271.212" y1="58" x2="271.212" y2="268" class="chartlet-grid"/><text x="271.212" y="290" text-anchor="middle" class="chartlet-tick">2027-03</text><line x1="335.583" y1="58" x2="335.583" y2="268" class="chartlet-grid"/><text x="335.583" y="290" text-anchor="middle" class="chartlet-tick">2027-04</text><line x1="397.877" y1="58" x2="397.877" y2="268" class="chartlet-grid"/><text x="397.877" y="290" text-anchor="middle" class="chartlet-tick">2027-05</text><line x1="462.247" y1="58" x2="462.247" y2="268" class="chartlet-grid"/><text x="462.247" y="290" text-anchor="middle" class="chartlet-tick">2027-06</text><line x1="524.541" y1="58" x2="524.541" y2="268" class="chartlet-grid"/><text x="524.541" y="290" text-anchor="middle" class="chartlet-tick">2027-07</text><line x1="588.911" y1="58" x2="588.911" y2="268" class="chartlet-grid"/><text x="588.911" y="290" text-anchor="middle" class="chartlet-tick">2027-08</text><line x1="653.282" y1="58" x2="653.282" y2="268" class="chartlet-grid"/><text x="653.282" y="290" text-anchor="middle" class="chartlet-tick">2027-09</text><line x1="285.747" y1="52" x2="285.747" y2="268" class="chartlet-timeline-marker"/><text x="285.747" y="48" text-anchor="middle" class="chartlet-timeline-marker-label">Today</text><polyline points="250.448,73 254.448,73 256.198,73.25 257.448,74 258.198,75.25 258.448,77 258.448,83.115 258.142,85.252 257.226,86.779 255.7,87.695 253.562,88 253.562,88 251.425,88.305 249.898,89.221 248.982,90.748 248.677,92.885 248.677,103 248.677,103" class="chartlet-timeline-link"/><polyline points="248.677,106.5 256.677,103 248.677,99.5 248.677,106.5" class="chartlet-timeline-head"/><polyline points="337.659,103 341.659,103 343.409,103.25 344.659,104 345.409,105.25 345.659,107 345.659,113.115 345.354,115.252 344.438,116.779 342.911,117.695 340.774,118 340.774,118 338.636,118.305 337.11,119.221 336.194,120.748 335.888,122.885 335.888,133 335.888,133" class="chartlet-timeline-link"/><polyline points="335.888,136.5 343.888,133 335.888,129.5 335.888,136.5" class="chartlet-timeline-head"/><polyline points="483.012,133 487.012,133 488.762,133.25 490.012,134 490.762,135.25 491.012,137 491.012,143.115 490.706,145.252 489.79,146.779 488.264,147.695 486.126,148 486.126,148 483.989,148.305 482.462,149.221 481.546,150.748 481.241,152.885 481.241,163 481.241,163" class="chartlet-timeline-link"/><polyline points="481.241,166.5 489.241,163 481.241,159.5 481.241,166.5" class="chartlet-timeline-head"/><polyline points="541.153,163 545.153,163 546.903,163.25 548.153,164 548.903,165.25 549.153,167 549.153,173.115 548.847,175.252 547.931,176.779 546.405,177.695 544.267,178 544.267,178 542.13,178.305 540.603,179.221 539.687,180.748 539.382,182.885 539.382,193 539.382,193" class="chartlet-timeline-link"/><polyline points="539.382,196.5 547.382,193 539.382,189.5 539.382,196.5" class="chartlet-timeline-head"/><polyline points="541.153,163 545.153,163 546.903,163.25 548.153,164 548.903,165.25 549.153,167 549.153,217 549.528,219.625 550.653,221.5 552.528,222.625 555.153,223 568.758,223" class="chartlet-timeline-link"/><polyline points="568.758,226.5 576.758,223 568.758,219.5 568.758,226.5" class="chartlet-timeline-head"/><polyline points="657.435,193 661.435,193 663.185,193.25 664.435,194 665.185,195.25 665.435,197 665.435,247.35 665.788,249.822 666.847,251.588 668.613,252.647 671.085,253 676.735,253" class="chartlet-timeline-link"/><polyline points="676.735,256.5 684.735,253 676.735,249.5 676.735,256.5" class="chartlet-timeline-head"/><polyline points="592.758,223 596.758,223 598.508,223.25 599.758,224 600.508,225.25 600.758,227 600.758,247 601.133,249.625 602.258,251.5 604.133,252.625 606.758,253 676.735,253" class="chartlet-timeline-link"/><polyline points="676.735,256.5 684.735,253 676.735,249.5 676.735,256.5" class="chartlet-timeline-head"/><rect x="169.465" y="66" width="80.982" height="14" class="chartlet-timeline-phase chartlet-timeline-group-1"><title>User research: 2027-01-11 – 2027-02-19</title></rect><text x="266.448" y="77" text-anchor="start" class="chartlet-value">2027-01-11 – 2027-02-19</text><text x="147" y="77.5" text-anchor="end" class="chartlet-label">User research</text><rect x="256.677" y="96" width="80.982" height="14" class="chartlet-timeline-phase chartlet-timeline-group-1"><title>Design: 2027-02-22 – 2027-04-02</title></rect><text x="353.659" y="107" text-anchor="start" class="chartlet-value">2027-02-22 – 2027-04-02</text><text x="147" y="107.5" text-anchor="end" class="chartlet-label">Design</text><rect x="343.888" y="126" width="139.123" height="14" class="chartlet-timeline-phase chartlet-timeline-group-2"><title>Alpha build: 2027-04-05 – 2027-06-11</title></rect><text x="499.012" y="137" text-anchor="start" class="chartlet-value">2027-04-05 – 2027-06-11</text><text x="147" y="137.5" text-anchor="end" class="chartlet-label">Alpha build</text><rect x="489.241" y="156" width="51.912" height="14" class="chartlet-timeline-phase chartlet-timeline-group-2"><title>Security review: 2027-06-14 – 2027-07-09</title></rect><text x="557.153" y="167" text-anchor="start" class="chartlet-value">2027-06-14 – 2027-07-09</text><text x="147" y="167.5" text-anchor="end" class="chartlet-label">Security review</text><rect x="547.382" y="186" width="110.053" height="14" class="chartlet-timeline-phase chartlet-timeline-group-3"><title>Beta: 2027-07-12 – 2027-09-03</title></rect><text x="673.435" y="197" text-anchor="start" class="chartlet-value">2027-07-12 – 2027-09-03</text><text x="147" y="197.5" text-anchor="end" class="chartlet-label">Beta</text><polyline points="576.758,223 584.758,215 592.758,223 584.758,231" class="chartlet-timeline-milestone chartlet-timeline-group-3"><title>Feature freeze: 2027-07-30</title></polyline><text x="608.758" y="227" text-anchor="start" class="chartlet-value">2027-07-30</text><text x="147" y="227.5" text-anchor="end" class="chartlet-label">Feature freeze</text><polyline points="684.735,253 692.735,245 700.735,253 692.735,261" class="chartlet-timeline-milestone chartlet-timeline-group-3"><title>General availability: 2027-09-20</title></polyline><text x="708.735" y="257" text-anchor="start" class="chartlet-value">2027-09-20</text><text x="147" y="257.5" text-anchor="end" class="chartlet-label">General availability</text></svg></div><div class="chartlet-variant-mobile"><svg xmlns="http://www.w3.org/2000/svg" width="400" height="480" viewBox="0 0 400 480" id="chartlet-a7526300e6dbcf22-m" role="img" aria-labelledby="chartlet-a7526300e6dbcf22-m-title chartlet-a7526300e6dbcf22-m-description" class="chartlet-root"><title id="chartlet-a7526300e6dbcf22-m-title">Product roadmap 2027</title><desc id="chartlet-a7526300e6dbcf22-m-description">Timeline with 5 phases and 2 milestones from 2027-01-11 to 2027-09-20. User research: 2027-01-11 – 2027-02-19. Design: 2027-02-22 – 2027-04-02, after User research. Alpha build: 2027-04-05 – 2027-06-11, after Design. Security review: 2027-06-14 – 2027-07-09, after Alpha build. Beta: 2027-07-12 – 2027-09-03, after Security review. Feature freeze: 2027-07-30, after Security review. General availability: 2027-09-20, after Beta and Feature freeze. Marked days: Today (2027-03-08).</desc><style>.chartlet-root{--chartlet-text:#172033;--chartlet-muted:#344054;--chartlet-grid:#d9dee8;--chartlet-zero:#667085;--chartlet-accent:#2563eb;--chartlet-background:#fff;--chartlet-color-1:#2563eb;--chartlet-color-2:#c2410c;--chartlet-color-3:#475569;--chartlet-color-4:#111827;max-width:100%;height:auto;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--chartlet-text)}#chartlet-a7526300e6dbcf22-m .chartlet-title{font-size:22px;font-weight:650;fill:var(--chartlet-text)}#chartlet-a7526300e6dbcf22-m .chartlet-label,#chartlet-a7526300e6dbcf22-m .chartlet-tick,#chartlet-a7526300e6dbcf22-m .chartlet-value,#chartlet-a7526300e6dbcf22-m .chartlet-value-inverse,#chartlet-a7526300e6dbcf22-m .chartlet-axis-title{font-size:12px;fill:var(--chartlet-muted)}#chartlet-a7526300e6dbcf22-m .chartlet-value,#chartlet-a7526300e6dbcf22-m .chartlet-value-inverse{font-weight:600}#chartlet-a7526300e6dbcf22-m .chartlet-value{fill:var(--chartlet-text)}#chartlet-a7526300e6dbcf22-m .chartlet-value-inverse{fill:var(--chartlet-background)}#chartlet-a7526300e6dbcf22-m .chartlet-axis-title{font-weight:600}#chartlet-a7526300e6dbcf22-m .chartlet-grid{stroke:var(--chartlet-grid);stroke-width:1}#chartlet-a7526300e6dbcf22-m .chartlet-zero{stroke:var(--chartlet-zero);stroke-width:1.5}#chartlet-a7526300e6dbcf22-m .chartlet-bar,#chartlet-a7526300e6dbcf22-m .chartlet-point{fill:var(--chartlet-accent)}#chartlet-a7526300e6dbcf22-m .chartlet-line{fill:none;stroke:var(--chartlet-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}#chartlet-a7526300e6dbcf22-m .chartlet-background{fill:var(--chartlet-background)}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-phase{fill:var(--chartlet-accent);stroke:none;rx:3px}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-milestone{fill:var(--chartlet-accent);stroke:var(--chartlet-background);stroke-width:1.5}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-group-1{fill:var(--chartlet-color-1)}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-group-2{fill:var(--chartlet-color-2)}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-group-3{fill:var(--chartlet-color-3)}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-group-4{fill:var(--chartlet-color-4)}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-marker{stroke:var(--chartlet-text);stroke-width:1.5;stroke-dasharray:5 4}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-marker-label{font-size:12px;font-weight:600;fill:var(--chartlet-text)}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-link{fill:none;stroke:var(--chartlet-zero);stroke-width:1.4;stroke-linejoin:round}#chartlet-a7526300e6dbcf22-m .chartlet-timeline-head{fill:var(--chartlet-zero);stroke:var(--chartlet-zero);stroke-width:1;stroke-linejoin:round}#chartlet-a7526300e6dbcf22-m .chartlet-legend{font-size:12px;fill:var(--chartlet-muted)}#chartlet-a7526300e6dbcf22-m .chartlet-title-small{font-size:18px}</style><rect x="12" y="2" width="10" height="10" class="chartlet-timeline-phase chartlet-timeline-group-1"/><text x="28" y="11" text-anchor="start" class="chartlet-legend">Discovery</text><rect x="102.68" y="2" width="10" height="10" class="chartlet-timeline-phase chartlet-timeline-group-2"/><text x="118.68" y="11" text-anchor="start" class="chartlet-legend">Build</text><rect x="163.36" y="2" width="10" height="10" class="chartlet-timeline-phase chartlet-timeline-group-3"/><text x="179.36" y="11" text-anchor="start" class="chartlet-legend">Launch</text><line x1="222.604" y1="58" x2="222.604" y2="268" class="chartlet-grid"/><text x="222.604" y="290" text-anchor="middle" class="chartlet-tick">2027-04</text><line x1="303.507" y1="58" x2="303.507" y2="268" class="chartlet-grid"/><text x="303.507" y="290" text-anchor="middle" class="chartlet-tick">2027-07</text><line x1="201.267" y1="52" x2="201.267" y2="268" class="chartlet-timeline-marker"/><text x="201.267" y="48" text-anchor="middle" class="chartlet-timeline-marker-label">Today</text><polyline points="186.153,73 190.153,73 191.903,73.25 193.153,74 193.903,75.25 194.153,77 194.153,82 193.778,84.625 192.653,86.5 190.778,87.625 188.153,88 186.821,88 184.196,88.375 182.321,89.5 181.196,91.375 180.821,94 180.821,103 180.821,103" class="chartlet-timeline-link"/><polyline points="180.821,106.5 188.821,103 180.821,99.5 180.821,106.5" class="chartlet-timeline-head"/><polyline points="223.493,103 227.493,103 229.243,103.25 230.493,104 231.243,105.25 231.493,107 231.493,112 231.118,114.625 229.993,116.5 228.118,117.625 225.493,118 224.16,118 221.535,118.375 219.66,119.5 218.535,121.375 218.16,124 218.16,133 218.16,133" class="chartlet-timeline-link"/><polyline points="218.16,136.5 226.16,133 218.16,129.5 218.16,136.5" class="chartlet-timeline-head"/><polyline points="285.726,133 289.726,133 291.476,133.25 292.726,134 293.476,135.25 293.726,137 293.726,142 293.351,144.625 292.226,146.5 290.351,147.625 287.726,148 286.393,148 283.768,148.375 281.893,149.5 280.768,151.375 280.393,154 280.393,163 280.393,163" class="chartlet-timeline-link"/><polyline points="280.393,166.5 288.393,163 280.393,159.5 280.393,166.5" class="chartlet-timeline-head"/><polyline points="310.619,163 314.619,163 316.369,163.25 317.619,164 318.369,165.25 318.619,167 318.619,172 318.244,174.625 317.119,176.5 315.244,177.625 312.619,178 311.286,178 308.661,178.375 306.786,179.5 305.661,181.375 305.286,184 305.286,193 305.286,193" class="chartlet-timeline-link"/><polyline points="305.286,196.5 313.286,193 305.286,189.5 305.286,196.5" class="chartlet-timeline-head"/><polyline points="310.619,163 314.619,163 316.369,163.25 317.619,164 318.369,165.25 318.619,167 318.619,190.335 318.453,191.501 317.953,192.334 317.12,192.833 315.954,193 315.954,193 314.788,193.167 313.955,193.666 313.456,194.499 313.289,195.665 313.289,223 313.289,223" class="chartlet-timeline-link"/><polyline points="313.289,226.5 321.289,223 313.289,219.5 313.289,226.5" class="chartlet-timeline-head"/><polyline points="360.406,193 364.406,193 366.156,193.25 367.406,194 368.156,195.25 368.406,197 368.406,218.557 368.128,220.501 367.295,221.889 365.906,222.722 363.962,223 363.962,223 362.019,223.278 360.63,224.111 359.797,225.499 359.519,227.443 359.519,253 359.519,253" class="chartlet-timeline-link"/><polyline points="359.519,256.5 367.519,253 359.519,249.5 359.519,256.5" class="chartlet-timeline-head"/><polyline points="337.289,223 341.289,223 343.039,223.25 344.289,224 345.039,225.25 345.289,227 345.289,247 345.664,249.625 346.789,251.5 348.664,252.625 351.289,253 359.519,253" class="chartlet-timeline-link"/><polyline points="359.519,256.5 367.519,253 359.519,249.5 359.519,256.5" class="chartlet-timeline-head"/><rect x="151.481" y="66" width="34.673" height="14" class="chartlet-timeline-phase chartlet-timeline-group-1"><title>User research: 2027-01-11 – 2027-02-19</title></rect><text x="135" y="77.5" text-anchor="end" class="chartlet-label">User research</text><rect x="188.821" y="96" width="34.673" height="14" class="chartlet-timeline-phase chartlet-timeline-group-1"><title>Design: 2027-02-22 – 2027-04-02</title></rect><text x="135" y="107.5" text-anchor="end" class="chartlet-label">Design</text><rect x="226.16" y="126" width="59.566" height="14" class="chartlet-timeline-phase chartlet-timeline-group-2"><title>Alpha build: 2027-04-05 – 2027-06-11</title></rect><text x="135" y="137.5" text-anchor="end" class="chartlet-label">Alpha build</text><rect x="288.393" y="156" width="22.226" height="14" class="chartlet-timeline-phase chartlet-timeline-group-2"><title>Security review: 2027-06-14 – 2027-07-09</title></rect><text x="135" y="167.5" text-anchor="end" class="chartlet-label">Security review</text><rect x="313.286" y="186" width="47.119" height="14" class="chartlet-timeline-phase chartlet-timeline-group-3"><title>Beta: 2027-07-12 – 2027-09-03</title></rect><text x="135" y="197.5" text-anchor="end" class="chartlet-label">Beta</text><polyline points="321.289,223 329.289,215 337.289,223 329.289,231" class="chartlet-timeline-milestone chartlet-timeline-group-3"><title>Feature freeze: 2027-07-30</title></polyline><text x="135" y="227.5" text-anchor="end" class="chartlet-label">Feature freeze</text><polyline points="367.519,253 375.519,245 383.519,253 375.519,261" class="chartlet-timeline-milestone chartlet-timeline-group-3"><title>General availability: 2027-09-20</title></polyline><text x="135" y="257.5" text-anchor="end" class="chartlet-label">General availability</text></svg></div><p class="chartlet-source">Source: Illustrative plan</p><details class="chartlet-data" data-viz-text><summary>Show chart data</summary><table><caption>Data for Product roadmap 2027</caption><thead><tr><th scope="col">Item</th><th scope="col">Kind</th><th scope="col">Start</th><th scope="col">End</th><th scope="col">Group</th><th scope="col">After</th></tr></thead><tbody><tr><th scope="row">User research</th><td>Phase</td><td>2027-01-11</td><td>2027-02-19</td><td>Discovery</td><td></td></tr><tr><th scope="row">Design</th><td>Phase</td><td>2027-02-22</td><td>2027-04-02</td><td>Discovery</td><td>User research</td></tr><tr><th scope="row">Alpha build</th><td>Phase</td><td>2027-04-05</td><td>2027-06-11</td><td>Build</td><td>Design</td></tr><tr><th scope="row">Security review</th><td>Phase</td><td>2027-06-14</td><td>2027-07-09</td><td>Build</td><td>Alpha build</td></tr><tr><th scope="row">Beta</th><td>Phase</td><td>2027-07-12</td><td>2027-09-03</td><td>Launch</td><td>Security review</td></tr><tr><th scope="row">Feature freeze</th><td>Milestone</td><td>2027-07-30</td><td></td><td>Launch</td><td>Security review</td></tr><tr><th scope="row">General availability</th><td>Milestone</td><td>2027-09-20</td><td></td><td>Launch</td><td>Beta, Feature freeze</td></tr></tbody></table></details></figure></div>