gitlab gitlab-org/gitlab v16.4.0-ee

latest releases: v17.3.7-ee, v17.4.4-ee, v17.5.2-ee...
13 months ago

29 new features 3138 total badges

Verify
macOS 13 (Ventura) image for SaaS runners on macOS (SaaS only): GitLab Runner SaaS

Teams can now seamlessly create, test, and deploy applications for the Apple ecosystem on macOS 13.

SaaS runners on macOS allow you to increase your development teams' velocity in building and deploying applications that require macOS in a secure, on-demand GitLab Runner build environment integrated with GitLab CI/CD.

Ultimate

11 new features 438 total badges

Group/sub-group level dependency list: Dependency Management

When reviewing a list of dependencies, it is important to have an overall view. Managing dependencies at the project level is problematic for large organizations that want to audit their dependencies across all their projects. With this release, you can see all dependencies at the project or group level, including subgroups. This feature is now available by default.

Vulnerability bulk status updates: Vulnerability Management

Some vulnerabilities need to be addressed in bulk. Whether they are false positives or no longer detected, it's important to minimize the noise and triage vulnerabilities with ease. With this release you can bulk change the status and make a comment for multiple vulnerabilities from a group or project Vulnerability Report.

Granular security permissions: Vulnerability Management, Dependency Management

Some organizations want to give their security teams the least amount of access necessary so they can adhere to the Principle of Least Privilege. Security teams should not have access to write code updates, but they must be able to approve merge requests, view vulnerabilities, and update a vulnerability's status.

GitLab now allows users to create a custom role based on the access of the Reporter role, but with the added permissions of:

  • Viewing the dependency list (read_dependency).
  • Viewing the security dashboard and vulnerability report (read_vulnerability).
  • Approving a merge request (admin_merge_request).
  • Changing status of a vulnerability (admin_vulnerability).

We plan to remove the ability to change the status of a vulnerability from the Developer role for all tiers in 17.0, as noted in this deprecation entry. Feedback on this proposed change can be shared in issue 424688.

Allow users to define branch exceptions to enforced security policies: Security Policy Management

Security policies enforce scanners to run in GitLab projects, as well as enforce MR checks/approvals to ensure security and compliance. With branch exceptions, you can more granularly enforce policies and exclude enforcement for any given branch that is out of scope. Should a developer create a development or test branch that is unintentionally affected by heavy-handed enforcement, they can work with security teams to exempt the branch within the security policy.

For scan execution policies, you can configure exceptions for the pipeline or schedule rule type. For scan result policies, you can specify branch exceptions for the scan_finding or license_finding rule type.

Customizable roles: User Management

Group Owners or administrators can now create and remove custom roles using the UI under the Roles and Permissions menu. To create a custom role, you add permissions on top of an existing base role. Currently, there are a limited number of permissions that can be added to a base role, including granular security permissions, the ability to approve merge requests, and view code. Each milestone, new permissions will be released that can then be added to existing permissions to create custom roles.

Manage
Create custom role name and description using API: System Access

When creating a custom role, you can now use the member roles API to add a name (required) and description (optional). Any existing custom roles have been given the name Custom, and you can use the API to change a custom role's name to a name of your choosing.

Secure
Browser-based DAST active check 22.1 is enabled by default: DAST

Browser-based DAST active check 22.1 has been enabled by default. It replaces ZAP check 6, which has been disabled. Check 22.1 identifies "Improper limitation of a pathname to a restricted directory (Path traversal)", which can be exploited by inserting a payload into a parameter on the URL endpoint, allowing for arbitrary files to be read.

Private registry support for Operational Container Scanning: Container Scanning

Operational Container Scanning can now access and scan images from private container registries. OCS uses the image pull secrets to access private registry containers.

Dependency and License Scanning support for pnpm lockfile v6.1: Software Composition Analysis

Thanks to a community contribution from Weyert de Boer, GitLab Dependency and License Scanning now support analyzing pnpm projects using v6.1 lockfile format.

Improved SAST vulnerability tracking: SAST

GitLab SAST Advanced Vulnerability Tracking makes triage more efficient by keeping track of findings as code moves.

