Καλημέρα! (Good morning!) This month we're coming to you live from GitLab all
hands in Heraklion, Greece, to release GitLab 10.1. 🚀
Since GitLab's inception, we envisioned a world where
everyone can contribute, and with each release we're one
step closer. With GitLab 10.1, we bring more tools for better collaboration,
enhanced security and authentication, as well as improved performance and UX.
For far too long a group of folks have been left out of the discussion and we
think it's time that got fixed. With GitLab 10.1 we're changing how you should
think about version control and discussion.
Commenting on lines of code works great when the discussion centers around text,
but what about images? After all, if the code being written has an app UI, web
page, or generates a printed asset then it makes sense that you'd want to be
able to talk about text and images in the same way. With
Image Discussions we're opening up a whole new way to
collaborate. Extending on collaboration, you can now
create merge requests across forks of a
canonical repository.
Being able to work under a secure environment is very important, and with each
release we are constantly improving the security and authentication mechanisms.
This time, we have added LDAP group sync filters,
as well as the ability to reject unsigned commits.
The admin audit log has been improved to also
include more metrics and GPG subkeys support has
been added.
An open source project can attract a lot of visitors and contributors. Although
one would expect civilized discussions to take place, that's not always
the case. With GitLab 10.1, a moderation tool is in place and you are able to
lock discussions on issues and merge requests
to avoid unnecessary friction among your community.
Going strong with our DevOps vision, we've
made it really easy to create clusters on Google Kubernetes Engine from within
GitLab.
The online view of HTML artifacts
is also another great addition that will make it even easier to view your test
reports right from your web browser.
Dedicated to our open source stewardship, the
fast-forward option in merge requests
previously on Enterprise Edition Starter is now brought to Community Edition.
In the UX side of things, GitLab now comes with an improved new project page
so that it's easier to decide the kind of project you want to create. Whether
you want to start from scratch, use a template or import from another provider,
you can now achieve it easier than before.
We're dedicated to making GitLab perform better and faster under heavy load,
and GitLab 10.1 is no exception. This release comes with many
performance improvements including faster viewing
of merge requests and general initial page load improvements.
This month's Most Valuable Person (MVP) is awarded to
Vitaliy Klachkov
With an amazing 23 contributions
for GitLab 10.1, Vitaliy Klachkov is the MVP for this release! He’s been
contributing to GitLab for quite some time now and is a member of the
core team. From API and UI additions to improving our test
suite (18 merge requests!), Vitaliy has rightfully earned a place to the
monthly MVP stand.
Thank you Vitaliy for your contributions!
Key improvements released in GitLab 10.1
Image Discussions
Everyone can contribute to GitLab, and with this release, we are helping
interaction designers, visual designers, digital designers, graphic artists,
frontend developers, or just anyone who works with images collaborate better.
With discussions, you can now click a specific location
of an image (within a commit or a merge request), and start a discussion with
respect to that place in the image. You can even have multiple discussions
specifying different areas of an image.
Resolvability in the merge request
diff view works the same as before, so once a discussion is settled, simply
resolve it!
In this release, we are introducing a moderation feature to lock down
continued discussion in an issue or merge request. This is useful when
there is abuse or spam or you simply want to direct users to a different
place in GitLab (another issue, for example) for continued feedback and
collaboration. A project member with master access (or higher) has
permissions to lock and unlock them. When an issue or merge request is locked,
only project members can create new comments or edit existing ones.
Merge Requests Across Forks
Forks and merge requests are a great alternative to branch-based workflows as they
enable any developer to create an alternative copy of the repository rather than committing
changes directly against the primary codebase.
However, this means that it can make it harder for multiple people to work on the same
code at the same time as the forks are isolated.
With GitLab 10.1, you can now create merge requests between forks of a canonical repository.
This makes working together on forks now much simpler, allowing multiple developers to easily review and merge
across forks, bringing the code together before sending a merge request back to the canonical
repository.
As part of our growing Enterprise authentication capabilities, GitLab 10.1
supports the ability to synchronize LDAP groups to GitLab based on filters,
including user attributes.
For larger and more complex LDAP implementations there may be additional metadata
in LDAP to infer permissions, roles, or types of users. By leveraging group filters, GitLab makes it easier
to perform more user management capabilities directly from LDAP.
GitLab EES already allows basic synchronization of LDAP groups to GitLab groups. This is great functionality for basic
LDAP integration, but means that your LDAP structure needs to effectively mirror GitLab’s group structure.
The introduction of LDAP Group Sync Filters in GitLab EEP means that your existing LDAP structures
and attributes can be utilized in a more powerful way to manage your GitLab permissions.
Controlling and verifying identities are a key component to GitLab’s Enterprise
authentication features. GitLab 10.1 introduces two new mechanisms to enforce
user identity management whilst committing code.
Authors may be verified through GPG integration introduced in GitLab 9.5.
With GitLab Enterprise Edition Premium it is now possible to enforce verification and reject
any commits that are unsigned using push rules.
Easily Create Kubernetes Clusters on GKE (Beta)
Every application needs a home and in case of web apps or microservices, it can be a
Kubernetes cluster that can also deploy
Review Apps during the development cycle.
But setting up a cluster properly is not an easy task, and developers should focus on
writing the code, rather than setting up the infrastructure.
That’s why, in GitLab 10.1, we add the ability to connect your Google Account to your projects and to
create a brand new Kubernetes cluster on Google Container Engine (GKE)
just by enabling the services for your account and specifying a few parameters.
The cluster is immediately ready to use and can be leveraged, among others, by
Auto DevOps to have your apps live.
Online View of HTML Artifacts
As many projects rely on GitLab for automated testing, developers also need to access the test results
in order to fully benefit of the feedback. This is just an example of how important it is to render HTML reports
and make them accessible in an easy way.
With GitLab 10.1, we introduce the online visualization of HTML files created by pipelines for public projects,
just one click away from the artifacts browser view.
Your test reports, code quality and coverage information are now very simple
to access directly from your browser, with no need to download them locally.
Other improvements in GitLab 10.1
Signing Commits with GPG Subkeys
GPG integration was introduced in GitLab 9.5.
allowing you to sign commits to verify your identity. Many people use verified subkeys to sign
commits, and this is now supported and displayed as verified in GitLab 10.1.
Manage Milestones with Developer Permissions
The developer role can now create, edit, and delete both project milestones
and group milestones. Managing milestones is a software delivery team activity,
so we wanted to extend that flexibility and responsibility to the users with Developer
access in GitLab.
Improved Admin Audit Log
Knowing what happens inside your GitLab instance is an important aspect of many auditing
requirements.
GitLab EES (Enterprise Edition Starter) has basic Audit Event capability where each group or repository has
a simple log of events that have taken place.
The Admin Audit Log was introduced in GitLab 9.3,
allowing administrators to access a centralized log of events from
Groups, Projects, and user actions. New user actions have been added to
the central audit log in GitLab 10.1:
- Add or remove email addresses
- Password change and forgotten password
- Login failure
- Adding SSH keys and granting oAuth access
Name of GitLab Users in Slack Notifications
Prior to GitLab 10.1, Slack notifications included only the GitLab username.
In this release, the full name is displayed as well. The new format is
First Last (username)
.
Secondary Email Confirmation
For improved security, GitLab is able to enforce email confirmation on sign up.
This functionality is now extended to additional emails that are added to the user
account, ensuring that all email addresses added to user profiles are confirmed.
GitLab Mattermost 4.2
GitLab 10.1 includes Mattermost 4.2, an open source Slack-alternative whose 4.2 release includes interactive message buttons to simplify complex workflows, plus much more. This version includes security updates and an upgrade is recommended.
Mattermost 4.2 was also included in GitLab 10.0. Anyone on GitLab 10.0 or later should have the patch already.
Performance Improvements
Performance is an important part of GitLab, allowing GitLab to scale to hundreds of
thousands of users.
GitLab 10.1 includes 20 performance improvements, including faster viewing of merge
requests, faster importing from GitHub and general initial page load improvements.
The Container Registry page is now paginated, making it much faster. Project search from the
toolbar has been optimized as has viewing projects and issues. The Rebase button
is now also significantly faster.
Improved New Project Page
Creating a project
is the first step when getting started with GitLab,
and we’ve improved the New Project page to make this simpler. Now it’s
easier to take advantage of Project Templates (introduced in GitLab 9.5) to create
a project with a working example code and pre-configured CI,
create a blank project, or import an existing project from elsewhere.
Improved Internationalization
As part of our ongoing effort to internationalize GitLab, we have now externalised
strings in the Branches, Group and Wiki pages allowing our translation community to add
more languages and strings to GitLab.
If you are interested in contributing to GitLab’s Internationalization efforts, we welcome
you to join our translation community.
Semi-linear History and Fast-forward Merge Requests in CE
While engaging with the GitLab community, lots of folks have told us that even
in small teams, they want flexibility when choosing a merge method. With
this release, we are taking
semi-linear history
and fast-forward merge requests
from GitLab Enterprise Editions into GitLab Community Edition (CE),
so that all users can enjoy them.
New keyword for Automatically Closing Issues
You can now use a new keyword, implements
(and its variants), in a commit message
or merge request description to signal automatically closing an issue. This joins the existing
keywords such as closes
, fixes
, and resolves
(and their variants).
Omnibus Improvements
- Postgres has been updated to 9.6.5.
- Prometheus has been updated to 1.7.2, along with Postgres exporter 0.2.3 and Redis exporter 0.12.2.
- Additional Postgres settings are now configurable within
gitlab.rb
: effective_io_concurrency
, max_worker_processes
, max_parallel_workers_per_gather
, log_lock_waits
, track_io_timing
, and deadlock_timeout
.
- Roles have been added to streamline configuration of GitLab in highly available installations.
GitLab Geo Improvements
Notable changes shipped with GitLab 10.1:
- Improved repository sync performance supports larger GitLab instances (#3453)
- Improved handling of repository sync failures to prevent the queue
from becoming clogged with permanently failing tasks (#3259)
- Added migration path to hash-based storage format introduced in GitLab 10.0 (#3118)
- Attachments on personal snippets are now synced (#3644)
- After upgrading to 10.1, attachments will be re-synced due to a bug
See the full list of changes.
GitLab Runner 10.1
We’re also releasing GitLab Runner 10.1 today! GitLab Runner is the open source project
that is used to run your CI/CD jobs and send the results back to GitLab.
Most interesting changes:
List of all changes can be found in GitLab Runner’s CHANGELOG.
Deprecations
The gitlab
Helm chart
The gitlab
Helm chart
is deprecated, and will be replaced by the new
cloud native GitLab chart.
We are planning for an initial beta release of this new chart in 10.3.
A migration will be required to move from the current deprecated chart,
to the new cloud native GitLab chart.
Planned removal date:
Dec 22nd, 2017.
Mattermost Configuration Changes
With the release of GitLab 11.0, the number of Mattermost configuration options supported within
gitlab.rb
will be reduced. We will continue to support the
core configuration settings
necessary to run Mattermost, and set up the integration with GitLab. Going forward, other
configuration settings should be set
directly within the Mattermost console, or passed as environment variables.
Presently with two applications attempting to write to the same config file, changes can be lost.
Planned removal date:
GitLab 11.0
Removals and breaking changes
The complete list of all removed features can be viewed in the GitLab documentation. To be notified of upcoming breaking changes, subscribe to our Breaking Changes RSS feed.
Upgrade barometer
To upgrade to GitLab 10.1 from the latest 10.0 version, no downtime is required.
To upgrade without downtime, please consult the
documentation on downtimeless upgrades.
You can check the status of background migrations by running this command
from the Rails console: Sidekiq::Queue.new('background_migration').size
.
Changelog
Please check out the changelog to see all the named changes:
Installing
If you are setting up a new GitLab installation please see the
download GitLab page.
Updating
Check out our
update page.
Questions?
We'd love to hear your thoughts! Visit the
GitLab Forum
and let us know if you have questions about the release.
GitLab Subscription Plans
-
Free
Free-forever features for individual users
-
Premium
Enhance team productivity and coordination
-
Ultimate
Organization wide security, compliance, and planning
Try all GitLab features -
free for 30 days
We want to hear from you
Enjoyed reading this blog post or have questions or feedback? Share your thoughts by creating a new topic in the GitLab community forum.
Share your feedback