 Hi, welcome to Visual Studio Toolbox. I'm your host, Robert Green, and joining me today is Alex Nichols. Hey, Alex. Robert, thanks for having me. Alex is here to talk about Team Foundation Server 2018, the latest release of our wonderful On-Prems DevOps Server. So it has just released new stuff. You're going to show us a bunch of new features that have appeared in between the previous release, 2017 and now 2018, right? That's right. Yeah, we've been working on a lot of these features in the VSTS product that's hosted, and now we're taking those, bundling them up and delivering them on. So let's just review that for one second. So TFS is the On-Prems version and it's releasing, well, the previous was 2017, now it's 2018, so if you do the math, it's about once a year, right? Right. VSTS is the hosted version of it, and that's releasing on every three weeks, every sprint, right? That's right. So the features that we're going to see today, that are now in TFS 2018, have been in VSTS for anywhere from three weeks to a year. Right, right. Yeah, this is one of the beauties of it. This is all actually coming from a single master branch, and we branched a few sprints ago. So these would have been features that went into the service the 122 timeframe, the Sprint 122. Okay. Because a few weeks ago, you and Demetri did an episode on VSTS Sprint 124. That's right. So features that you showed there are not in 2018 because at 122 you said, okay, this is now TFS, but in the meantime, VSTS continues to iterate. Right. You will see those in a later update. Okay. Cool. Great. So let's dive in and take a look at some of the features here. I'll start off in the work area, and this is where we're going really after consistency and just easy views with finding the items that you want to search for first. So this is where we've got this filter control here. You can toggle that open and you get the keyword search, but also some helpful filter criteria. So I can filter things that are just user stories or features here and some of these other ones. You'll see this across backlogs, boards, queries, see that same control. Likewise over in the plans, delivery plans which is available as an extension from the marketplace. We've added this inline new item. So I can just come in here and because ideas could happen at any point. Right. I'm planning for the future. I'm looking out a few sprints. Oh, you know what? I need another feature here. There you go. Saved directly in line there. Yeah. So those are some of the helpful things in the work area. Then if I shift over to code, this really starts over in the code explore and an editing space and just some small, but nice little features and I start by. Do we find a lot of people editing code here? Not a lot, but for those small, helpful or if I'm just looking through all previous code or commits. Okay. The UI is really helpful because it's just you bring it up, you can have your context of the branch and the links to other places right there. But to help with that, we've introduced a way to toggle things like the minimap. I can bring that up where I can see, okay, large files I can scroll through this little minimap control. I've got also toggle, we can get some white space in there. So I can see some of the dots or maybe if you're a tab guy or you're a space gal or whatnot. Then let's see, the other one was the word wrap, right? So you can toggle word wrap and I don't have to scroll horizontally over there. So some small, but nice enhancements over in here. Over on, if I'm looking at a commit, in this case, I found a commit here that's pretty big in size. So if I want to quickly just filter, okay, show me all the DLLs that are in this commit, just real quick, see filter that list down. So those are a couple of nice areas in code. And sticking with this, we've also added this ability to see, if you're going to commit, what are the pull requests that this commit is in? And we show you both here the first ones, but also where we have a default branch. The default branch we're also highlighting. So then also as well, in speaking of the pull requests, we've added the ability to see not only we've got the work items that we're linking there, but also be able to automatically close those work items. Close those work items when I complete the pull request. So that's a nice little, save you a couple extra clicks or maybe you forgot and didn't close your work item. You have to go find them, to close them the time you saved, not having to go find them is awesome. So in this case, I can approve this pull request, I can get this either out of complete or complete, and there's this checkbox here that says complete linked pull request after merging. So that's great. Okay. The other thing over in code is the introduction of the Wiki, and now built right into TFS. So we found that having this Wiki right in our system here, is nice to help those in the organization and even the team understand how to contribute and use your project. I'd encourage those to go check out. We also on VS Toolbox, we had an episode on that, so I encourage folks to check out that as well. Yeah, I'll link to that. Yeah. Okay. So then that's it for code. I'm going to jump into, let's see, actually before I jump into release, I think there was something I wanted to mention about GVFS, that get virtual file system, and how we're making that available with and compatible with TFS 2018. And that's the ability to have these massive code bases managed in Git, right? Windows does that. I know that was blogged about by the Windows team several months ago, that they've got this obviously a ginormous code base and it's all being managed in Git. Right, right. I assume that TFS VS, TFS VS TS code base is also done in that. When you think about these really gigabytes worth of size and repos, that's where this is really coming in. Okay, cool. So now customers with code bases that big can also take advantage of this. That's right, and leverage it, use TFS 2018 with it. Cool. Okay. So now jumping into release, notice right off the bat here, we've got our rich visual release definition editor here. And in this case I've got an artifact here pointing to my- And this is the new one. This is the new one. Which has been in VSTS for a while, but this is the new and improved one. This is the new and improved one, that's right. Yeah, so like you're saying, it's been in the service, we've been iterating on it, it's been in preview, lots of customer feedback involved. And now we've got it to a point where we want to get it in the on-prem product as well. Right. And in this case- And if it's new to people and you're used to the old one, you can just go to the docs and look at the walkthrough that will just show you how to use it. It's obviously, it's the same stuff in there. It's just things are in a different place. You click on different things to get to places. Right. So the docs will help you figure that out pretty quickly. And then once you know, then you just keep going. Yeah, that's right. Yeah, in this case I've got an artifact here pointing to my CI continuous integration build. And it's deploying in sequence to ring zero. And then a ring one if that's successful. So this is how we do it in VSTS, where we deploy to rings in sequence like this. And the new visual editor here gives us that ability to see how those environments relate to each other. Okay, next I wanted to take a look at the, in the package management space, which is also available as an extension. That team's also introduced, or really consolidated some of the tasks and made those more consistent. So we've got a consolidated NuGet task now. If I look at this NuGet task. Yeah, it's definitely easier to use than the old one. It wasn't necessarily difficult, but it feels quicker and more streamlined. Yeah, we've deprecated those older ones that were separate for the different commands. And now we've got this single one where it's just you select the command and off you go. And then right before that, we've got the tool installer that helps you establish which version of NuGet am I going to use in this bill? Okay, otherwise over in the test area, I want to talk about the new improvements we've made to traceability and linking and defaulting of various attributes when we're doing exploratory testing. So we've got a feature here, we might be testing. We've got a test case that we might create along the way and a bug that we might relate in here. You'll notice that there's an area path, there's iteration of the particular thing I'm testing. Now when I go and do my exploratory testing, like I'll navigate over here to my test case. What I created this, it just takes the area path of the requirement, takes the iteration. So these things are linked in a better way where this one had a link, it tests the feature. It's got the correct link type. And then it's also defaulting to the area so that again, I don't have to do those extra clicks to keep everything consistent. Cool. And then finally in the test area improvements here is around this concept of test batching, which takes into account, okay, how many tests do I have? How many agents do I have? And then how do we kind of allocate them across our agents, right? So in this case, you can automatically do it by saying, okay, just average it across my agent pool and test like that. Or in this case here, I simulated if I let the test batch automatically versus if I say, let's say one test case per batch, then you'll see that this really impacts the execution time of our testing. Yeah. So you can control that with much finer grain with this release. All right, so that's it. I've kind of gone through some of the key features through TFS 2018. I will say that I've only touched and shown a handful here. There's a lot more to go check out and those are listed in the release notes. Okay. And we're also looking for all the feedback we can get. So you'll find some links to some feedback channels where you can give us some suggestions or report any problems they encounter. Cool. I think one thing we wanted to mention was the XAML builds. Oh, that's right. That's right. So an important piece here for those looking to upgrade to 2018 is that we've removed support for XAML builds. So if you are using those and you want to continue using those builds, you'll need to port over to the new build system, set up some new build definitions and get those set up. We've got some documentation to help with that, but that's really something that we really ask that customers take a look at that before they do their upgrade. Okay, so test it out, make sure you can duplicate your builds and then you're good to go. Right, and you can do that all in 2017, right? We've been running these two build systems in parallel. You could also do it in VSTS. You could also do it in VSTS. You could fire up a VSTS instance, point it to the same code, right? So you could actually test it until you're completely satisfied that you have the build exactly the way you want it. Then so you could use that. It'd be an easy way of not having to install TFS 2018 preview just to test it, right? You could create the VSTS as your preview. Right, yeah, yeah, VSTS works great with that. That gives you a chance to get used to VSTS. Maybe you find you like it better, right? Right, right, you're right. We do, in preview right now, we do what we are offering the migration tool to get you up into VSTS from TFS. So that's something to certainly check out here. We talked about VSTS at the beginning and how VSTS gets a lot of these features and this is TFS is kind of a rollup. But if you're looking to get the latest and greatest from in terms of features, VSTS is where you want to be. Right, cool. All right, thanks so much. Thank you. All right, hope you enjoyed that. We will see you next time on Visual Studio Toolbox.