 Hello and welcome everyone. Thanks for joining us today. We're excited to have you on during today's webcast We will be going over our latest release 11.4 where we have several new features that will help improve efficiency My name is Agnes and I work on the marketing program team here at GitLab. I'm joining you from Jakarta, Indonesia today Also joining us this morning is John Jeremiah from product marketing and James Ramsey from products We're going to give people just a couple more minutes to get locked on while we're waiting. I'm going to launch a poll You can take part in if you'd like the graphic on this slide may be useful as you think through your answer for the first poll question Thank you to everyone who participated in the poll before we get started I'm going to cover a couple of housekeeping items first. Feel free to ask questions throughout the presentation You can use the Q&A function at the bottom of your screen for that We'll have dedicated time for questions at the end of the presentation and demo But you can go ahead and send in your questions as you think of them and we'll make sure to get to them at the end If you are experiencing any technical difficulties, you can use the chat function to get in touch with me the moderator for help Now I'm going to turn it over to John to talk about the results. Thanks Agnes I'm super happy to be with everyone today and to talk to you all and talk about what's happening in 11.0 11.4 We keep releasing so fast. I got almost got tied up on 11.0 But 11.4 is an exciting release and it's one of the things that's most exciting about it is all the things we've done to help improve efficiency across the whole life cycle and And so to look at that and when I look at the poll results, so I think you can all see the poll results You know, I can see that again It's it's common that I see a lot of people using you're focusing on source code management and create stage of the life cycle But it's also it's exciting to see the breadth of what people are doing across the life cycle about people who are You know trying to work on planning and managing their projects to you know verifying and releasing So it's for me at least it's good to see and it's it's a trend I see happening when I talk to customers as well James, I don't know what you see when you talk to customers But for me, this is this is a a pattern that I see people doing and as people learn more about the capabilities of the life Cycle, I think people start to adopt and implement more of these more of the features across the breadth of GitLab Absolutely, right So let's go ahead and dive in and I want to cover off on a few high-level points about what it was key to 11.4 And as I saw 11.4, it was really about how we help improve efficiency across the life cycle It was really capabilities and a lot of features that we released that help people to deliver More effectively and more efficiently and not spend as much time working on what they were doing And we'll talk about code reviews and how we've made code reviews easier both with batch commits and suggested reviewers We'll look at feature flags. We also had a pretty cool update where we moved ci.yaml into core And then lastly a couple other pieces around the file tree and tables For me, it's always exciting to do these because this this is again our 88th consecutive monthly release And so being able to deliver quickly and to move quickly is key now Suggested reviewers was a feature that we built on how we started off with code owners in our last release And then this release we started to roll in the idea of who should be Selected or who should be involved in reviewing a merge request and so with with this now We're able to suggest and you'll see this in in the demo We do later of who should be involved in reviewing this specific change The intent here is to make it easier for you to identify who should be reviewing code And who should be involved in making those changes and in approving the changes before they go live and we'll look at that shortly Now the other thing was that we realized that it took you oftentimes when people were making comments And we were doing updates and commenting on a merge request and you'd you'd end up with a series of One comment with a notification and another comment with another notification And and before long you just get hit with one notification after another after another as someone was making comments So with with 11.4 we've introduced the ability to have batch comments to bring comments together into one Consolidated review so as you can make your comments you can set them up and effectively staging your comments Such that it becomes one one notification back back to the team To be aware of what what the update was so batch comments again Makes it easier and more effective to make your make your comments and for teams for people to get notifications about those Now in the spirit of trying to help everyone be more effective and efficient We heard from a lot of people in the community about the power and the usefulness of having include files and making them available And up until now they were available and starter and we've in responding to that We've realized that we needed to move it down and we moved the yaml file include files into Into the core into the community addition making it an open source capability Again, it makes it easier to manage, you know, how you go about Planning your ci pipelines and managing that so that way you can have multiple Include files so rather than having you know all of that all of the Details in your yaml repeated you can have a single include file to manage it easier Excitingly the new feature an alpha feature coming into this release is the capability to to have feature flags built into git lab And with feature flags we have the ability then to turn on or turn off specific features in your application All from git lab and to manage it from git lab We'll demo that in just a few minutes, but this helps you to go faster and to release capabilities to your users without having With the ability to turn on a feature turn off a feature depending upon where you're at This will help you to go this will really help to unlock your ability to go faster and to release faster And it's look for this to be something that we continue to iterate on as we go forward Now one of the problems or challenges oftentimes with a complex merge request is there's lots of different files included in it And being able to understand where they are at in the directory and what files are changing Was a was a update to improve our merge request to make it easier So you can navigate the file tree to understand which files are changing And what the status of those are again helping you to be more efficient and effective in making And making updates and managing your merge requests And the last big improvement or what I think was a big improvement is I've been using markdown tables a lot is Uh a contribution from the community to add the ability to add a table right there in the editor to make it easy to build Build out marked-in tables. Uh, I don't know about everyone else But I know I've usually spent a fair amount of time copying and pasting and finding tables that I could use In the work I'm doing and I I'm excited to see this this added here is it's going to make Make a lot of people's work. I know for myself my work more efficient and more effective So james, I think I've gone through some of the key highlights that I wanted to touch on at least in the slides How about you are you ready to share and go with the demo? Sounds great. I would love to Uh, thank you everyone for joining us. I'm excited to show you some of these features in real time So I'll share my screen Okay, I hope you can all see my screen now Um, so the first features I'd like to show you relate to merge requests So here's a copy of a merge request. I'm actually working on on gearlab.com at the moment Um that I've copied out to a demo environment Um, I'm trying to add a new feature to our api that requires changes to giddily. So I've made a few changes to The giddily source code Which you can see here. So I've changed eight files So the first feature I'd like to show you is leaving batch comments. And so one of the really great applications of them is During a review frequently You'll leave a comment. You'll notice something. It seems out of place. Um, so maybe this this flag doesn't seem useful What is this used for what a strange variable to be adding to this this test file, but then I come down maybe 10 15 lines and all of a sudden it's explained why why this file is here While these variables here. So I don't need my comment anymore. So using reviews. I can delete this before I Waste the valuable time of whoever's going to see this notification Um, but let's go through and add some comments. Um, this Isn't clear Start a review Um, this should be true, I think So as you can see we're starting to build up some comments here um Oh, I've got a little stub here about an unimplemented function This needs to be implemented or merging And so this is this is what it's sort of This is what it looks like as you leave more and more comments We can see that they're pending that they haven't been submitted and I can submit a review at any time Um, or if I want I could add that comment immediately and continue on with the rest of my review Can edit the individual messages? and delete them And the rest of my review is still being in place and then when I'm happy I can click submit review The other feature I want to show you is the file tree which makes it much easy to navigate this I'm scrolling through this really long list of files and I get really lost I'm not very good at keeping a mental map of where I'm at So I've added a new file browser Which all of a sudden gives you a nice searchable file tree so I can quickly see the test files that are changed Click on that to jump to the test files Or I can jump down here and look at a specific implementation. That's just some automatically generated code um And this makes it really nice and easy to jump around small nerd requests large nerd requests and anything in between So these are some really great improvements that make doing code review more efficient Britain both in the process of adding the feedback and also just the navigation and Understanding what's going on I see a few chat questions So it seems like people are having some issues seeing your browser uh, james. I don't know if it's possible to Uh, is anyone are you seeing my screen John or you are I I am seeing it very well actually Yeah, I'm seeing it. I'm seeing it. I'm seeing it as well Um, it might be a zoom issue where people haven't gotten the window open Okay, someone says it's better now. Okay. Um, I'm I apologize To anyone who's had trouble. I hope you caught the important bits Um, we can't we will stop recording as well. So don't don't worry right The uh, the next feature I'd like to show you is feature flags We can all see it Okay, I think it's resolved Okay, so the next feature I'd like to be Little feature flags Which um, you can play with To demonstrate this feature just loading it up Get lamb. Okay. So here we are. Here's this feature flags app and I'll quickly toggle over to the source code because that's The kind of important to explain what's going on. So this is a tiny old go web server to demonstrate feature flags and how they work So there's some configuration information At the top which is connecting the feature flag server And I'll show you where to get that information from in a second The rest of this app is sort of implementation details here. I'm initializing the library. It's language specific Um, but really the guts of this application in the simple hello world app and I'll show you Roughly what it looks like that says hello world But it's got a feature behind a feature flag And if we come down here to this get name function or the server function We've got a template where it's actually getting the the name parameter from the request and If the greeting feature is enabled. That's this line here. It's going to show me a name So let's go back to the feature flag app in git lab and go to the operations dashboard and check out feature flags We'll see I've created a feature flag called greeting I'll just in the source code we can see that's the same Verival I've used here is enabled greeting Currently it's inactive So if I just launch my application Reload this allow Okay now my server's up and running So saying hello world. I'm going to quickly add Man, hello James. It's ignoring this this argument, right So if we go back to our feature flag and click edit and enable it This is enabled the feature flag on the server and if I reload my little application It now says hello john So what we've just done is we've enabled this feature using feature flags on git lab In the application that I built which is totally separate. So what's happening is we're using The Go back to the source code What we're doing is we're using the unleashed library here To connect to the the feature flag server that we've got running on git lab And we're using that to toggle this feature And so the The unleashed library requires a couple of Configuration parameters to get up and going which can be found in the feature flag dashboard You can read more languages more about which languages are supported And where to download the compatible client libraries from by clicking the links and go into the documentation But it's supported in quite a few different languages And this is a really exciting feature for um This integrating like sophisticated feature development and the feature flags needed to progressively roll those out Closing that loop and integrating it nicely into git lab So that's feature flags Just check if there's been any questions Very cool James one question I think is uh You know, but this will be raising their hand and attendees raising their hand Uh, well, I guess one of the questions would be is what languages are supported for uh for feature fives? There's quite a few obviously go Um, which are used in the demo, but also java note and ruby and there's also so those are sufficient officially supported clients and there's also community contributed clients that Also work with the unleashed server, which is for dot net and python, so that's Six languages that are supported by unleashed Very cool. Awesome. Uh, other okay, norbert was asking what about kotlin? Yeah, I don't think it's supported yet I don't think it is no, but um Given that it's open source. You could probably Create your own client. I don't think it's particularly complicated, but there might be also a community project that we're not aware of um, so I'm not sure Fair question So we're at the point where james, do you have anything else you were going to demo? That was that was always going to show you today. Yep So from a q&a perspective, are there questions from the audience that are questions you can put them into the chat or in the q&a feature While we're waiting on that I I guess I have a you know a question and I think the one of the things I thought was cool was the the ability to do Was you know was how How would I say this? So one of the things I thought was was neat was how The you know batch comments are coming and how there are updates to what we're doing around You know source code management and create what's what's on the horizon? What's what's next? um I guess one of the things that is We're working on right now as you mentioned earlier john the codoners feature so we recently released the first iteration of codoners and then in 11.4 we released the automatic suggestion of approvers based on codoners We're going to be continuing to iterate on that in over the coming releases. So in 11.5 um We should see automatic assignment of codoners. So if you've got a codoners file As soon as you open the merge request and start pushing files the appropriate codoners are automatically going to be added to the merge request There's not a manual process at all anymore. It's fully automated And then we're continuing to go even further than that. Um, and in 11.6 will be Adding more structure to our merge request approval system to prepare for 11.7 where we hope to shift required approvals for codoners. So adding that enforcement layer for organizations that um Really want to have a strict code review process where if someone is assigned a codoner that person must approve any change to that file um, so that's some exciting improvements there. Um, and we're also looking at continuing to streamline batch comments and code reviews with a Um, the unified notification that you meant mentioned, um, that's coming very soon. Um, along with um The ability to suggest changes in um merge request comments So when you're leaving a comment on a diff, you'll be able to suggest an alternative Line and just hit apply with a single quick and automatically apply that change into the merge request So those are some exciting features we're working on in the near future Very cool. Yeah, those are going to be exciting changes and updates Uh, i'm watching there's a conversation in this chat. I don't think it's a question Uh, here we go. Uh, we have three teams one team currently promoting to two dev boxes stages that you can read it to Uh, it's in the chat from james The three teams one I'm not sure what the question is Maybe maybe he's still typing Yeah, I'm not sure I get the question from james I think he's asking if there's a documentation. Um, oh How to manage multiple teams, right? I'm not sure james. It might be um a little difficult for us to um Answer the question in this format. So, uh, you'd be welcome to open an issue on the the git lab issue tracker with a I can detailed question of the situation you're having and um, how you're hoping to use git lab and we'd be happy to try and answer that and point you to either documentation or A feature request that'll address your situation And then norbert is asking I thought there would be a way to review a file blob instead of a commit That we we do have some ideas norbert about adding the ability to Files outside of the merge request workflow So like review a blob that is just in a commit somewhere in your repository But we don't yet have a workflow for Leaving leaving that feedback on a line by line level and making it actionable We do have some commenting capabilities where you can leave a comment on a file Like at a file level on a blob, but not on a a line by line basis If that's what you're referring to All right, if we don't have any more questions, perhaps, uh, we can um, you know, maybe share maybe John you can share uh about the upcoming release Sure, absolutely excited to do that. Uh, there we go. So I I thought I'd include a little bit of a tease because you know, we do this every month And I looked ahead to what's coming next month at least what's uh, what's on the docket And I saw a couple of things that I was excited about seeing I saw parallel ci jobs I saw updates to merge requests and james already talked about assigning approvers So I you know, I think 11.5 is the next release is going to be even you know continuing to be exciting Uh and more features and more capabilities are coming to help make you be more efficient and more effective So with that, uh, you know, that's I think the for me the the key there and I think we have what one more Page to go which is our wrap up. Yes, I guess Which is your feed? Um, yes, so Thank you everyone. Um, you know for attending today's Um release reader webcast we'd love to hear your thoughts on today's webcast and would really appreciate your responses to our webinar survey Which I have up on screen and I will also drop into the chat And then um, I guess I will like to end by saying we would also like to invite you to sign up for a free trial of gitlab ultimate Um, we hope you're excited to see what your team can do with it. I will chat that link as well And finally, if you have any other questions, don't hesitate to reach us via our sales contact page about dot gitlab dot com slash sales That's all for today. Thank you so much for joining us Thanks everyone Thank you