GitLab.org/GitLab: Release v17.7.0-ee

Name: GitLab

Owner: GitLab.org

Release: GitLab 17.7

Released: 2024-12-19

License: MIT

Release Assets:

25 new features 3675 total badges

Verify
[Small hosted runner on Linux Arm available to all Tiers](https://docs.gitlab.com/ee/ci/runners/hosted_runners/linux.html) (SaaS only): GitLab Hosted Runners

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.

Software supply chain security
[Group and project access tokens in credentials inventory](https://docs.gitlab.com/ee/user/group/credentials_inventory.html) (SaaS only): System Access

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.

[New API endpoint to list enterprise users](https://docs.gitlab.com/ee/api/group_enterprise_users.html) (SaaS only): System Access

Group Owners can now use a dedicated API endpoint to list enterprise users and any associated attributes.

Ultimate

7 new features 578 total badges

[Instance administrators can control which integrations can be enabled](https://docs.gitlab.com/ee/administration/settings/project_integration_management.html#integration-allowlist) (self-managed only): Integrations

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.

Application security testing
[Improved detection accuracy in Advanced SAST](https://docs.gitlab.com/ee/user/application_security/sast/gitlab_advanced_sast.html): 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.

[Efficient risk prioritization with KEV](https://docs.gitlab.com/ee/api/graphql/reference/#cveenrichmenttype): Software Composition Analysis

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.

[Expanded Code Flow view for Advanced SAST](https://docs.gitlab.com/ee/user/application_security/sast/gitlab_advanced_sast.html#vulnerability-code-flow): 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.

[Enable secret push protection in your groups with APIs](https://docs.gitlab.com/ee/api/group_security_settings.html): Secret Detection

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.

Software supply chain security
[Remove Owner base role from custom roles](https://docs.gitlab.com/ee/user/custom_roles.html#create-a-custom-role): Permissions

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.

Security risk management
[Auto-resolve vulnerabilities when not found in subsequent scans](https://docs.gitlab.com/ee/user/application_security/policies/vulnerability_management_policy.html): Vulnerability Management

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.

Premium

3 new features 677 total badges

Create
[New `/help` command in GitLab Duo Chat](https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#gitlab-duo-chat-slash-commands): Editor Extensions, 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.

Verify
[Track CI/CD component usage across projects](https://docs.gitlab.com/ee/api/graphql/reference/index.html#cicatalogresourcecomponentusage): Pipeline Composition

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.

Software supply chain security
[Navigation and usability improvements for the compliance center](https://docs.gitlab.com/ee/user/compliance/compliance_center/compliance_frameworks_report.html): Compliance Management

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.

Core

12 new features 2310 total badges

[Omnibus improvements](https://docs.gitlab.com/omnibus/) (self-managed only): Omnibus Package

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.

[Setting `environment.action: access` and `prepare` resets the `auto_stop_in` timer](https://docs.gitlab.com/ee/ci/yaml/#environmentauto_stop_in): Deployment Management

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:

[Kubernetes 1.31 support](https://docs.gitlab.com/ee/user/clusters/agent/#supported-kubernetes-versions-for-gitlab-features): Deployment Management

This release adds full support for Kubernetes version 1.31, released in August 2024. If you deploy your apps to Kubernetes, you can now upgrade your connected clusters to the most recent version and take advantage of all its features.

For more information, see our Kubernetes support policy and other supported Kubernetes versions.

[Set namespace and Flux resource path from CI/CD job](https://docs.gitlab.com/ee/ci/environments/kubernetes_dashboard.html): Environment Management, Deployment Management

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.

SCA Vulnerability Prioritizer

This experimental feature is another step in helping users prioritize vulnerabilities identified during Dependency Scanning or Container Scanning. Users may include this CI/CD component in their .gitlab-ci.yml file, which will generate a prioritization report for vulnerabilities found in the project. The report will print to the pipeline output.

The component queries the GitLab GraphQL API to retrieve vulnerability data and prioritizes as follows:

  1. Vulnerabilities with known exploits (KEV) are the top priority.
  2. Vulnerabilities with high EPSS scores.
  3. Higher severity vulnerabilities.

Only detected and confirmed vulnerabilities are shown. Currently, the component relies on EPSS and KEV data to help prioritize vulnerabilities. EPSS and KEV data are only found on CVEs, which are collected through dependency and container scanning. To learn more, please refer to the Vulnerability Prioritizer.

As always, we welcome your feedback. Please add any questions or comments to the feedback issue.

[New user contribution and membership mapping available in direct transfer](https://docs.gitlab.com/ee/user/project/import/#user-contribution-and-membership-mapping): Importers

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.

Plan
[Unicode 15.1 emoji support πŸ¦–πŸ‹β€πŸŸ©πŸ¦β€πŸ”₯](https://gitlab-org.gitlab.io/ruby/gems/tanuki_emoji/): Markdown

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.

[Set your preferred text editor as default](https://docs.gitlab.com/ee/user/profile/preferences.html#set-the-default-text-editor): Text Editors

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.

[New Planner user role](https://docs.gitlab.com/ee/user/permissions.html): Portfolio Management

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.

Software supply chain security
[Extended token expiration notifications](https://docs.gitlab.com/ee/security/tokens/): System Access

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.

[New description field for access tokens](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-personal-access-token): System Access

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.

[Rotate personal, project, and group access tokens in the UI](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#revoke-or-rotate-a-personal-access-token): System Access

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!

To top