GitLab 17.7 release notes

The following features were added in this release.

In addition, we want to thank all of our contributors, including this month's notable contributor.

This month’s Notable Contributor: Vedant Jain

Everyone can nominate GitLab’s community contributors! Show your support for our active candidates or add a new nomination! πŸ™Œ

Vedant has been an outstanding community contributor, known for his proactive approach to contributing, his commitment to delivering, and his collaboration skills. He excels at taking on feedback, incorporating it into his work, and seeking assistance when needed, ensuring that his contributions are not only completed but also meet GitLab’s standards.

His contributions include streamlining project management processes with Abstracted work item attributes to a single list/board, Ordering of metadata on work items, and feature development in Remember the collapsed state of work item widgets. Vedant also fixed links in the UI to documentation (1, 2), helping the technical writing team as part of an important effort to improve UX across the entire product.

Amanda Rueda, Sr. Product Manager, Product Planning at GitLab, nominated Vedant and highlighted his proactive and community-oriented mindset, “Vedant’s work not only addresses user needs but through his contributions, he is co-creating a more stable and reliable GitLab environment. By contributing to bug fixes, usability improvements, and maintenance efforts, he has played a vital role in enhancing the overall quality of the product. His proactive approach and cross-group contributions embody GitLab’s core values of iteration, customer collaboration, and continuous improvement, making him a standout contributor in the community.”

“Thanks to everyone who helped me achieve my contributions,” says Vedant. “So grateful that I am able to make a good impact and looking forward to more contributions.”

Vedant is a Frontend Engineer at Atlan, an active metadata platform for modern data teams, and a Google Summer of Code 2024 Mentor.

We are so grateful to Vedant for all of his contributions and to all of our open source community for contributing to GitLab!

Primary features

New Planner user role

We’ve introduced the new Planner role to give you tailored access to Agile planning tools like epics, roadmaps, and Kanban boards without over-provisioning permissions. This change helps you collaborate more effectively while keeping your workflows secure and aligned with the principle of least privilege.
Available in: Free, Premium, Ultimate
Offerings: GitLab.com

Instance administrators can control which integrations can be enabled

Instance administrators can now configure an allowlist to control which integrations can be enabled on a GitLab instance. If an empty allowlist is configured, no integrations are allowed on the instance. After an allowlist is configured, new GitLab integrations are not on the allowlist by default.

Previously enabled integrations that are later blocked by the allowlist settings are disabled. If these integrations are allowed again, they are re-enabled with their existing configuration.

Available in: Ultimate

New user contribution and membership mapping available in direct transfer

The new method of user contribution and membership mapping is now available when you migrate between GitLab instances by direct transfer. This feature offers flexibility and control for both users managing the import process and users receiving contribution reassignments. With the new method, you can:

  • Reassign memberships and contributions to existing users on the destination instance after the import has completed. Any memberships and contributions you import are first mapped to placeholder users. All contributions appear associated with placeholders until you reassign them on the destination instance.
  • Map memberships and contributions for users with different email addresses on source and destination instances.

When you reassign a contribution to a user on the destination instance, the user can accept or reject the reassignment.

For more information, see streamline migrations with user contribution and membership mapping. To leave feedback, add a comment to issue 502565.

Available in: Free, Premium, Ultimate
Offerings: GitLab.com

Auto-resolve vulnerabilities when not found in subsequent scans

GitLab’s security scanning tools help identify known vulnerabilities and potential weaknesses in your application code. Scanning feature branches surfaces new weaknesses or vulnerabilities so they can be remediated before merging. In the case of vulnerabilities already in your project’s default branch, fixing these in a feature branch will mark the vulnerability as no longer detected when the next default branch scan runs. While it is informative to know which vulnerabilities are no longer detected, each must still be manually marked as Resolved to close them. This can be time consuming if there are many of these to resolve, even when using the new Activity filter and bulk-changing status.

We are introducing a new policy type Vulnerability Management policy for users who want vulnerabilities automatically set to Resolved when no longer detected by automated scanning. Simply configure a new policy with the new Auto-resolve option and apply it to the appropriate project(s). You can even configure the policy to only Auto-resolve vulnerabilities of a certain severity or from specific security scanners. Once in place, the next time the project’s default branch is scanned, any existing vulnerabilities that are no longer found will be marked as Resolved. The action updates the vulnerability record with an activity note, timestamp when the action occurred, and the pipeline the vulnerability was determined to be removed in.

