News from Connect();

This week we had our “Connect();” developer event in New York.  We made a ton of announcements.  You’ll find a bunch on Soma’s blog, the Visual Studio blog, the Visual Studio ALM blog and in the release notes.

At the highest level, we announced:

I also previewed some features that will be coming to VS Online & TFS in the not too distant future.

We did *not* release a preview of TFS 2015 today – not because we aren’t working on it but rather because we’ve found that shipping these capabilities to VS Online is by far the fastest way to provide you with a preview of what is coming in TFS 2015 and for you to provide us with rapid feedback to impact our development plans.  We will release a preview version of TFS 2015 in the coming months.

As usual, I’ll focus here more on the ALM news and let others focus on the broader Visual Studio news.  What I’ve written here is, by no means, everything we’ve done – there’s just too much to detail it all.  One of our big areas of focus is on improving the DevOps workflow.  The first several items below are related.

Release management service preview

We added a release management capability to TFS over a year ago and I’ve been getting increasingly ardent requests for us to bring release management to VS Online as well.  I’m happy to say that we have now done just that.  As of today, release management is available on VS Online.  You just need Visual Studio 2013 Update 4 or later (Premium, Ultimate or Test Professional) for the release management client UI to configure your release pipelines.

image

The current preview only supports releases targeting Azure environments.  In the next few months we’ll add support for releasing to other environments (like on-prem).

Cloud Deployment Projects

To round out a compelling deployment and release management solution, we’ve also added some new features to help you provision infrastructure and deploy your app.  The core of this is a new feature in Visual Studio called Cloud Deployment Projects, shipping in the Azure SDK 2.5 (it works with VS 2013 & 2015).  Cloud Deployments Projects enable you to describe both the topology and the configuration of your application with an Azure Resource Manager Template and a PowerShell/DSC script.  With these, you can reliably and repeatably provision infrastructure for your app and install it.  Cloud Deployment Projects help you to organize all of this.

To manage all of the deployments of your application, we’ve added an Environments tab in Team Explorer that tracks all of your deployed environments and allows you to manage them.  It also allows you to share environments with your team.  This initial preview is focused on Azure but, in the next year, we also plan unify this with our current TFS lab management offering to provide seamless, ALM integrated infrastructure provisioning and application deployment to both public and private clouds.

We’ve also added a really nice wizard in Visual Studio that allows you to create an instant pipeline in the Release Management service for Visual Studio Online based on the same infrastructure and configuration as code artifacts in your Cloud Deployment Projects. This can then be customized with the release management client, such as to specify approval workflows or other orchestration steps.

Application Insights

Of course, if you really want to complete the DevOps loop, you also need a telemetry solution.  Application Insights helps you ensure your application is available, performing and succeeding by providing a 360 degree view of your app.  Application Insights is hosted in the Azure Preview Portal but will work for applications hosted in the cloud or on premises.  There’s no particularly massive change this week in what’s available in Application Insights – it just keeps getting better every sprint.  In recent sprints we’ve improved the diagnostic search experience, added support for aggregated metrics and improved the “metrics explorer” for mining your application metrics.

CodeLens on VS Online

With Visual Studio Ultimate 2013 Update 4 and later, you can now use CodeLens with Team Foundation Version Control hosted on VS Online.  We added support for Git (both on-prem & hosted) in an earlier update.

Smart Unit Tests

As your release cadence increases, your ability to spend endless hours on integration testing evaporates.  You have to focus on developers getting it right and, among other things, that means reliance on unit testing.  To help make it easier to ensure you have great coverage on your unit tests, we’ve introduced a new tool we’re calling “Smart Unit Tests” (though I’m banking on coming up with a better name before it ships :)) that will analyze your code and generate unit tests that will give you 100% branch coverage.  It’s a very cool way to make sure you are getting great coverage on your code.

image

Smart Unit Tests is based on work previously provided by Microsoft Research – called Pex, and is now going to be an official part of the Visual Studio 2015 product.

Git Improvements

We’ve made quite a few improvements to the Git experience.  We are releasing Pull Request support in TFS 2013 Update 4.  We’ve also made numerous improvements in the VS 2015 preview, including:

  • New branches page with folder hierarchies based on namespaces (i.e. users/mmitrik/foo)
  • show remote branches and make it easier to create local branches from remote, delete remote branches, etc
  • Git history has a integrated graph view for visualizing the version graph

Agile Project Management

We’ve also added some new features to our VS Online Agile Project Management solution (they will first appear on-prem in TFS 2015).

  • Bugs on the task board – We recently added the ability to have bugs (in addition to user stories/requirements) on the back log.  With the most recent VS Online update, you can also have them on the kanban board and the task board.
  • Better link browsing experience – We added a new work item browsing dialog to the linking experience so that you don’t have to go look up the work item number and paste it into the new link dialog – instead you can browse for work items directly.

Sneak Peak – Web based editing

One of our simplest and yet satisfying improvements is our new web based editing experience.  It is most pronounced in our Welcome page experience.  To remind you, you can check in markdown files into the root of your repositories and they will show up on the Welcome tab of your project home page.  You’ll notice that, at the upper left of the markdown page, there is now an “Edit” button.

image

That will enter an edit mode on the raw markdown.  You can make changes directly, switch back and forth between markdown and preview and ultimately commit your changes to the repo.

image

Not only do you get this in the Welcome page experience, you also get it in the source browser – you can edit, update and commit any text file directly in the web browser.  You can also add new files and delete and rename existing ones.  This makes quick tactical edits, from anywhere you are, easy.

image

And while we were messing around with previewing markdown and editing files, we went ahead and added previewing of images as well.

image

Sneak peek – Updated build service

I showed a preview of a major update to the VS Online/TFS build service that we’ve been working on.  We believe it will address a large portion of the suggestions to improve it that we’ve received.  Improvements include:

  • A much simpler customization experience that doesn’t require XAML/Workflow – just a simple sequence of tasks to execute.
  • A real time build output window to easily track the progress on your build
  • Build definition versioning/auditing so you can know who changed your build definition, what changes they made and why.
  • A web based editing/administration experience
  • The ability to share build agents across projects and collections, making shared build pools far more viable.
  • A cross platform build agent so that you can automate builds for Mac and Linux too (or even builds than span a PC, Mac and Linux).

Of course your existing build definitions will continue to work too.  This isn’t a complete list of all of the build improvements but it’s a big chunk of what we hope to have in TFS 2015 (and on VS Online well before then).  Look for a VS Online preview early next year.

Sneak Peek – Code Search

It’s been pointed out to me for years that even SourceSafe had a code search capability.  It was simple and wouldn’t scale (it actually downloaded all the code to the client to grep it) but it worked.  We, finally, are building a code search experience for VS Online and TFS – and it’s an enterprise scale solution built on Elastic Search.  It enables efficient search across all of the code on your TFS server or your VS Online account.

For instance, here I’ve searched for the word “todo” in all .js files in the project VSOnline in the repo Tfs.  I see the search results and can browse the code with the matches highlighted.

image

This is, as I say, just a peek into the future.  We hope to have a preview of the new search feature available to everyone within a few months.

Summary

We’ve made some great progress on our DevOps capabilities with a Release Management Service preview, Cloud Deployment projects, Application Insights and Smart Unit Testing.  We’ve continued to improve the product across the breadth of the feature set and shown some sneak peeks at some very cool improvements coming soon.  It’s very exciting to see all of this coming together.

I hope you all like it as well.

Brian