In GitLab 16.4, we've enabled Advanced Vulnerability Tracking for new languages and analyzers. In addition to its existing coverage, advanced tracking is now available for:

  • Java, in the SpotBugs-based SAST analyzer.
  • PHP, in the PHPCS Security Audit-based SAST analyzer.

This builds on previous expansions and improvements released in GitLab 16.3. We're tracking further improvements in epic 5144.

These changes are included in updated versions of GitLab SAST analyzers. Your project's vulnerability findings are updated with new tracking signatures after the project is scanned with the updated analyzers. You don't have to take action to receive this update unless you've pinned SAST analyzers to a specific version.

Pipeline-specific CycloneDX SBOM exports: Software Composition Analysis

We've added an API that allows you to download a CycloneDX SBOM, which lists all the components detected in a CI pipeline. This includes both application-level dependencies and system-level dependencies.

Premium

4 new features 576 total badges

Elasticsearch index integrity now generally available: Global Search

With GitLab 16.4, Elasticsearch index integrity is generally available for all GitLab users. Index integrity helps detect and fix missing repository data. This feature is automatically used when code searches scoped to a group or project return no results.

Geo supports unified URLs on Cloud Native Hybrid sites (self-managed only): Disaster Recovery, Geo-replication

Geo now supports unified URLs on Cloud Native Hybrid sites, which means that Cloud Native Hybrid sites can share a single external URL with the primary site. This delivers a seamless GitLab UI and Git developer experience for your remote teams who can be automatically directed to the optimal Geo secondary site based on their location using a single common URL. With this update, unified URLs are now supported across all GitLab reference architectures.

Geo verifies object storage (self-managed only): Geo-replication, Disaster Recovery

Geo adds the ability to verify object storage when object storage replication is managed by GitLab. To protect your object storage data against corruption, Geo compares the file size between the primary and secondary sites. If Geo is part of your disaster recovery strategy, and you enable GitLab-managed object storage replication, this protects you against data loss. Additionally, it also reduces the need to copy data that may already be present on a secondary site. For example, when adding an old primary back as a secondary site.

Create
Create workspaces for private projects: Remote Development

Previously, it was not possible to create a workspace for a private project. To clone a private project, you could only authenticate yourself after you created the workspace.

With GitLab 16.4, you can create a workspace for any public or private project. When you create a workspace, you get a personal access token to use with the workspace. With this token, you can clone private projects and perform Git operations without any additional configuration or authentication.

Core

13 new features 2050 total badges

Access clusters locally using your GitLab user identity: Environment Management, User Profile

Allowing developers access to Kubernetes clusters requires either developer cloud accounts or third-party authentication tools. This increases the complexity of cloud identity and access management. Now, you can grant developers access to Kubernetes clusters using only their GitLab identities and the agent for Kubernetes. Use traditional Kubernetes RBAC to manage authorizations within your cluster.

Together with the OIDC cloud authentication offering in GitLab pipelines, these features allow GitLab users to access cloud resources without dedicated cloud accounts without jeopardizing security and compliance.

In this first iteration of cluster access, you must manage your Kubernetes configuration manually. Epic 11455 proposes to simplify setup by extending the GitLab CLI with related commands.

Support for environment keyword in downstream pipelines: Environment Management, Deployment Management

If you need to trigger a downstream pipeline from a CI/CD pipeline job, you can use the trigger keyword. To enhance your deployment management, you can now specify an environment with the environment keyword when you use trigger. For example, you might trigger a downstream pipeline for the main branch on your /web-app project with environment name dev and a specified environment URL.

Previously, when you ran separate pipelines for CI and CD and used the trigger keyword to start the CD pipeline, specifying environment details was not possible. This made it hard to track deployments from your CI project. Adding support for environments simplifies deployment tracking across projects.

Omnibus improvements (self-managed only): Omnibus Package
Notifications for expiring access tokens: System Access

Group and project access tokens are frequently used for automation. It is important that administrators and group Owners are notified when one of these tokens is close to expiry, so interruptions are avoided. Administrators and group Owners now receive a notification email when a token is seven days or less away from expiry. They can also subscribe to webhook events to get these notifications.

Email notification when access expires: System Access

A user will get an email notification seven days before their group or project access expires. This only applies if there is an access expiration date set. Previously, there were no notifications when access expired. Advance notice means you can contact your GitLab administrator to ensure continuous access.