Available in: Ultimate
Offerings: GitLab.com

Rotate personal, project, and group access tokens in the UI

You can now use the UI to rotate personal, project, and group access tokens. Previously, you had to use the API to do this.

Thank you shangsuru for your contribution!

Available in: Free, Premium, Ultimate
Offerings: GitLab.com

Track CI/CD component usage across projects

Central DevOps teams often need to track where their CI/CD components are used across pipelines to better manage and optimize them. Without visibility, it’s challenging to identify outdated component use, understand adoption rates, or support component life cycles.

To address this, we’ve added a new GraphQL query that enables DevOps teams to view a list of projects where a component is used across their organization’s pipelines. This capability empowers DevOps teams to enhance productivity and make better decisions by providing crucial insights.

Available in: Premium, Ultimate

Small hosted runner on Linux Arm available to all Tiers

We are excited to introduce the small hosted runner on Linux Arm for GitLab.com, available for all tiers. This 2 vCPUs Arm runner is fully integrated with GitLab CI/CD and allows you to build and test applications natively on the Arm architecture.

We are determined to provide the industry’s fastest CI/CD build speed and look forward to seeing teams achieve even shorter feedback cycles and ultimately deliver software faster.

Available in: Free, Silver, Gold
Offerings: GitLab.com

Scale and Deployments

Omnibus improvements

Because of a bug, FIPS Linux packages for GitLab 17.6 and earlier did not use the system Libgcrypt, but the same Libgcrypt bundled with regular Linux packages.

This issue is fixed for all FIPS Linux packages for GitLab 17.7, except for AmazonLinux 2. The Libgcrypt version of AmazonLinux 2 is not compatible with the GPGME and GnuPG versions shipped with the FIPS Linux packages.

FIPS Linux packages for AmazonLinux 2 will continue to use the same Libgcrypt bundled with the regular Linux packages, otherwise we would have to downgrade GPGME and GnuPG.

Available in: Free, Premium, Ultimate

Unified DevOps and Security

Improved detection accuracy in Advanced SAST

We’ve updated Advanced SAST to detect the following vulnerability classes more accurately:

  • C#: OS command injection and SQL injection.
  • Go: path traversal.
  • Java: code injection, CRLF injection in headers or logs, cross-site request forgery (CSRF), improper certificate validation, insecure deserialization, unsafe reflection, and XML external entity (XXE) injection.
  • JavaScript: code injection.

We’ve also improved detection of user input sources for C# (ASP.NET) and Java (JSF, HttpServlet) and updated severity levels for consistency.

To see which types of vulnerabilities Advanced SAST detects in each language, see Advanced SAST coverage. To use this improved cross-file, cross-function scanning, enable Advanced SAST. If you’ve already enabled Advanced SAST, the new rules are automatically activated.

Available in: Ultimate
Offerings: GitLab.com

Efficient risk prioritization with KEV

In GitLab 17.7, we added support for the Known Exploited Vulnerabilities Catalog (KEV). The KEV Catalog is maintained by CISA and curates listings of CVEs that have been exploited in the wild. You can leverage KEV to better prioritize scan results and to help evaluate the potential impact a vulnerability may have on your environment.

This data is available to composition analysis users through GraphQL. There is planned work to support displaying this data in the GitLab UI.

Available in: Ultimate
Offerings: GitLab.com

Expanded Code Flow view for Advanced SAST

The Advanced SAST code flow view is now available wherever vulnerabilities are shown, including the:

The new views are enabled on GitLab.com. On GitLab self-managed, the new views are on by default starting in GitLab 17.7 (MR changes view) and GitLab 17.6 (all other views). For details on supported versions and feature flags, see code flow feature availability.

To learn more about Advanced SAST, see the announcement blog.

Available in: Ultimate
Offerings: GitLab.com

New `/help` command in GitLab Duo Chat

Discover GitLab Duo Chat’s powerful features! Just type /help in the chat message field to explore everything it can do for you.

Give it a try and see how GitLab Duo Chat can make your work smoother and more efficient.

Available in: Premium, Ultimate
Offerings: GitLab.com
Add-ons: Duo Pro, Duo Enterprise

Setting `environment.action: access` and `prepare` resets the `auto_stop_in` timer

Previously, when using the action: prepare, action: verify, and action: access jobs together with the auto_stop_in setting, the timer was not reset. Starting in 18.0, action: prepare and action: access will reset the timer, while action: verify leaves it untouched.

