 Great, and we're live. Welcome everyone to the kickoff for GitLab 12.0 really excited to bring it to you today My name is Brendan O'Leary. I'm a product manager in the verify stage here at GitLab And I'm talking to you from sunny New Orleans, Louisiana Where we are going to be having our GitLab contribute event starting tomorrow where? 600 plus Git labbers will be coming from over 50 countries to New Orleans to get together Spend some time with each one another and collaborate directly But let's get started on the kickoff and first we've got Jeremy that's going to tell us about some great features in manage Thanks a lot Brendan Manage is still focused on really improving access controls in GitLab Especially for larger organizations where security and compliance is really critical And the first issue that I'm going to talk about is really Highlighting that's that theme of like improving security and restricting access and this is all about restricting access to specific groups in GitLab By IP address mask So these larger organizations where security is really important typically will use a VPN in order to restrict access and make sure that We're filtering access through a virtual private network and we'll be able to now Enforce that in GitLab by checking IP address mask and making sure the incoming connections and people that are accessing group resources are adhering to that We're also going to use we're also going to double down on this restricting access to groups By some issues that have been moved from 1111 the first of which is a restricting group member by a domain whitelist This was an issue that as I said we started 1111 that Requires users that are added to a particular group in GitLab to adhere to a domain whitelist where your email address That's associated with the user account has to be adhered to a certain pattern Both of these both the restricted access to by IP address and also the domain whitelist We're doing at the group level so we can have these available features and capabilities for both self-managed and get lab calm The other two issues that were moved from 1111 are locking memberships to LDAP sync We actually don't currently enforce that LDAP sync Memberships be enforced and now we'll enable that for premium customers the ability to do just that which is allow and only allow Lock membership access to the LDAPs group sync that is that is take that takes place So you won't be able to Manually add users to groups outside of LDAP unless you're actually get lab administrator The fourth issue is only allowing not admitted to archive projects not to lead them for the same kind of security and compliance Thanks reasons Takes care of like the security and access controls that we're really focused on but those last two issues I'm also really excited about the first of which is new onboarding There's not currently a formal polish onboarding experience in GitLab and we're shipping the NBC of this in 12.0 On gitlab.com by walking users through a onboarding experience for the get lab contribute community edition project We'll iterate on this and add an onboarding experience for self-managed and future releases by creating a sample project That's part of your of a user onboarding experience But we're really excited to shift this learn from it and iterate from there And then also the last issue is display and logic improvements for cycle analytics and cycle analytics is a feature that has a lot of Possibilities and get lab and we actually have a new product manager Who's my counterpart in the managed stage of Virginia who's gonna be focused on analytics and the first step to make improving cycle analytics is Is fixing come about some of the logic improvements some logic and how we calculate each stage which results in this kind of not enough data? Message being being surfaced too frequently and also including the ability to see very clearly whether or not a The amount of cycle time spent on a particular stage is improving or or increasing. So that's it for manage Brennan back to you great, thanks, Jeremy. That's all really exciting stuff and and the The LDAP sync locking can seem kind of small But it's gonna be huge for enterprise customers, but I have a special place in my heart for the onboarding MBC I think that's gonna be great for new users Next up we're gonna have Eric talk about the plan stage of the DevOps life cycle Eric. Yeah, thanks Brendan I'm really excited to talk about a few issues. We're going to bring To you all in the plan stage for 12.0 The first one I'm talking I'll talk about is at the top of the table here So dragging and dropping issues and ethics in the epic tree if you recall from the last kickoff meeting We are currently working on the ability to visually view a Tree view of in an epic of all of the related epics and issues and sub issues And so we're going to extend that functionality by allowing dragging and dropping to reorder and reprioritize Some of the the nested relationships that are in that tree view So really really exciting stuff which would help with top-down portfolio management Additionally We are working on creating issues from epics So if you're a user of boards, you can quickly create an issue from a board By just supplying the issue title Which allows you to fill in the details of the issue later But also get that card onto the board for prioritization and filtering We want to extend this functionality into epics oftentimes in a project manager or a product manager is doing top top down Planning they start with the high-level vision Via an epic knowing that there's many many sub tasks that need to be created So allowing our users to create issues from epics allows for top-down planning Making an experience a little bit better and keeps you in a single screen to do all that planning And then lastly in the plant stage. I'm really excited to talk about manual backlog grooming and prioritization Which is something that many users both internal and external You know in the community have been asking for for a long time So this this feature is going to allow manual dragging and dropping of issues in the issue list Allowing you to order and prioritize issues in that view The prioritization the relative ordering of the issues will Be stored into the system So if you navigate away from the page and then come back you'll be able to see it And then we're also introducing a new filter option called manual ordering So if you wanted to filter by milestone and then come back to your manual ordering you'd be able to do that The prioritization is also stored in the application So you'll be able to see it in other places such as boards and any other place that you would have a an issue filter option So exciting stuff from plan back to you brendan Great. Thanks, Eric. And as you mentioned, there's a lot of internal customers most of them are on this call So we're really excited to see a lot of the backlog grooming that's going to come to this It's going to help us as product managers and hopefully help those that are also managing projects and products within gitlab Next up james and kai are going to take us through the create stage Thanks brendan The first feature i'd like to share is live preview in the web id so the web id Is a great way to edit repositories in the browser without having to check them out locally You can edit multiple files. You can view your changes and you can commit them and over the past months Once we added client side evaluation for javascript projects and we've added a web terminal And we've been working on adding the ability to preview your changes in the web id So hopefully in 12.0 We'll ship the first iteration of live preview for server side evaluation in the web id Which will mean you can take your ruby on rails application open in the web id Work on it make a change open the web terminal run a Your web server command and then be able to preview it just like you can a review app So what we're trying to do here is enable the workflow where you can make a change Preview of change test it Before you commit it all from the web id without having to check out your project locally If you scroll down brendan, you can see a mock-up Where we'll have a panel With the the web browser and i'm sure in future iterations we'll be able to pop that open to a full page preview But this is really a very exciting first step in making the web id much more useful For these sort of complicated editing scenarios The next feature Is to do with design management. So we've been working on adding design management To git lab so that designers have a place to come in git lab and upload the designs And product managers designers and software engineers can all collaborate and give feedback Um on the designs before they get built currently UX designers are uploading mock-ups into the issue description or into comments, but it's really hard to give feedback And so if you scroll down a little bit You'll see in the first design A new area in issues called designs where you'll be able to upload new designs And then in the second screenshot When you click on one of them You'll be able to leave point of interest comments and this is much like you can leave point of interest comments in a Code review So if you upload designs into a git repository, sorry upload an image into a git repository and open emerge requests You can leave point of interest comments today We're bringing this out of the code review and into the designs workflow so that we can collaborate on images during the design process Um, this is just the the first mvc of design management There's going to be a lot of things that we need to do over the coming release like system notes Um and cross-linking and different versions of designs But we think this is a really important first step in fostering Collaboration between designers developers product managers and all the other stakeholders directly in git lab So these are two very exciting features design management and live preview Um that are coming in 12.0 to git lab Back to you brendan Great. Thanks james. It's hard to choose which one i'm more excited about The the amateur developer in me is really excited about the web id But i know that my team and my design team are going to use the the design management tools right away. So that's great Next up i'm going to hand it off to myself to talk about the verify stage So in the verify stage, we've got a few things that are shipping on 12.0 that we're really excited about The first is flexible rules for pipeline jobs. What this means is we're going to Uh Take what we have today is a only and accept concept where you can Say run this job only on certain conditions or accept when certain conditions exist That can make it rather confusing to build even what one might call simple To complex logic about when the job should run And more importantly can make it really hard to understand how and when a job is going to run So what this is going to do is add a simple rule set That's going to be similar to like an ip table's rule set where the first rule that matches Will will be the rule that's accepted and then we'll decide to either run or not run the job based on that It's going to allow teams to have uh, very Clear descriptive pipelines about what runs when Uh, the next is a huge step forward for our enterprise customers that want to be able to ensure auditability in their pipelines And this is going to force and enforce Template inclusion into the pipeline. So at the instance level i'll be able to say Force this job to be included in every pipeline And what that means is i can have all my auditability in that job And then i'll know that it runs on everyone's pipeline regardless of what else happens in their build and deploy process And then lastly is a community contribution that we're going to be helping get over the line To collapse the job logs into sections with the duration So this will be really valuable as you're trying to debug what's going on with your ci jobs It's going to be helpful to kind of be able to expand and collapse those sections of the log that are really valuable to understanding what's going on So we're really excited to ship all of those in 12.0 And with that I will pass it off to tim to talk about the package stage for 12 Thanks bernand i have a couple of changes that we're going to be releasing with 12.0 for package that i'd like to highlight the first is Modifying the existing GitLab ci yaml template for npm to allow for building and pushing of npm packages Through the ci and cd pipelines. This will be very helpful For allowing users tighter integration with the GitLab registry with the verify and release stages The next one i'd like to highlight is a ui a user interface enhancement that will allow Surface a notification upon deleting an image that the associated tags will be deleted as well This is a highly requested feature From from users who experience. Yeah, here's the user interface So when I go to click delete, I will get a confirmation message alerting me what the actual behavior is going to be on the site. So this will provide some Uh safe training wheels for um for people looking to clean up their container registry and Yeah, those are the two issues I'd really like to highlight for for package back back to you bernand Great, thanks Next up i'm i'm really excited sorry about the the template for the npm registry As a no developer in my amateur hour developer time I'm definitely going to use that so that's exciting Jason can you tell us about what's up for release? Sure, thanks bernand So on the release side, uh, we're bringing over finishing up the merge trains for mr pipelines From the 1111 release. I made good progress there, but just need to to take it a bit home And as a reminder what this was was being able to uh set up a train of pipelines In your merge requests and Enforced that those come in one at a time And that'll be something that we expand on in the future to add Parallelization other optimizations to make your merge requests get merged into your target branches typically master In an orderly fashion, but still as efficiently as possible In terms of what we're bringing in new in this release the one that i'm Just super looking forward to is adding percentage rollout to our feature flags feature This is going to do great things for us in terms of how we're going to enable progressive delivery Which is something that we're looking at At kind of the broad level for c i cd Progressive delivery is enabling Kind of the next step of continuous delivery taking some of the best practices that we've seen And bringing those out and building all of that within gitlab and enabling it easily Of course feature flags is a big part of that and then being able to do Percentage rollout is kind of the core of that progressive delivery idea So look for that coming soon The other things that we're doing are making the feature flags able to be rotated The token that's used for that just to add a little bit of security on the feature flag side And then we're looking to disable triple des on gitlab pages This will impact people who are using You know state-of-the-art web browsers like internet explorer seven and eight on windows xp We are doing some research in this issue on How many of our users are going to be impacted by that and try and mitigate that if you have thoughts on that Please do jump in the issue and let us know how we can help We do have options But ideally of course we would just like to turn this off because it is an insecure protocol And and it's kind of the right thing to do from a security standpoint Um, and that's it. Uh back to you running Great. Thanks jason. I guess it's time to upgrade my windows xp machine No, but seriously, I I really am very excited for merge trains to to finally Get merged ironically. Uh, that's going to be a really helpful feature For folks with a lot of very active repositories Such as gitlab. So really excited to see that come in Next up, uh, daniel, can you tell us what's what's going on with configure? You've got quite a lot going on. We're excited about it Thanks, brennan. Yes, we are as well. So a couple of items that we're bringing from 11 11 That didn't make it across line and the first one is the ability to provide separate namespaces for each Environment. So, you know, this is just to give those users more flexibility so different deployments Can go into different namespaces And then the repo integration for jupyter hope so the worker and then has Is underway and that is basically the ability to see the contents of your repository Inside your jupyter notebook And then we're moving on to the items that we're focusing on for 12.0 And the first one is around instance level kubernetes clusters as you know support for that is coming in 11 11 And what that means is that will migrate everything that has Every user that has been using the service integration That has been deprecated and that that will be moved to an instance level cluster So as part of 12.0, you will see that we will remove the kubernetes service integration page And so if you are making use of that you can proactively move your stuff as part of 11 11 That you will have instance level clusters or if not, well, you'll see that migration happen as part of 12.0 And then the last thing that we're going to focus on is on the serverless space So as you know, right now we have the ability to easily deploy a kubernetes service via a good lab ci And the next thing that we want to do is add a security layer on top of that and that is going to be Done via ssl. So what we're thinking there is giving users the ability to upload their own search What's going on right now is that there's not a native way to use third manager and k native That is plan in the upstream project So we'll just start with the minimal way for a user to specify what search they want to use And that is it for configure back to you bren great Thanks daniel very exciting stuff and I think a small but an important point here is how Seriously, we take backwards compatibility. So I'm really happy that Both the configure team is adding instance level clusters and then also providing the migration path for customers that may have it set up a different way We all know that the Instance and group level cluster pages give us a lot more flexibility and management So i'm excited that we're going to be migrating that automatically for folks that that don't take advantage of earlier Kenny, can you let us know what's going on in monitor? Yeah, thanks, brennan. I'm actually yeah, I'm going to cover monitor secure and fulfillment So first in monitor as as daniel mentioned our customers make heavy use of our kubernetes integration and rely on that kubernetes cluster That is attached to their git lab projects You know not only for their cicd, but often for their production environments And so we've always supported or we've we've been supporting a view into the health metrics of your of that cluster Via our prometheus integration. So you can look at a view of the The specific metrics and I've recently added the capacity metrics But we in this release are going to add the ability to create alerts right there on the cluster monitoring page and brennan if you can Bring up that view. We have the the quick view of the cluster monitor page the kubernetes integration page That includes that little drop down at the front that shows At the upper right of those screens that shows the ability to add an alert to that memory and cpu usage So this is really critical for customers who depend on those clusters health and want to get notified without having to come directly to this page Moving to the secure stage. We have two new mbc's for this iteration the first is security approval for merge requests And so this was born out of our customer's interest in ensuring that there is more security oversight in the merge request process and so what we are we're doing is When we thought through how we could enable that customers came to us and said we'd love to use approval rules Or the approval process that we recently added and get lab as part of the create stage to Have our security teams review code But we don't want our security team to have to view every single merge request Especially those that did not have any new vulnerabilities found. So what this will do is enable you to set up those approvals For your security team, but automatically remove the approval requirement If no new vulnerabilities were found in that merge request making this much easier for a security team to stomach You know Getting into the process and reviewing the merge request like they would like to The next one is our dependency list mvc in some places. This is called a bill of materials But it says what we're working towards at this first iteration It's going to be the list of dependencies within the software application that you're delivering As identified by our dependency scanning tools, but It will evolve into kind of that wholesale What is in this pack piece of software that we're delivering for security and compliance reasons and include things like being able to block Certain dependencies or not So a great first step to enabling the a use case that has been a big request from some of our larger customers The last issue I'd like to cover in fulfillment is that As you know, we offer quotas for customers for ci minutes And one of the problems that customers experience is they would have to go to a specific page to know When and if they were approaching that quota and so now we will offer the ability to to Send a message to groups of users letting them know when you when that group or project is coming up on a impending quota limit So those are the issues for monitor secure and fulfillment back over to you brennan Great thanks, uh, eric would you like to talk to us about what's going on in distribution and geo? Absolutely. Thanks brennan So in distribution and geo we're taking the opportunity because this is a major release We're moving from 11.11 into 12.0 to make some some changes that may alter functionality that Customers or community members may have built around and so I just want to highlight a few of those The first one is that in 12.0. We're going to automatically upgrade the postgres version to 10.0 If you install 12.0 The postgres version by default will be 10.0 and then Any upgrades we're also making the change so that any upgrade will also ensure that you you're also upgrading postgres to 10.0 as well The next thing that the team is working on is supporting geo in the helm charts. Obviously, this is something that is uh, is really important for us as we um Work on making our kubernetes integration and experience first class So we want to ensure that the geo experience with respect to helm charts is also world-class and so We're we're working on enabling support for geo in our helm charts The other two are also really important to make note of In 12.0, we're going to enable json logging by default Currently, there are several places in git lab where we just log in unstructured ways And so if you've ever written a parser or any sort of post processing to take those logs and make them usable This may break your functionality and so In the future on 12.0 and beyond you should expect all logs to be in the json format Uh, and then the last issue that the distribution team is going to spike into is investigating Using registry on open shift platforms. So when we took a look at this um a few months ago, um The the registry didn't work with the open shift browser. So we're going to investigate Um why that was spike into that and hopefully Enable that to work and so that we can start to have a a much better experience on the open shift platforms Um And uh and make that experience better for our customers. So that's it for distribution Uh, and then moving on to geo two things I wanted to quickly highlight as well. So in 12.0 We're going to make the form data wrapper A construct in postgres a hard requirement which should help with several performance aspects for a number of queries And so this requires I think it's postgres 9.6 at minimum, but paired with our Automatically enabling postgres 10.0. This is a good time to introduce that change And then the last change for geo is that we're going to make hash storage a hard requirement in 12.0 Hash storage was introduced in 10.0 and we have two storage classes. We think get lab legacy storage and hash storage and When when we use legacy storage there can this can lead to a number of race conditions And so using hash storage alleviates those conditions And so we're going to mandate that hash storage be used in 12.0 and beyond and take the opportunity for geo to implement this in 12.0 That is it for distribution in geo brendan back to you Great. Thank you so much eric and thanks everyone. I am absolutely thrilled at all of these things that we have planned it's it's shaping up to be fantastic release between LDAP enforcement the backlog grooming that's coming for product managers design management to help collaboration on that point in the dev ops lifecycle The merge trains to manage what's getting merged in the security approvals and lots of the other things we mentioned If you have any feedback on them, there's a link below to get into the issues that we've talked about today But I think having seen what i've seen so far that this will definitely be the best release ever So we'll see you again for the 12.0 tell dot one kickoff in a month and until then See you later