Manage
Add webhooks for added or revoked emoji reactions: Webhooks

To provide as many opportunities for automation and integration with third-party systems as possible, we have added support for creating webhooks that trigger when a user adds or revokes an emoji reaction.

You could use the new webhook, for example, to send an email when users react to issues or merge requests with emoji.

Trigger Slack notifications for group mentions: Integrations

GitLab can send messages to Slack workspace channels for certain GitLab events. With this release, you can now trigger Slack notifications for group mentions in public and private contexts in:

  • Issue and merge request descriptions
  • Comments on issues, merge requests, and commits
Expand configurable import limits available in application settings (self-managed only): Importers

We recently turned a few hardcoded import limits into configurable application settings to allow self-managed GitLab administrators to adjust these limits according to their needs.

In this release, we've added the timeout for decompressing archived files as a configurable application setting.

This limit was hardcoded at 210 seconds. On GitLab.com, and for self-managed installations by default, we've set this limit to 210 seconds. Both self-managed GitLab and GitLab.com administrators can adjust this limit as needed.

Verify
Set id_token globally and eliminate configuration for individual jobs: Secrets Management

In GitLab 15.9 we announced the deprecation of older versions of JSON web tokens in favor of id_token. Unfortunately, jobs had to be modified individually to accommodate this change. To enable a smooth transition to id_token, beginning from GitLab 16.4, you can set id_tokens as a global default value in .gitlab-ci.yml. This feature automatically sets the id_token configuration for every job. Jobs that use OpenID Connect (OIDC) authentication no longer require you to set up a separate id_token.

Use id_token and OIDC to authenticate with third party services. The required aud sub-keyword is used to configure the aud claim for the JWT.

Users with the Maintainer role can view runner details: Runner Fleet

Users with the Maintainer role for a group can now view details for group runners. Users with this role can view group runners to quickly determine which runners are available, or validate that automatically created runners were registered successfully to the group namespace.

GitLab Runner 16.4: GitLab Runner Core

We're also releasing GitLab Runner 16.4 today! GitLab Runner is the lightweight, highly-scalable agent that runs your CI/CD jobs and sends the results back to a GitLab instance. GitLab Runner works in conjunction with GitLab CI/CD, the open-source continuous integration service included with GitLab.

What's new:

Bug Fixes:

The list of all changes is in the GitLab Runner CHANGELOG.

Secure
SAST analyzer updates: SAST

GitLab SAST includes many security analyzers that the GitLab Static Analysis team actively maintains, updates, and supports. We published the following updates during the 16.4 release milestone:

  • Updated the KICS-based analyzer to version 1.7.7 of the KICS scanner. See the CHANGELOG for further details.
  • Updated the Sobelow-based analyzer to version 0.13.0 of the Sobelow scanner. We also updated the base image for the analyzer to Elixir 1.13 to improve compatibility with more recent Elixir releases. See the CHANGELOG
  • Updated the PMD Apex-based analyzer to version 6.55.0 of the PMD scanner. See the CHANGELOG for further details.
  • Changed the PHPCS Security Audit-based analyzer to remove the Security.Misc.IncludeMismatch rule. See the CHANGELOG for further details.
  • Updated the rules used in the Semgrep-based analyzer to fix rule errors, fix broken links in rule descriptions, and resolve conflicts between Java and Scala rules that had the same rule IDs. We also increased the maximum size of custom rule files to 10 MB. See the CHANGELOG for further details.

If you include the GitLab-managed SAST template (SAST.gitlab-ci.yml) and run GitLab 16.0 or higher, you automatically receive these updates. To remain on a specific version of any analyzer and prevent automatic updates, you can pin its version.

For previous changes, see last month's updates.

Monitor
Custom email address for Service Desk: Service Desk

Service Desk is one of the most meaningful connections between your business and your customers. Now you can use your own custom email address to send and receive emails for Service Desk. With this change, it is much easier to maintain brand identity and instill customer confidence that they are communicating with the correct entity.

This feature is in Beta. We encourage users to try Beta features and provide feedback in the feedback issue.

Don't miss a new gitlab release

NewReleases is sending notifications on new releases.