The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.
Foundations helps enterprise customers setup and adopt GitLab quickly, efficiently and securely.
The Foundations Stage is at the core of the GitLab platform. It is a glue that spans across different stages and enables our customers to setup and adopt GitLab by providing a frictionless Import experience to bring your applications into GitLab, Integrations with your ecosystem and an intuitive and effective Navigation system.
The Foundations stage is made up of four groups. You can find the direction pages of these groups here:
The existing team members for the Foundations Stage can be found under the links below:
Aligning with Core Platform section theme "GitLab is easy to deploy and adopt", the foundations stage will aim to drive adoption of GitLab through a faster & smoother onboarding process. Our onboarding process will support our customers needs for lower downtime & improved reliability of importers. This will increase number of customers who onboard to GitLab as well as reduce the time it takes to onboard, increasing overall adoption of GitLab.
`- We will prioritize enhancing the experience for enterprise customers by developing tools that improve business continuity, reduce downtime, provide easy-to-understand error messages, and ensure reliable data migration. For instance, "Import Evaluation Tool" can be run before the migration and will help customers understand how long will migration take, what can and cannot be migrated, and possibly even suggest "migration waves" to break down a huge import into several chunks. This feature in combination with faster import reduces the downtime and allows flexibility to work through migration in off-hours improving business continuity
Typically, an enterprise will have a security team, DevOps teams, and an internal compliance officer. They collectively try to understand how the product in the organization is being delivered and have manual processes to examine compliance. By automating some of these tasks, we can accelerate the time to delivery for our customers and reduce the cost of compliance. For instance, security standards & best practices defined at project, group or organization level could be applied automatically to detect if the code merged is compliant or not. Additional security measures could be applied to prevent the branch from being merged if a certain level of compliance is not met. This DevOps automation could be applied to organization-specific, industry-specific ( e.g. PCI-DSS), or government-related ( e.g. GDPR ) regulations to increase operational efficiency and bake in security as part of the development lifecycle.
The Foundations stage is uniquely positioned to minimize the time it takes for our customers to deliver throughout the DevSecOps life cycle. We will help our customers deliver faster by
This theme is directly aligned with "World Class DevSecOps experience". The foundations stage spans across different stages of the DevSecOps lifecycle. Our goal is to improve the overall user experience by improving the usability & accessibility of GitLab with our continued efforts on design system adoption & new and improved navigation. We will continue to make it easier for our users to find what they are looking for, to pick up where they left off, and to orient them in GitLab. For instance, If you're a System Admin who updates MR settings annually (such as merging only on a successful pipeline or with approval from 2+ reviewers), we aim to simplify the process. No need to recall previous actions or sift through notes.
In three years, we expect :
The Personal productivity team will continue to build cross-stage UIs and user workflows that should be consistent, clearly designed, and iterated on like a feature to improve the overall user experience of GitLab. In rest of the FY24 and FY25, we will work on
GitLab identifies who our DevSecOps application is built for utilizing the following categorization. We list our view of who we will support when in priority order.
Manage uses Stage MAU as a primary measure of success. This represents the unique number of users getting value from the stage; all groups should be able to contribute to improving this number.
Individual groups track progress against a number of group-specific performance indicators All links are to the internal handbook:
Group | Dashboard URL |
---|---|
Import | MAU importing |
Integrations | GMAU - MAU for Jira and Slack Integrations |
Personal productivity | Percentage views on New Nav vs. Old Nav |
Manage operates under GitLab's values, but is a stage that seeks to particularly excel in certain areas that support our goals above. We seek to be leaders at GitLab by:
GitLab's design system called Pajamas. Used internally to power GitLab in order to improve user interface consistency and accessibility.
The Foundations stage has several features that enable users to quickly get started with using GitLab. These features are available in Core and are Free. However, as we move into specific use-cases for Enterprise customers that need to manage their GitLab organization at scale, features will be introduced into paid tiers as well and are intended to drive company-level financial goals.
Full list of features by tier under Foundations stage are here
There are a number of other issues that we've identified as being interesting that we are potentially thinking about, but do not currently have planned by setting a milestone for delivery. Some are good ideas we want to do, but don't yet know when; some we may never get around to, some may be replaced by another idea, and some are just waiting for that right spark of inspiration to turn them into something special.
Remember that at GitLab, everyone can contribute! This is one of our fundamental values and something we truly believe in, so if you have feedback on any of these items you're more than welcome to jump into the discussion. Our vision and product are truly something we build together!
Member
API entity to take actual Member
objects instead of User
PATH_REGEX_STR
OmniauthCallbacksController
with controller tests.js-
prefix css class in scssvalidator
functions@user
in authenticates_with_two_factor.rb and devise/sessions/two_factor.html.haml
set_remember_me
approaches for LDAP and OAuthallow_local_requests_from_hooks_and_services
to be set via APImessage
prop out of callout
component.common.scss
clipboard_button.vue
does not seem to work properly with any vue modalgl-loading-icon
from numeric to string sizerem
instead of px
Auto DevOps pipeline is enabled
messagetitle
for screenreadersgitlab_ui_checkbox_component
in app/views/shared/namespaces/cascading_settings/_enforcement_checkbox.html.haml
gitlab_ui_checkbox_component
in ee/app/views/groups/saml_providers/_form.html.haml
gitlab_ui_checkbox_component
in ee/app/views/groups/settings/_delayed_project_removal.html.haml
user_select
component to be more configurableEdit
GlTableLite
subscribed
argument to GraphQL querytype
field to GraphQL querysubscribed
field to GrahpQL querydb_key_base
ee/app/views/shared/promotions/_promote_group_webhooks.html.haml
to the one compatible with GlEmptyState
ee/app/views/shared/promotions/_promote_audit_events.html.haml
to the one compatible with GlEmptyState
label
and help_text
arguments and refactor how slots workapp/views/admin/application_settings/appearances/_form.html.haml
to use Layouts::HorizontalSectionComponent
app/views/admin/application_settings/appearances/_system_header_footer_form.html.haml
to use Layouts::HorizontalSectionComponent
app/views/admin/hooks/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/admin/users/_access_levels.html.haml
to use Layouts::HorizontalSectionComponent
app/views/admin/users/_admin_notes.html.haml
to use Layouts::HorizontalSectionComponent
app/views/admin/users/_form.html.haml
to use Layouts::HorizontalSectionComponent
app/views/groups/settings/access_tokens/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/audit_log.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/show.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/accounts/show.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/active_sessions/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/chat_names/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/emails/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/gpg_keys/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/keys/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/notifications/show.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/passwords/edit.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/personal_access_tokens/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/preferences/show.html.haml
to use Layouts::HorizontalSectionComponent
app/views/profiles/two_factor_auths/show.html.haml
to use Layouts::HorizontalSectionComponent
app/views/projects/hooks/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/projects/settings/access_tokens/index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/shared/doorkeeper/applications/_index.html.haml
to use Layouts::HorizontalSectionComponent
app/views/shared/file_hooks/_index.html.haml
to use Layouts::HorizontalSectionComponent
ee/app/views/admin/users/_limits.html.haml
to use Layouts::HorizontalSectionComponent
ee/app/views/admin/users/_namespace_plan_fieldset.html.haml
to use Layouts::HorizontalSectionComponent
Layouts::HorizontalSectionComponent
ViewComponentwrapper = null
from Vue component testsmaster
, only if needed.gitlab-rake gitlab:check
should check for noexec mounted /var/opt/gitlab/gitaly/run/createAlert
usage in app/assets/javascripts/admin/users/components/users_table.vuecreateAlert
usage in app/assets/javascripts/batch_comments/stores/modules/batch_comments/actions.jscreateAlert
usage in app/assets/javascripts/ci_variable_list/components/ci_admin_variables.vuecreateAlert
usage in app/assets/javascripts/ci_variable_list/components/ci_project_variables.vuecreateAlert
usage in app/assets/javascripts/design_management/utils/cache_update.jscreateAlert
usage in app/assets/javascripts/filtered_search/dropdown_ajax_filter.jscreateAlert
usage in app/assets/javascripts/filtered_search/dropdown_non_user.jscreateAlert
usage in app/assets/javascripts/groups/settings/components/access_dropdown.vuecreateAlert
usage in app/assets/javascripts/import_entities/import_groups/services/status_poller.jscreateAlert
usage in app/assets/javascripts/issues/issue.jscreateAlert
usage in app/assets/javascripts/issues/show/components/description.vuecreateAlert
usage in app/assets/javascripts/merge_request_tabs.jscreateAlert
usage in app/assets/javascripts/monitoring/stores/actions.jscreateAlert
usage in app/assets/javascripts/notes/mixins/resolvable.jscreateAlert
usage in app/assets/javascripts/pages/projects/forks/new/components/project_namespace.vuecreateAlert
usage in app/assets/javascripts/pages/users/activity_calendar.jscreateAlert
usage in app/assets/javascripts/pipelines/components/pipelines_list/pipelines.vuecreateAlert
usage in app/assets/javascripts/projects/settings/repository/branch_rules/app.vuecreateAlert
usage in app/assets/javascripts/related_issues/components/related_issues_root.vuecreateAlert
usage in app/assets/javascripts/releases/stores/modules/edit_new/actions.jscreateAlert
usage in app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vuecreateAlert
usage in app/assets/javascripts/snippets/components/edit.vuecreateAlert
usage in app/assets/javascripts/vue_shared/components/markdown/field.vuebranches_to_be_notified: protected
behaviour with a protected default branch UltimatecreateAlert
to handle multiple alertsNumpadEnter
in the new dropdownMergeChecksApp
Vue component in app/views/projects/_merge_request_pipelines_and_threads_options.html.haml
?raw
and remove usage of v-safe-html to render imagesdisplay
field to standalone
to support full screen app like experience on mobile devicesredirect_to
wrongly shows "notice" alertsallowedlisted?
from Utils to Gitlab::PathTraversal
gitlab-sidekiq-cluster
from root/sidekiq_cluster
codegitlab-metrics_server
from root/metrics_server
codeswagger-ui-dist
with swagger-ui
npm packagedisallowVueBuiltInComponents
/disallowVue3BuiltInComponents
in eslintbreadcrumb-class-haml
in app/views/projects/artifacts/_file_navigation.html.haml
breadcrumb-class-haml
in app/views/projects/artifacts/browse.html.haml
breadcrumb-class-haml
in app/views/projects/blob/_breadcrumb.html.haml
breadcrumb-class-haml
in app/views/projects/commits/show.html.haml
breadcrumb-class-haml
in app/views/projects/graphs/charts.html.haml
breadcrumb-class-haml
in app/views/users/_overview.html.haml
breadcrumb-class-haml
in app/views/projects/find_file/show.html.haml
bootstrap-dropdown-toggle-haml
in app/views/layouts/header/_super_sidebar_logged_out.haml
ref-container
CSS class live?button-class
in app/assets/javascripts/behaviors/copy_code.js
data-testid
from the GlCollapsibleListobx instead of a qa-selector
in jira_issue_creation_vulnerabilities.vuework-item-dropdown
custom stylesGET /api/:version/project/:project_id_or_path/*
protected_environments
with deploy_access_levels
is expected to eq 1alert-iconless-vue
in app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_content.vue
search-input-vue
in app/assets/javascripts/issues/show/components/fields/description_template.vue
table-tag-vue
in app/assets/javascripts/vue_merge_request_widget/components/artifacts_list.vue
table-tag-vue
in ee/app/assets/javascripts/vue_merge_request_widget/components/approvals/approvals_list.vue
form-textarea-native-vue
in app/assets/javascripts/vue_merge_request_widget/components/states/commit_edit.vue
form-textarea-native-vue
in app/assets/javascripts/merge_conflicts/merge_conflict_resolver_app.vue
js-toggle-lazy-diff
GlKeysetPagination
in app/assets/javascripts/analytics/cycle_analytics/components/stage_table.vue
GlKeysetPagination
in app/assets/javascripts/ci/artifacts/components/job_artifacts_table.vue
GlKeysetPagination
in app/assets/javascripts/ci/pipeline_schedules/components/pipeline_schedules.vue
GlKeysetPagination
in app/assets/javascripts/clusters_list/components/agent_table.vue
GlKeysetPagination
in app/assets/javascripts/diffs/components/app.vue
GlKeysetPagination
in app/assets/javascripts/error_tracking/components/error_tracking_list.vue
GlKeysetPagination
in app/assets/javascripts/organizations/activity/components/app.vue
GlKeysetPagination
in app/assets/javascripts/vue_shared/components/paginated_table_with_search_and_tabs/paginated_table_with_search_and_tabs.vue
GlKeysetPagination
in ee/app/assets/javascripts/analytics/merge_request_analytics/components/throughput_table.vue
GlKeysetPagination
in ee/app/assets/javascripts/audit_events/components/audit_events_table.vue
GlKeysetPagination
in ee/app/assets/javascripts/iterations/components/iteration_report_issues.vue
GlKeysetPagination
in ee/app/assets/javascripts/security_dashboard/components/pipeline/security_dashboard_table.vue
integrations
tablesAccessDeniedError
in GraphQL consistently!
as a delimiter to search and insert MR references into Duo chatlast_pipeline
with wrong ref
embeddings
database config from GitLab/CNG/Omnibusself
token_idactivity_stream_graphql
waitForFinalTick
helper, or similarrubocop:docs
rake task components to their own classdeploy
phases are reported to JIRAmasked_and_hidden=false
is created as masked and hiddenProject visibility
icon to breadcrumbscomment_on_event_enabled: false
not recognized when using API endpoint /api/v4/groups/$GROUP_ID/integrations/jira
push_events
enabled by default when using the API/merge_requests
API endpointapproval_required
and review_submitted
todo action types~/vue_merge_request_widget/components/widget/action_buttons.vue
rendering of tertiary buttonsX-GitLab-NotificationReason
email header (and email footer)gitlab-rake gitlab:env:info
output/admin
interface.gl-spinner
class from gitlab in favor of gitlab-ui.gl-force-block-formatting-context
utility class to gitlab-ui
watch:
of settings_panel.vueJiraConnect::Client#send_info
method?at_least_one_of
with a catch-all method of ensuring at least 1 param is passed during a PUTautoprefixer-rails
gem with direct use of autoprefixer
npm dependencythrottle_unauthenticated_*
columns in application settingsapp/views/layouts/nav/breadcrumbs/_breadcrumbs.html.haml
to GlBreadcrumb
labels_select_vue
in jira_issues_sidebar_root
color
parameter in Broadcast Message API documentationdev_info
request in Jira integration~/vue_shared/components/user_select/user_select.vue
to use GlListboxgitlab_for_jira_app_saas_active
and gitlab_for_jira_app_self_managed_active
metrics to track usage of GitLab for Jira App - Part 2Project.integrations
GraphQL fieldYour Work
should also have an Authored
option?raw
for legacy importsLocked Files
into the Repository PageBatchLoader
documentationapp/assets/javascripts/notes/components/discussion_filter.vue
disclosure to the listbox componentReview Requests
page as the startpagebutton-class-vue
in app/assets/javascripts/awards_handler.js
enabled
lookupscmd+k
as a shortcut to open command palette in command modegitlab_email_reply_to
setting to first email addressapp/assets/javascripts/whats_new/index.js
vm-access
in ee/spec/frontend/diffs/components/inline_findings_gutter_icon_dropdown_spec.js
updated_at
instead of callbackscrud_component.vue
use_inherited_setting
to true Premiumrepo:
option Premiumoutline: 0;
for accessibility violationselasticsearch_work_item_embedding
Watch
events to include all eventscurrent_application_settings
when reading settingsGitlab::CurrentSettings
to AppConfig::Settings
webkit-prefix
from SCSS filesspinner-deprecated
Mixinonly one notification per review
option to Matrix Integrationpick_from_old_menus
and transform_old_menus
logicactivity
field into a resolver class in app/graphql/types/current_user_type.rb
Last Updated: 2024-01-03