For now, you can change to the new implementation by enabling the prevent_blocking_non_deployment_jobs feature flag.

Multiple breaking changes are intended to differentiate the behavior of the environment.action: prepare | verify | access values. The environment.action: access keyword will remain the closest to its current behavior, except for the timer reset.

To prevent future compatibility issues, you should review your use of these keywords. Learn more about these proposed changes in the following issues:

Available in: Free, Premium, Ultimate
Offerings: GitLab.com

Set namespace and Flux resource path from CI/CD job

To use the dashboard for Kubernetes, you need to select an agent for Kubernetes connection from the environment settings, and optionally configure a namespace and a Flux resource to track the reconciliation status. In GitLab 17.6, we added support for selecting an agent with a CI/CD configuration. However, configuring the namespace and the Flux resource still required you to use the UI or make an API call. In 17.7, you can fully configure the dashboard using the CI/CD syntax with the environment.kubernetes.namespace and environment.kubernetes.flux_resource_path attributes.
Available in: Free, Premium, Ultimate
Offerings: GitLab.com

Group and project access tokens in credentials inventory

Group and project access tokens are now visible in the credentials inventory on GitLab.com. Previously, only personal access tokens and SSH keys were visible. Additional token types in the inventory allow for a more complete picture of credentials across the group.
Available in: Gold
Offerings: GitLab.com

Extended token expiration notifications

Previously, token expiration email notifications were only sent seven days before expiry. Now, these notifications are also sent 30 and 60 days before expiry. The increased frequency and date range of notifications makes users more aware of tokens that may be expiring soon.
Available in: Free, Premium, Ultimate
Offerings: GitLab.com

Unicode 15.1 emoji support πŸ¦–πŸ‹β€πŸŸ©πŸ¦β€πŸ”₯

In previous versions of GitLab, emoji support was limited to an older Unicode standard, which meant some newer emojis were unavailable.

GitLab 17.7 introduces support for Unicode 15.1, bringing the latest emoji additions. This includes exciting new options like the t-rex πŸ¦–, lime πŸ‹β€πŸŸ©, and phoenix πŸ¦β€πŸ”₯, allowing you to express yourself with the most up-to-date symbols.

Additionally, this update enhances emoji diversity, ensuring greater representation across cultures, languages, and identities, helping everyone feel included when communicating on the platform.

Available in: Free, Premium, Ultimate
Offerings: GitLab.com

Set your preferred text editor as default

In this version, we’re introducing the ability to set a default text editor for a more personalized editing experience. With this change, you can now choose between the rich text editor, the plain text editor, or opt for no default, allowing flexibility in how you create and edit content.

This update ensures smoother workflows by aligning the editor interface with individual preferences or team standards. With this enhancement, GitLab continues to prioritize customization and usability for all users.

Available in: Free, Premium, Ultimate
Offerings: GitLab.com

New description field for access tokens

When creating a personal, project, group, or impersonation access token, you can now optionally enter a description of that token. This helps provide extra context about the token, such as where and how is it used.
Available in: Free, Premium, Ultimate
Offerings: GitLab.com

Enable secret push protection in your groups with APIs

With this release, you can now enable secret push protection on all projects in your group via the REST API and the GraphQL API. This allows you to efficiently enable secret push protection on a per-group basis instead of project by project. Audit events are logged every time push protection is enabled or disabled.
Available in: Ultimate
Offerings: GitLab.com

New API endpoint to list enterprise users

Group Owners can now use a dedicated API endpoint to list enterprise users and any associated attributes.
Available in: Silver, Gold
Offerings: GitLab.com

Remove Owner base role from custom roles

The Owner base role is no longer available when creating a custom role as it provided no additional value because permissions are additive. Existing custom roles with the Owner base role are not impacted by this change.
Available in: Ultimate
Offerings: GitLab.com

We continue to make iterative and important improvements to the compliance center’s user experience for both groups and projects.

With GitLab 17.7, we shipped two key improvements:

  • Users can now filter by groups in the Projects tab of the compliance center, which gives another option to users to apply, filter, and search for the appropriate project, and the compliance framework attached to that project.
  • A project’s compliance center now has a Frameworks tab, which allows users to search for compliance frameworks attached to that particular project.

Please note that adding or editing frameworks is still done on groups, not projects.

Available in: Ultimate, Premium
Offerings: GitLab.com