Self-proclaimed DevOps platform GitLab has pushed out 2021’s major version release, aiming to win over new users and make things more efficient for those working on complex projects.
Since this year’s development work is at least partially guided by an “adoption through usability” theme, GitLab 14.0 comes with a bunch of UI changes long-time users might have to get used to first. The top navigation, for example, has been steamed down to a menu button which, upon click, provides access to projects, groups, and instance-level features in the hopes that often-overlooked features get more playtime now.
Further navigation-related changes can be found in the left sidebar, where features have been reordered, and the operations menu has been replaced by dedicated security and compliance, deployments, and monitor menus.
To get more team members involved in the documentation process, GitLab’s Wiki now comes fitted with a Content Editor. Users can edit entries in Markdown or just type and use visual editing tools for formatting. The tool is still in its early stages supporting basic Markdown content types only, but this is meant to change during the 14.x series.
Beyond the superficialities
Speaking of editors, the platform’s CI/CD pipeline editor now loads a commented example pipeline for projects without one configured already, to make the job easier for those new to pipeline setup. The GitLab team also worked to simplify the cluster management process and provided a new template containing the code needed for cluster management jobs. Currently there’s only support for certificate-based cluster integrations, though support with Kubernetes Agents is apparently soon to follow.
Terraform users who have been grappling with support for the tool’s models should give the newly introduced Terraform module registry a try. Besides providing a way to distribute and discover modules, it also sports the semantic versioning support the old module incorporation options lacked.
Meanwhile, developers programming in Visual Studio code should look into updating their GitLab Workflow extension to version 3.21. This includes functionality to work through the complete merge request review process without forcing a context switch.
After being behind a feature flag for a while, epic boards are now a default view in premium and ultimate tiers. Through them, users can use a kanban board-like drag-and-drop interface to visualise workflows as well as epics and their status, and don’t have to stick to a list that might be less transparent.
To top things off, Ultimate subscribers will now find DAST vulnerabilities found during a scan only once in their reports, but with a list of all the URLs where the problem was encountered.
They also get insight about how long it takes to get a merge request to production, and are made aware of code quality violations when reviewing MRs.
Since GitLab 14.0 is a major release, the update comes with a few backwards-incompatible changes of which teams should be aware. Besides removing various already deprecated features, GitLab switched the default branch name for SaaS and self-managed new projects from “master” to “main”. It also comes with a renewed template for automatic deploys, which is dependent on version 2 of the auto-deploy-image that is not compatible with its predecessor.
Starting with the new release, empty container registries will have cleanup policies turned off by default, so teams relying on such a behaviour need to enable them again by hand. More changed defaults can be found in Auto Build, which now uses Cloud Native Buildpacks should no Dockerfile be present, and container scanning, which now uses Trivy instead of Clair.
Advanced search migrations added before the 13.12 GitLab release have been removed, so teams running version 13.11 or earlier are advised to upgrade to version 13.12 first, to make sure their instance’s Advanced Search index stays intact. Renamings in version 14 include the WIP status for merge requests, which is now a Draft, and the default browser performance testing job, which has turned from performance to browser_performance to reduce ambiguity.