November/December Iteration Plan
kieferrm opened this issue ยท 4 comments
This plan captures what we work on during November and early December. This iteration will be 6 weeks long. This is unusually long for us. We are an internationally distributed team and everybody in the team wants to enjoy the forthcoming holiday season while we still continue working as a closely knit team. Thus, it's 6 weeks this time. We will ship mid December.
Not unusual and still noteworthy: We will do several explorations that might or might not result in concrete deliverables in this or later releases.
Endgame Schedule
- December, 5th Code freeze for the endgame
- December, 9th Endgame done
Monday - 5th December
- Code freeze at 5pm PT
- Ensure we have a green build on all platforms
- All test items contain sufficiently comprehensive test descriptions by 6pm PT
Tuesday - 6th December
- Test build starts at 7am CET / 10pm PT on Monday
- Test plan ready by 8am CET / 11pm PT on Monday
- Testing
Wednesday - 7th December
- Testing
- Remind team members to assign issues that they intend to fix to the November milestone
- Fixing (self-assigned, milestone assigned)
- Verification Since there are quite some old bugs to verify we verify by age, youngest first. The queries are:
- Verification needed
- November Bugs
About 80 issues were verified on 12/7
Thursday - 8th December
- Remind team members to start add Release Notes
- Fixing (scrutiny sets in - major bugs only - to be discussed in stand-up meeting, labeled as
candidate
) - Verification
- Add/update shrink-wrap files for built-in extensions if needed (see instructions) @ramya-rao-a
- Update
OSSREADME.json
for built-in extensions based on differences to generatednpm-shrinkwrap.json
files if needed @ramya-rao-a - Run OSS tool after merging shrink-wrap findings @ramya-rao-a
- The LCA review of the ThirdPartyNotices.txt files is not needed anymore
- Check new OSS usage is entered into the OSS registry @ramya-rao-a
Friday - 9th December
- Pause scheduled
insider
builds @zurich - Satellite modules/npm packages ready, version updated, smoke tested
- vscode @bpasero
- yo generator @aeschli
- vsce @joaomoreno
- node debug @weinand
- Translation input - @dbaeumer
- Fixing (only critical bugs - no string changes)
- Smoketest
- All release notes updated. Release notes are collected in a file named
Major_Minor.md
in this repo directory - Acknowledge pull requests in release notes. We acknowledge PRs from outside the team. Use the thankyou utility to generate the initial contents of the section.
- Mention notable fixes in the release notes @ALL
- When done fixing/verifying and there are changes since last build at the end of day PT
- Trigger new insider build and publish it manually @ramya-rao-a
Friday- 9th December
Monday - 12th December
- Publish
Insider
with hand-picked and reviewed candidate fixes @ramya-rao-a - Smoketest
- Windows - @roblourens
- OS X - @mbjvz
- Linux - @rebornix
- Polish release notes @gregvanl
- All issues verified
Tuesday - 13th December
- Merge translations @dbaeumer
- Build stable for all platforms @ramya-rao-a
- Sanity check of installable bits
- Windows
- signed installer @mousetraps
- zip @mousetraps
- OS X - @ramya-rao-a
- Linux
- Windows
Wednesday - 14th December
- Publish website @gregvanl
- Publish to stable @kieferrm
- Add a git tag to
HEAD
ofrelease/<x.y>
in formatx.y.z
@ramya-rao-a - Enable scheduled
insider
builds @kieferrm - Twitter announcement @seanmcbreen
Plan Items
Our team uses a GitHub Project to track its work. GitHub does not support public Projects right now. Below is a summary of the top level plan items.
Legend for annotations:
Mark | Description |
---|---|
๐ | work in progress |
โ | blocked task |
๐ช | stretch goal for this iteration |
๐ต | more details required |
๐ด | missing issue reference |
Themes
- performance
- discoverability
- UI scalability
- API improvements
- accessibility testing
Feedback
Issues to address community feedback:
- Workbench - Finish 'Hot Exit' #101 @Tyriar @bpasero
- Workbench - Polish and evolve API and implementation of contributable explorers #14048 @jrieken @octref @owner
- Workbench - Address UI scalability in the face of contributable explorers #15155 @stevencl @bgashler1 @bpasero
- Workbench - Improve discoverability of available functionality
- Editor - Improve accessibility of diff editor (do not only use color) #15371 @rebornix @alexandrudima
- Editor - Sublime compatibility (see #3776)
- Git - Add 'Clone from GitHub' to the command palette @joaomoreno
- Debug - Improve UX for multi-target debugging #14450 @isidorn
- Debug - Support more flexible handling of exceptions microsoft/vscode-debugadapter-node#64 @weinand
- Debug - Allow debug adapters to customize the behavior of the 'restart' button #14189 @weinand @isidorn
- Debug - Add reverse continue for TimeTravel Debugging #13705 @weinand @isidorn
- Debug - Support objects in debug console output #15796 @weinand @isidorn
- Debug - Improve 'smart step' to support black-listing of modules/libraries #3215 @roblourens @weinand
- Debug - Allow to use external files to specify the environment of a launch config #14523 @weinand
- Debug - Productize composite launch configs #14842 @weinand @isidorn
- Documentation - Describe our UX process for the team and the community @chrisdias
- ๐ช Workbench - Use custom title on macOS #15098 @bpasero
API Improvements for Extensions
- API - Configuration service provides access to configuration scopes #10583 @jrieken
- API - Add support for dynamic changes of capabilities to the language server protocol LSP#125 @dbaeumer
- API - Allow language servers to provide command implementations LSP#126 @dbaeumer
- ๐ช API - Explore exposing the language server protocol as JSON schema rather than a
d.ts
file LSP#25 @dbaeumer - API - Allow code completion providers to return dynamically computed snippets using a subset of the TextMate snippet syntax #3210 @jrieken
- API - Support variables in snippets #4956 @jrieken
- API - Explore the use of status codes in rejected promises to communicate information back to the client #15454 @jrieken
- Code completion providers
- Find all references
- Go to definition
- API - Use non-nullable types in
vscode.d.ts
#6907 @jrieken - ๐ช API - Use
readonly
modifier invscode.d.ts
#12732 @jrieken - ๐ช Debug - Support snippets in 'launch.json' #13886 #15974 @isidorn @weinand
Language support
- JavaScript
- Clarify need of
jsconfig.json
for projects without commonjs modules TS#11554 @dbaeumer - Remove
jsconfig.json
light bulb #15205 @mjbvz - Improve large project warning - dependency on TS server sending a notification #15208 @mjbvz
- ๐ช UX improvements for automated typings acquistion (adopt new status code API) #15209 @mjbvz @dbaeumer
- Explore the need for pre-seeding typings files #15536 @dbaeumer
- Clarify need of
- TypeScript
Debt Items
Issues to reduce our engineering debt:
- Let
vscode-textmate
compute simplified tokens. This will improve rendering performance as well as fix issues we see with several textmate themes. #15379 @alexandrudima - Review themes in response to
vscode-textmate
changes #15376 @aeschli - ๐ช Change emmet ownership @ramya-rao-a
- Use #11679 as warm-up @ramya-rao-a
- ๐ช Improve Integrated Terminal on Windows by moving up to a newer version of winpty (part of ##13625) @Tyriar
- ๐ช Use @types in our code rather than the old style typings files #14043 @dbaeumer
- Port language server implementation to TS 2.0 #15201 @mjbvz
- Debug - VS Code starts to use that information to fix the hover experience by only showing a hover when inside the scope boundaries. #15172 @isidorn
Extension Contributions
Support/contribute to extensions:
- All - Ensure all extensions we contribute to are using the extension change log @kieferrm
- ๐ PHP - Continue exploration of improved PHP parser with symbol and location information #15818 @mousetraps
- Discuss parser exploration with community
- Go - Explore Go language server seeded by SourceGraph @ramya-rao-a
- Azure - Explore Azure extension pack for the market place @chrisdias
Engineering
This section lists several engineering/development items that the team identified:
- Improve support for Javascript in HTMl #15377 @aeschli
- Ensure html language server is self-contained
- Explore possibility of providing an html language server library for easy adaptation to other scenarios
- Improve workbench start-up performance #15455 @bpasero @jrieken
- Collect more detailed startup performance data and send it using the existing start-up time event
- Investigate need for log service
- Workbench - Investigate return to open on mouse-down #15819 @bpasero
- Quick Open - Invesigate the costs of persisting our file cache #15382 @chrmarti
- File Search - Improve performance of file search #15384 @chrmarti @roblourens
- Ensure we understand usage patters of file search
- Understand extension host reliability #15456 @jrieken
- Adopt extension marketplace's CDN changes #15557 @joaomoreno
- ๐ช Investigate automating our smoke test @aeschli
Feedback Channels
- Crash data (see also electron/electron#7474) @ramya-rao-a
- Improve error telemetry @ramya-rao-a
- #12694 Fix broken stack traces in macOS and Linux
- #15483 Update error telemetry website to add links to source code from deminified call stack
- #13864 Error telemetry: sort by machines by default
- #15603 Update error telemetry site to add callstacks as comments to existing issues
- #15374 Fix errors coming from processes spawned by extensions that may have PII
- #15752 Always start to de-minify stack traces
- Data pipeline maintenance @ramya-rao-a
- ๐ Rename KPIs, add Weekly Avg KPI and backfill
- Improve support for retention and churn data
Explorations
We are continuously exploring options and ideas. Some might make it into future releases.
- ๐ API - Explore potential support for SCM providers #15246 @joaomoreno
- Workbench - Explore improvements to settings #15162 @sandy081
- Improve adjustment of common settings
- Make it easier to find the settings that need adjustment and to adjust them
- Workbench - Improve experience for first time users #15383 @chrmarti @sandy081
- What adjustments are typically made on first run
- Familiarizing a first time user with VS Code
- How do we know we improved?
- ๐ Tasks - Explore future direction of task support #15179 @dbaeumer
- Debug - Explore how extension should participate in launching the debug adapers #8645 @weinand
- Debug - Explore how extensions can contribute and implement custom actions #15656 #15657 @isidorn @weinand
- ๐ Explore what it takes to ship VS Code as a UWP application #15820 @bpasero
- ๐ช Explore code commenting support in diff editor for allowing a 'Review Github PR' extension #15380 @alexandrudima
I think everybody can agree
<< removed gif>> killed fun
This is a pretty exciting agenda.
Can wait to see how it unfolds!
@rebornix @alexandrudima If you're revisiting the diff viewer, could you look into a cool merge-mode feature like JetBrains has? Here's a video
The one thing I am sad to see missing is custom inline widgety-things ala #3220. I understand your initial investigation into the concept wasn't promising, but don't give up!!
OP mentions:
Describe our UX process for the team and the community
and a few other vague references to "contributable explorers.. but might it be wiser to address UI extensibility as a whole rather than a case by case basis? _This extensibility is the one thing that I believe vscode
is lacking._ If this is November / December track... can January be overhaul of UI extensibility?? Custom sidebars, popovers, custom workspace css, etc. It's no small order, but that would bump up extensibility up a few orders of magnitude.
Anyway, that's my 2ยข.
Sounds great!
Since the diff viewer is going to be looked at -- a feature I would love to have (and others on my team have echoed) would be small buttons (or something) to be able to quickly move change blocks from on side to the other. Of course these would only be available if one side of the diff was editable.
I agree with PHP support! A very promising extension is https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-intellisense
You could help me with his work!
Closing - November has been shipped