terminal/doc/terminal-v2-roadmap.md

12 KiB

Terminal 2.0 Roadmap

NOTE

This document has been superseded by the Terminal 2022 Roadmap. Please refer to that document for the updated roadmap.

Overview

This document outlines the roadmap towards delivering Windows Terminal 2.0.

Milestones

Windows Terminal is engineered and delivered as a set of 6-week milestones. New features will go into Windows Terminal Preview first, then a month after they've been in Preview, those features will move into Windows Terminal.

Duration Activity Releases
4 weeks Dev Work
  • Fixes / Features for future Windows Releases
  • Fixes / Features for Windows Terminal
Release to Internal Selfhosters at end of week 4
1 week Quality & Stability
  • Bug Fixes
  • Perf & Stability
  • UI Polish
  • Tests
  • etc.
Push to Microsoft Store at end of week 5
1 week Release
  • Available from Microsoft Store & GitHub Releases
  • Release Notes & Announcement Blog published
  • Engineering System Maintenance
  • Community Engagement
  • Docs
  • Future Milestone Planning
Release available from Microsoft Store & GitHub Releases

Terminal Roadmap / Timeline

Below is the schedule for when milestones will be included in release builds of Windows Terminal and Windows Terminal Preview. The dates are rough estimates and are subject to change.

Milestone End Date Milestone Name Preview Release Blog Post
2020-06-18 1.1 in Windows Terminal Preview Windows Terminal Preview 1.1 Release
2020-07-31 1.2 in Windows Terminal Preview
1.1 in Windows Terminal
Windows Terminal Preview 1.2 Release
2020-08-31 1.3 in Windows Terminal Preview
1.2 in Windows Terminal
Windows Terminal Preview 1.3 Release
2020-09-30 1.4 in Windows Terminal Preview
1.3 in Windows Terminal
Windows Terminal Preview 1.4 Release
2020-11-30 1.5 in Windows Terminal Preview
1.4 in Windows Terminal
Windows Terminal Preview 1.5 Release
2021-01-31 1.6 in Windows Terminal Preview
1.5 in Windows Terminal
Windows Terminal Preview 1.6 Release
2021-03-01 1.7 in Windows Terminal Preview
1.6 in Windows Terminal
Windows Terminal Preview 1.7 Release
2021-04-14 1.8 in Windows Terminal Preview
1.7 in Windows Terminal
Windows Terminal Preview 1.8 Release
2021-05-31 1.9 in Windows Terminal Preview
1.8 in Windows Terminal
Windows Terminal Preview 1.9 Release
2021-07-14 1.10 in Windows Terminal Preview
1.9 in Windows Terminal
Windows Terminal Preview 1.10 Release
2021-08-31 1.11 in Windows Terminal Preview
1.10 in Windows Terminal
Windows Terminal Preview 1.11 Release
2021-10-20 1.12 in Windows Terminal Preview
1.11 in Windows Terminal
Windows Terminal Preview 1.12 Release

Issue Triage & Prioritization

Incoming issues/asks/etc. are triaged several times a week, labeled appropriately, and assigned to a milestone in priority order:

  • P0 (serious crashes, data loss, etc.) issues are scheduled to be dealt with ASAP
  • P1/2 issues/features/asks assigned to the current or future milestone, or to the Terminal 2.0 milestone for future assignment, if required to deliver a 2.0 feature
  • Issues/features/asks not on our list of 2.0 features are assigned to the Terminal Backlog for subsequent triage, prioritization & scheduling.

2.0 Scenarios

The following are a list of the key scenarios we're aiming to deliver for Terminal 2.0.

👉 Note: There are many other features that don't fit within 2.0, but will be re-assessed and prioritized for 3.0, the plan for which will be published in 2021.

Priority* Scenario Description/Notes State
0 Settings UI A user interface that connects to settings.json. This provides a way for people to edit their settings without having to edit a JSON file.

Issue: #1564
Specs: #6720, #6904
Implementation: #7283, #7370, #8048
✔️
0 Command palette A popup menu to list possible actions and commands.

Issues: #5400, #2046
Spec: #2193
Implementation: #6635
✔️
1 Tab tear-off The ability to tear a tab out of the current window and spawn a new window or attach it to a separate window.

Issue: #1256, #5000
Spec: #2080, #7240
📝
1 Clickable links Hyperlinking any links that appear in the text buffer. When clicking on the link, the link will open in your default browser.

Issue: #574
Implementation: #7251
✔️
1 Default terminal If a command-line application is spawned, it should open in Windows Terminal (if installed) or your preferred terminal

Issue: #492
Spec: #2080, #7414
✔️
1 Overall theme support Tab coloring, title bar coloring, pane border coloring, pane border width, definition of what makes a theme

Issue: #3327
Spec: #5772
🦶
1 Open profile elevated Configure profiles to always open elevated (if Terminal was run unelevated)

Issue: #5000, #632
Spec: #8455
📝
1 Open tab in existing window Open new tabs in existing Terminal windows

Issue: #5000, #4472
Spec: #8135
✔️
1 Traditional opacity Have a transparent background without the acrylic blur.

Issue: #603
✔️
2 SnapOnOutput, scroll lock Pause output or scrolling on click.

Issue: #980
Spec: #2529
Implementation: #6062
✔️
2 Infinite scrollback Have an infinite history for the text buffer.

Issue: #1410
🦶
2 Pane management All issues listed out in the original issue. Some features include pane resizing with mouse, pane zooming, and opening a pane by prompting which profile to use.

Issue: #1000
📝
2 Theme marketplace Marketplace for creation and distribution of themes.
Dependent on overall theming
🦶
2 Jump list Show profiles from task bar (on right click)/start menu.

Issue: #576
Implementation: #7515
✔️
2 Open with multiple tabs A setting that allows Windows Terminal to launch with a specific tab configuration (not using only command line arguments).

Issue: #756
✔️
3 Open in Windows Terminal Functionality to right click on a file or folder and select Open in Windows Terminal.

Issue: #1060
Implementation: #6100
✔️
3 Session restoration Launch Windows Terminal and the previous session is restored with the proper tab and pane configuration and starting directories.

Issues: #961, #960, #766
✔️
3 Quake mode Provide a quick launch terminal that appears and disappears when a hotkey is pressed.

Issue: #653
✔️
3 Settings migration infrastructure Migrate people's settings without breaking them. Hand-in-hand with settings UI. 🦶
3 Pointer bindings Provide settings that can be bound to the mouse.

Issue: #1553
🦶
  • 📝: The feature is currently in progress
  • ✔️: The feature is complete and shipped in a Preview build
  • 🦶: The feature is at risk of being punted to a future release cycle (beyond 2.0)

Feature Notes:

* Feature Priorities:

  1. Mandatory
  2. Optimal
  3. Optional / Stretch-goal