Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2021-05-21 15:10:51 +00:00
parent 5af83f0772
commit 42d323de78
665 changed files with 1810 additions and 4060 deletions

View File

@ -21,7 +21,7 @@
/doc/administration/redis/ @axil
/doc/administration/reference_architectures/ @axil
/doc/administration/snippets/ @aqualls
/doc/administration/troubleshooting @axil @marcia
/doc/administration/troubleshooting @axil @marcia @eread
/doc/api/group_activity_analytics.md @msedlakjakubowski
/doc/ci/ @marcel.amirault @sselhorn
/doc/ci/environments/ @axil
@ -33,7 +33,7 @@
/doc/development/value_stream_analytics.md @msedlakjakubowski
/doc/gitlab-basics/ @marcia
/doc/install/ @axil
/doc/integration/ @aqualls
/doc/integration/ @aqualls @eread
/doc/operations/ @ngaskill @axil
/doc/push_rules/ @aqualls
/doc/ssh/ @eread
@ -44,7 +44,7 @@
/doc/user/analytics/ @msedlakjakubowski @ngaskill
/doc/user/application_security @rdickenson
/doc/user/clusters/ @marcia
/doc/user/compliance/ @rdickenson
/doc/user/compliance/ @rdickenson @eread
/doc/user/group/ @msedlakjakubowski
/doc/user/group/bulk_editing/ @msedlakjakubowski
/doc/user/group/devops_adoption/ @msedlakjakubowski
@ -55,7 +55,7 @@
/doc/user/group/value_stream_analytics/ @msedlakjakubowski
/doc/user/infrastructure/ @marcia
/doc/user/packages/ @ngaskill
/doc/user/profile/ @msedlakjakubowski
/doc/user/profile/ @msedlakjakubowski @eread
/doc/user/project/ @aqualls @axil @eread @msedlakjakubowski @ngaskill
/doc/user/project/clusters/ @ngaskill
/doc/user/project/import/ @ngaskill @msedlakjakubowski
@ -66,7 +66,7 @@
/doc/user/project/milestones/ @msedlakjakubowski
/doc/user/project/pages/ @axil
/doc/user/project/repository/ @aqualls
/doc/user/project/settings/ @aqualls
/doc/user/project/settings/ @aqualls @eread
/doc/user/project/static_site_editor/index.md @aqualls
/doc/user/project/web_ide/index.md @aqualls
/doc/user/project/wiki/index.md @aqualls

View File

@ -2681,7 +2681,6 @@ Performance/OpenStruct:
- 'ee/lib/gitlab/graphql/aggregations/epics/epic_node.rb'
- 'lib/api/wikis.rb'
- 'lib/gitlab/ci/ansi2html.rb'
- 'lib/gitlab/ci/reports/test_suite_comparer.rb'
- 'lib/gitlab/git/diff_collection.rb'
- 'lib/gitlab/import_export/after_export_strategies/base_after_export_strategy.rb'
- 'lib/gitlab/testing/request_inspector_middleware.rb'

View File

@ -2,6 +2,603 @@
documentation](doc/development/changelog.md) for instructions on adding your own
entry.
## 13.12.0 (2021-05-22)
### Security (3 changes)
- Prevent DOS from Chaining in Mermaid. !60382
- Report pipeline creation success only when warranted. !60746
- Fix XSS vulnerability in shared runner description. !60891
### Removed (10 changes, 2 of them are from the community)
- Delete feature flag for usage_data_a_compliance_audit_events_api. !52947
- Remove feature flag api_always_use_application_json. !56777
- Remove unneeded index on packages_debian_{project,group}_architectures.distribution_id. !59615 (Mathieu Parent)
- Delete HipChat service database records. !59769
- Set Hipchat metric definitions status to removed. !59779
- Remove Legacy Group-Level DORA metrics API. !59858
- Remove Alerts service metric. !60149
- Remove description_html field from Release Rest API. !61327
- Removes multiple_cache_per_job feature flag and associated code. (Laura Montemayor)
- Remove support for WIP in merge request title toggle.
### Fixed (108 changes, 32 of them are from the community)
- Add warning when locally stored description is out of date. !29438
- Disable unsupported task items in Markdown tables. !46060
- Flush statistics cache anytime it is updated. !52938
- Return an HTML response for a request with the Accept */* header. !56288
- Resolve offense Performance/Count. !57007 (Shubham Kumar (@imskr))
- Don't show due dates in red if the issue is closed. !57647 (Daniel Ziegenberg <daniel@ziegenberg.at>)
- Fix Rails/SaveBang Rubocop offenses for wiki_page models. !57899 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix Rails/SaveBang rubocop offenses in spec/frontend. !57909 (Abdul Wadood @abdulwd)
- Fix Rails/SaveBang rubocop offenses in spec/graphql. !57912 (Abdul Wadood @abdulwd)
- Resolve RuboCop offenses for Style/RedundantRegexpCharacterClass. !57914 (Shubham Kumar @imskr)
- Fixes rubocop offenses Style/RescueStandardError. !57923 (Shubham Kumar (@imskr))
- Resolves rubocop offense Style/RedundantFileExtensionInRequire. !57963 (Shubham Kumar (@imskr))
- Fix Rails/SaveBang Rubocop offenses for project related models. !57983 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix Rails/SaveBang Rubocop offenses for member models. !57994 (Huzaifa Iftikhar @huzaifaiftikhar)
- Resolves offenses Style/RaiseArgs. !58009 (Shubham Kumar @imskr)
- Resolves offenses Style/RedundantBegin. !58017 (Shubham Kumar (@imskr))
- Resolves offenses Security/YAMLLoad. !58042 (Shubham Kumar (@imskr))
- Resolves rubocop offenses Rails/WhereEquals. !58067 (Shubham Kumar (@imskr))
- Fix EmptyLineAfterFinalLetItBe offenses for merge request module. !58185 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe Rubocop offenses for projects module. !58187 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses for alert management module. !58191 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/graphql/resolvers. !58239 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/lib/gitlab/ci. !58249 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/lib/gitlab/database. !58251 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/lib/gitlab/git. !58254 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/lib/gitlab/repository. !58308 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/models/packages. !58370 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/models/releases. !58384 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/models/wiki_page. !58388 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/presenters. !58405 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/services/ci. !58411 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix EmptyLineAfterFinalLetItBe offenses in spec/services/feature_flags. !58419 (Huzaifa Iftikhar @huzaifaiftikhar)
- Fix RSpec/EmptyLineAfterFinalLetItBe rubocop offenses in spec/workers. !58421 (Abdul Wadood @abdulwd)
- Prevent loss of timelogs when deleting notes. !58525 (Lee Tickett @leetickett)
- Fix multiline comment dragging in Firefox. !58692
- Update cached count for "done" todos when deleting todo targets. !58773
- Fix light label text color in dark mode. !59088
- Fix false positive for codequality mr diff report. !59421
- Fix for shell announcement banners. !59482
- Reschedule background migration to copy projects.container_registry_enabled to project_features.container_registry_access_level. !59513
- Fix images not showing in Jupyter Markdown tables. !59551
- Fix paginator of Environment Serializer. !59751
- Add generic avatar method for users and groups. !59758
- Set Web hook defaults to intended default values. !59814
- Fix restrictive permissions for ProjectMembers who are owners. !59844
- Users search: fix avatar size. !59883
- Fix cascading settings attr writer behavior. !59910
- Set a default region to Workhorse S3 client. !59932
- Fix invite banner display member count for subgroups page. !59948
- Fix LFS push mirroring for mirrors set up a long time ago. !59972
- Fix pipeline status when DAG jobs needs manual jobs. !59975
- Fix tag matching behavior on New Release page. !60035
- Fix bug that prevented searching for group/project members with multiple words. !60051
- Fix link to subgroup OAuth application. !60066
- Explicitly destroy webhooks and logs before the project deletion. !60122
- Upgrade omniauth_openid_connect gem to our own fork. !60181
- Fix bug when board card label is clicked. !60327
- Align help icon for code quality merge request widget. !60330
- Fast destroy job artifacts when destroying a pipeline. !60391
- Ensure we never error in web hook logs. !60408
- Fix bug where test report was not showing while pipeline was running. !60416
- Do not set experiment cookie on self managed and delete existing cookies. !60419
- Fix regression in GraphQL field MergeRequest.assignees.webUrl. !60428
- Fix usage ping misreporting consolidated object storage settings. !60526
- Fixes bug where variables are being filtered that do not have a value but a key. !60538
- Fix MR sidebar rendering on mobile. !60552
- Fix EnvironmentSerializer preloads unrelated pipelines/builds. !60562
- Don't email issue email participants confidential comments. !60594 (Lee Tickett @leetickett)
- Resolve Cannot Set Assignee in Boards View for self-managed GitLab with Relative URL. !60711
- Check duplicate package regex against version as well as name. !60760
- Fix Openshift template to run on main branch. !60811
- Fix downloadable artifacts for pipeline. !60836
- Fix SMTP errors when delivering service desk thank you emails with SMTP pool enabled. !60843
- Fix changelog Dangerfile to convert MR IID to a string before comparison. !60899
- Fix due date being randomly set in issue page. !60917
- Disable autocomplete for due date in issue sidebar to prevent triggering updates on Chrome. !60973
- Remove subscribed field from todos, related issues, and epic issues API. !60981
- Fixed quick actions link not showing in diff line comment forms. !61029
- Fixes merge request controls not visible when merge request has single commit. !61030
- Fixed preview review comment not working with single file diff mode. !61032
- Fixed dollar signs in suggestions getting replaced incorrectly. !61041
- Fix artifacts dropdown for merge request and commits pipelines tables. !61045
- Remove hyphen from Cloudrail CI template name. !61079
- Bust the cache for /whats-new. !61081
- Fix commit messages text color in dark mode. !61082
- Suppress all non-nullable field errors for assignee widget graphql queries to remove assignee fetching error messages in boards. !61091
- Correct the 'blocked' scope in 'Member' class. !61108
- Preserve user changes in the wiki editor if multiple people edit the page. !61120
- Fix multiple assignees checked in boards sidebar. !61227
- Fix incorrect issue and merge requests counts with filters. !61230
- Fix slack label filter behavior blank. !61236
- GithubImport: Fix Review importer when the author does not exist anymore. !61257
- Restrict issue creation via API by relevant permissions. !61281
- Merge Request API: Treat 0 as a non-assigning sentinel value. !61301
- Remove extra padding and margin from merge request widget review app dropdown chevron. !61302
- Fix a bug displaying project commit anchors. !61361
- Reset Source Editor's layout after Startup CSS. !61426
- GithubImporter: Fix "ArgumentError: string contains null byte". !61480
- Use correct scope when authorizing with Jira GitHub DVCS connector. !61496
- Fix user popover bio overflow. !61555
- Hide commit msg for package files without pipeline. !61571
- Fix position of note actions. !61594
- Inject Feature Flags Limit Value. !61621
- Fix services API returning non-existing services. !61646
- Fix Jira Connect sign in button style. !61665
- Filter out unconnected-to-user members from receiving on access request emails. !61819
- Fixed Rails Save Bang offenses in few spec/models/* files. !61862 (Suraj Tripathi @surajtripathy07)
- Fix issuable search optimization in PG12. !61880
### Deprecated (4 changes, 1 of them is from the community)
- Deprecate Alerts service metric. !59899
- Add Managed Prometheus deprecation warning. !60560
- Deprecate SetWip GraphQL mutation and add SetDraft mutation. !60803
- Add GraphQL field 'Project.topics' and deprecate 'Project.tag_list'. !61250 (Jonas Wälter @wwwjon)
### Changed (145 changes, 52 of them are from the community)
- Update admin users to use GitLab UI table by default. !54085
- Remove artifact expiry backfill temp index. !54252
- Enable the new pipeline form by default. !55250
- Add migration to update plans on new post-EoA subscriptions. !55625
- Add support for retries to Advanced Search reindexing. !55681
- Add missing parts of GraphQL schema to GraphQL documentation. !55944
- Update Keyboard shortcut help: adding search, update styling. !56400
- Redirect to activity page when accepting invitation. !56695
- Add external documentation references in GraphQL. !56704
- Send in-product marketing email usage data. !56752
- Enable new RPC to destroy wiki pages. !57106
- Always resolve GitLab alerts when recovery alert payload is received. !57302
- Add gl-badge for badges in pipeline schedules nav. !57937 (Yogi (@yo))
- Add gl-badge for badges in jobs page nav. !57938 (Yogi (@yo))
- Add gl-badge class for tag's badge. !57939 (Yogi (@yo))
- Add gl-badge for badges in MRs and issues nav. !57942 (Yogi (@yo))
- Add gl-badge for badges in todos nav. !57943 (Yogi (@yo))
- Add gl-badge for badges in admin users nav. !57951 (Yogi (@yo))
- Add gl-badge for storage badge in admin groups page. !57954 (Yogi (@yo))
- Add gl-badge for badges in milestone drawer. !57964 (Yogi (@yo))
- Add gl-badge for badges in snippets nav. !57966 (Yogi (@yo))
- Add gl-badge for badges in pipeline page nav. !57970 (Yogi (@yo))
- Add gl-badge for badges in project search page nav. !57971 (Yogi (@yo))
- Add gl-badge for badges in new MR nav. !57995 (Yogi (@yo))
- Apply gl-form-input for fields in ssh keys page. !58000 (Yogi (@yo))
- Apply gl-form-input for fields in preferences page. !58004 (Yogi (@yo))
- Apply gl-form-input for search field in milestone page. !58007 (Yogi (@yo))
- Apply gl-form-input for fields in new project milestone page. !58010 (Yogi (@yo))
- Move to btn-confirm from btn-success in emails directory. !58029 (Yogi (@yo))
- Move badge to vue component in project badges. !58045 (Yogi (@yo))
- Switch to gl-badge in whats new dropdown. !58235 (Yogi (@yo))
- Add gl-form-input class for fields in create project page. !58299 (Yogi (@yo))
- Move to btn-confirm from btn-success in create from template page. !58303 (Yogi (@yo))
- Add gl-form-input class for fields in gitlab import page. !58304 (Yogi (@yo))
- Add gl-form-input class for fields in bitbucket import page. !58309 (Yogi (@yo))
- Add gl-form-input class for fields in fogbugz import page. !58312 (Yogi (@yo))
- Add gl-form-input class for fields in gitea import page. !58313 (Yogi (@yo))
- Add gl-form-input class for fields in import page. !58316 (Yogi (@yo))
- Add gl-form-input class for fields in phabricator import page. !58318 (Yogi (@yo))
- Change text for incident auto-resolve setting to match behavior. !58515
- Move license history to gl-table utility class. !58531 (Yogi (@yo))
- Add margin top for clear repo check button in admin. !58536 (Yogi (@yo))
- Add more padding for whats new badge in drawer. !58544 (Yogi (@yo))
- Add pause_ms column to batched_background_migrations and batched_background_migration_jobs. !58583
- Geo: Add verification for Terraform States. !58800
- Disable automatic setup of alerts for Prometheus cluster integration. !58853
- Improve message for :project_not_found error to indicate possible cause. !58945 (Ignacy Moryc @ignacy)
- Rename 'no contributions' to 'No contributions' in profile activity graph helper. !59076 (Yogi (@yo))
- Center align project home navigation. !59079 (Yogi (@yo))
- Move to new GitLab UI for card in health check page. !59081 (Yogi (@yo))
- Update to question-o and change color in admin users. !59133 (Yogi (@yo))
- Update to question-o from question icon in navbar. !59134 (Yogi (@yo))
- Update to question-o from question icon in user stats. !59135 (Yogi (@yo))
- Move card in billing page to gl-card utility class. !59138 (Yogi (@yo))
- LibreOffice/OpenOffice file extensions in icon map. !59159 (Holzfeind, Daniel Georg)
- Export issues sorted by relative position and recompute issue relative position on project import. !59175
- Move 2fa recovery codes to GlCard component. !59219 (Yogi (@yo))
- Add gl-form-input utility class for pin code field in 2fa. !59220 (Yogi (@yo))
- Replace invite banner button with modal trigger. !59260
- Resolve Abstract participants dropdown to a shared component. !59358
- Make new project ui the only option. !59452
- Add space next to spinner in Preview payload button. !59458 (Yogi (@yo))
- Add btn-default class in seat link payload button. !59459 (Yogi (@yo))
- Add VulnerabiltyFindingEvidenceRequest model. !59539
- Add VulnerabiltyFindingEvidenceResponse model. !59563
- Add gl-badge utility class for deleted projects tab. !59590 (Yogi (@yo))
- Move npm and yarn to new dropdown UI. !59628
- Change artifacts download button to a vertical ellipsis menu. !59667
- Correct variant of Rebase button in MR widget. !59684
- Improve merge message UI text. !59693
- Use GlModal for Confirmation of Deploy Key Delete. !59697
- Add ability to order cluster token by last used. !59716
- Make new issue, merge request, and epic emails more consistent. !59718
- Add merge request interaction details to MergeRequest.assignees. !59770
- Expose enable_advanced_logs_querying in Environments API. !59772
- Increase note actions target size. !59776
- Redesign the DevOps Score report. !59856
- Bumped image in the CI-Template Jobs/Build.gitlab-ci.yml to 0.6.0. !59882 (Daniel Estermann (@d.esterman))
- Expose job and project queued duration in all APIs. !59901
- Include installable and/or displayable packages only in package finders. !59921
- Log exceptions in Lfs::PushService. !59960
- Container Registry Details: split details from tags call. !59969
- Add ability to include self in cascading setting lock check. !60031
- Remove workhorse_extract_filename_base feature flag. !60070
- Support worker_name predicate in Sidekiq queue selector. !60084
- Add Gradle Kotlin installations commands. !60097 (Cromefire_ (@cromefire_))
- Fix breadcrumbs and navigation in runner details pages. !60129
- Improve dropdown and search in the tags page. !60145
- Clarify image repository delete actions. !60154
- Update RubyGems and NuGet packages to error status upon metadata extraction failure. !60172
- Pre-fill user email address after confirming. !60179
- Retain timelog spent_at time. !60191 (Lee Tickett @leetickett)
- Update button variants to btn-confirm on MR page. !60254
- Rename default branch for empty project actions. !60258
- Remove visualization feature flag in pipeline editor. !60273
- Reorder source_project_id foreign key constraint in merge_requests table. !60313
- Update edit file buttons and spacing. !60318
- Keep consistent Global Search tab order. !60319
- Toggle subscribed state when clicking on icon in collapsed sidebar. !60345
- Add a Spamcheck API key application setting. !60385 (jdsalaro)
- Change product-marketing-email sending schedule. !60422
- Fix copy on webhook admin pages for "Issues events" and "Confidential issues events". !60453
- This change captures resizes of the runner installation instructions modal to make it usable on screens. !60588
- Create table user_credit_card_validations. !60626
- Update error tracking settings to use better copy and correct colors. !60627
- Add sha256 to package file API payload. !60631
- Github Importer: Add Cache to Pull Request Reviews importer. !60668
- Add username and password fields for Advanced Search. !60710
- Migrate DevOps Score empty state to Vue. !60715
- Adds field authorization to pipeline fields. !60754
- Change conan token expiration from 1 hour to 24 hours. !60763
- Remove mobsf service for mobsf SAST job. !60770
- Polish the "What's new" UI. !60804 (Kev @KevSlashNull)
- Disable web-hooks that fail repeatedly. !60837
- Add slack integration individual usage ping. !60847
- Extend branch support for Static Site Editor. !60848
- Store slice multiplier and max slices running for reindex in DB. !60861
- Keep new prometheus cluster integration in sync with old cluster application. !60877
- Validate release description length. !60892
- i18n: Show translation levels for each language in the UI. !60905
- Add kubernetes_agent_proxy_request to usage ping. !60978
- Validate CI pipeline jobs dependencies. !60999
- Update appearance of "Enable shared runners for this project" toggle in Project > Settings > CI/CD. !61043
- Add offset and limit to branch names resolver. !61061
- Require 3 or more characters in search term when searching groups in Jira Connect app. !61099
- Enforce .git suffix when importing git repo. !61115
- Improve field descriptions in the Jira integration form. !61205
- Migrate 'tags' to 'topics' for project in the database context. !61237 (Jonas Wälter @wwwjon)
- Rename master to main in views placeholders. !61252
- Make pipeline retry endpoint async. !61270
- Add relations export request when Bulk Import is initiated. !61365
- Fix :focus styles for What's New. !61398
- Add body to finding evidence requests. !61408
- Make semgrep generally available. !61412
- clicking backdrop closes modal for What's New. !61420
- Scroll to the top of a diff file when it is collapsed. !61432
- Wiki: Use FindAllCommits RPC to list page versions. !61459
- Allows masking ~ character. !61517 (Thomas Dallmair)
- Backfill clusters_integration_elastic_stack.enabled. !61521
- Update rails project template to rails 6.1. !61547
- Add body to finding evidence responses. !61631
- Support warning in pipeline creation by default. !61803
- Make find_remote_root_refs_inmemory feature flag enabled by default. !61824
- Add link to email notifying of MR changing draft status. !61891
- Remove success variant for primary button in upload file modal. (Yogi (@yo))
### Performance (63 changes, 1 of them is from the community)
- Make MergeService idempotent. !55368
- Speed up save on New/Edit Release page. !57000
- Cache path lookups for namespaces. !57027
- Cache project tag list. !57031
- Linear traversal query for Namespace#ancestors. !57137
- Set traversal_ids for every namespace. !57318
- Resolve admin_group_member group policy n+1. !58948
- Optimize AvailableLabelsService for multiple labels search. !59032
- Reduce number of SQL queries when creating SystemNotes. !59102
- Enable pagination in the CompareController. !59162
- Fix N+1 for commits with pipelines. !59234
- Improve diff_files endpoint performance. !59489
- Create the merge request pipeline asynchronously on push. !59624
- Optimize CI Settings page to reduce N+1 queries. !59625
- Linear traversal query for Namespace#descendants. !59632
- Remove unnecessary validation avoiding N+1 queries when building integrations. !59635
- Improve the packages finder helper SQL queries when handling deploy tokens. !59739
- Improve shifting of positions when creating issues. !59745
- Remove the longer_count_cache_validity_period feature flag. !59746
- Recreate index for deployments updated_at and finished_at. !59771
- Exclude build dependency calculation when creating the pipeline. !59810
- Improve pagination of users in the admin panel. !59884
- Prevent loading of cohorts data in the admin users list. !59890
- Avoid loading user objects when bulk updating todos. !59909
- Fix N+1 queries in namespace#any_project_has_container_registry_tags?. !59916
- Replace OpenStruct with Struct in project_level_stage_adapter.rb. !59956 (Amit Patel @amit.savani)
- Recalculate assigned open issues count after cache invalidation. !59961
- Improve performance of LFS integrity checks. !59991
- Add new service to handle add_spent_time to MRs. !60043
- Stop exposing artifacts on pipelines.json. !60126
- Improve the Maven API file endpoints response time when a non existing package is requested. !60142
- Fix three N+1s in Releases API entity generation. !60189
- Remove string duplication in BlobStitcher. !60406
- Delete all label links asynchronously when issuable gets destroyed. !60487
- Fix releases API N+1 in sorted_links usage. !60561
- Refactor notification recipients builder for watchers. !60572
- Remove N+1 query from Issue::Metrics#record. !60589
- Fix repeating SQL queries when changing labels for a resource. !60718
- Fine tune a few queries found in GroupMembers#index. !60857
- Fix N+1 problem in CustomEmojiFilter. !60910
- Create partial indexes for pending/running builds. !60942
- Stop exposing has_downloadable_artifacts in pipelines.json. !60950
- Improve performance of project issues API. !60981
- Include other cols in index for pending builds. !60997
- Remove unnecessary query from close_issue method. !61087
- Partial index optimization for namespaces id. !61098
- Decrease load time of project select dropdowns. !61117
- Apply rate-limiting to webhook executions. !61151
- Update grape-path-helpers to v1.6.3. !61196
- Improve the performance of Release LIST v4 API endpoint by short-interval caching. !61223
- Ensure iid is set before skipping ci pipeline. !61231
- Stop exposing artifacts in pipelines.json. !61253
- Ensure project iid is set before saving pipeline from web terminal. !61311
- Sync traversal path of namespaces. !61329
- Enable notification settings recipient refactor by default. !61443
- Tie-breaker in Deployment Finder should respect the original sort direction. !61444
- Improve memory consumption of issuable APIs. !61561
- Fix environment filter of Deployments Finder. !61564
- Optimize merge request permission check for references. !61591
- Introduced granular control to Monaco tag. !61690
- Apply rate-limit cache to branches endpoint. !61723
- Enforce updated_at ordering in Deployment API for performance optimization. !61870
- Resolve Remove `subscribed` from GraphQL boards list query. !61881
### Added (114 changes, 16 of them are from the community)
- Commit author for suggestions is note author. !39940
- Report summarized Gitaly Apdex via usage ping. !47040
- Allow disabling build stage for Auto Devops. !48638 (Shane Davidson @shanekdavidson)
- Allow access to registry API of the current project using the job token. !49750 (Mathieu Parent)
- Integrate with the Spamcheck anti-spam engine. !52385
- Add generating Speedscope flamegraphs for a request. !53288
- Add collapsible section shortcut to markdown controls. !54938
- Add Terraform Module Registry. !55018
- Clear group open issues count cache when bulk updating issues state. !56386
- Add options for Slack and Mattermost label filter behavior. !56657
- Create packages_helm_file_metadata table. !57017 (Mathieu Parent)
- Add "previously merged commits" dropdown in merge request compare dropdown. !57026
- Add specific rate limits for Package Registry (Package API). !57029 (Jonas Wälter @wwwjon)
- Expose merge request timelogs via GraphQL. !57322 (Lee Tickett @leetickett)
- Automate deactivation of dormant users for self-managed instances. !57778
- Add indexes for cleanup policies on container_repositories and container_expiration_policies. !58123
- Add CI runner counts to usage ping. !58197
- Add snoplow tracking to Releases API. !58221
- Add ConfigureSecretDetection graphql mutation. !58230
- Adds access token endpoints to OpenAPI. !58620 (jimcser)
- Add sorting for group and project packages type. !58657
- Add more fields to the GraphQL blob type. !58906
- Add commmit_pipeline_path to CreateCommit mutation. !58931
- Add cascading namespace setting database migration helper. !58940
- Add application setting for What's new. !59011 (Jonas Wälter @wwwjon)
- Create "projects/import-remote" to import a project using a remote object storage to fetch the exported project
. !59033
- Add support to destroy iteration cadences in GraphQL. !59060
- Remove feature flag from invite members banner. !59203
- Send email to oncall rotation participants and project owners when user is removed. !59331
- Improve errors reporting for board lists update. !59549
- Add autocomplete to milestone description. !59564 (Jonas Wälter @wwwjon)
- Add "active" filter to deploy tokens API. !59582 (Devin Christensen)
- Implement Sidekiq queue re-routing in the application. !59604
- Added type field into Issues API. !59648 (Raimund Hook @stingrayza)
- Expose KAS metadata through GraphQL - enabled, version and externalUrl. !59696
- Support board issue filtering by iids in GraphQL. !59703
- Add note about SSH key title being public information. !59726
- Add missing data to CiJob type. !59805
- Add link to documentation in empty pipeline test reports. !59812
- Add table to store Security Orchestration Policy Schedules. !59842
- Add code owners metric to DevOps adoption page. !59874
- Search projects by topic via API. !59900
- Remove pages_serve_with_zip_file_protocol feature flag. !59908
- Implement variables for pipeline workflow rules. !59970
- Add Group relations export models. !59976
- Add Group relations export API. !59978
- Added tracking to diff view settings. !59979
- Remove pages_update_legacy_storage feature flag. !60005
- Remove pages_serve_from_legacy_storage feature flag. !60010
- Add project_id foreign key to timelogs. !60040 (Lee Tickett @leetickett)
- Lazy load artifacts on pipelines list page. !60058
- Create database table dast_site_profiles_pipelines. !60090
- Allow issueSetDueDate GraphQL mutation to accept null values. !60139
- Introduce limit to number of registered runners. !60157
- Add isuable time tracking report. !60161 (Lee Tickett @leetickett)
- Add internal API support for updating issue types on issues. !60173
- Allow merge request search via GraphQL. !60190 (Lee Tickett @leetickett)
- Add CI template field to project GraphQL type. !60276
- Keep latest pipeline artifact forever. !60400
- Expose user permissions on JobType. !60427
- Add description and roll_over columns to iterations_cadences. !60436
- Populate timelogs.project_id. !60439 (Lee Tickett @leetickett)
- Add Ci::Build graphql mutations. !60443
- Ensure highlighting limits are documented, configurable, and monitorable. !60445
- Add semgrep to SAST config UI. !60460
- Add ability to swap revisions when comparing. !60491
- Add status_changed_at to deployments webhooks. !60518
- Show a random predefined message while MR merging is in progress. !60521
- Add ability to view graph by job dependency. !60522
- Show Deploy Boards for Environments in Folders. !60525
- Allow frontend to observe Prometheus metrics. !60633
- Add setting to allow or disallow duplicates for generic packages. !60664
- Add Escalation policies and rule tables. !60685
- Add support for create, updating, and filtering issues based on issue type in REST API. !60687
- Improve logging in e-mail receiver processing. !60692
- Allow migrating scheduled and retried Sidekiq jobs to new queues. !60724
- Add support for creating/modifying different issue types via GraphQL API. !60747
- Add Maven to Package Graphql types. !60808
- Add API to set credit card validation timestamp for user. !60828
- Add asset links to release keyword. !60896
- Application setting for FloC participation (disabled by default). !60933
- Add API endpoint for deleting a package file. !60970
- Show total group counts in admin users table. !60998
- Package: group and project graphql types - add search. !61001
- Add missing status type and enum to package graphql type. !61002
- Expose blob plain data in GraphQL. !61016
- Lazy load artifacts dropdown in pipelines merge request widget. !61055
- Remove feature flag from upgrade link in user menu. !61057
- Show unit report attachments in the pipeline test report. !61075
- Add Elastic Stack cluster integration. !61077
- Implement bulk import for all groups on the page. !61097
- Add shared_visible_only option to project's groups API. !61118
- Add external status check responses. !61135
- Add more attributes to the blob GraphQL API. !61155
- Add complete field to indicate if a pipeline/job is complete. !61209 (Cong Chen @gentcys)
- Add stuck field to CiJob. !61247
- Add option to remove labels on issue close in the REST and GraphQL API. !61286
- Ban user state and UI. !61292
- Enable by default scheduled execution of batched background migrations. !61316
- Enable by default automatic optimization of batched background migrations. !61317
- Improve UX of the award emoji picker. !61384
- Add semgrep to Secure-Binaries and update support docs. !61411
- Add cron worker for cleaning up unit test tables. !61463
- Redirect to the last visited epic board. !61474
- Implement wildcard support for pipeline include file paths. !61507
- Add DS_EXCLUDED_ANALYZERS var to Dependency Scanning template. !61529
- Add fields to graphQL version type. !61567
- Add pipeline editor drawer for introduction to CI. !61620
- Add nuget metadata type to Package GraphQl type. !61695
- Add repository diskPath parameter to GraphQL API. !61725
- Upgrade Pages to v1.39.0. !61756
- Add 3 stage pipeline template. !61762
- Email users about SSH keys that are expired or expiring soon. !61812
- Observe limit to hours setting in timelog report. !61849 (Lee Tickett @leetickett)
### Other (122 changes, 38 of them are from the community)
- Enable Content-Security-Policy header by default. !56923
- Fix Rails/SaveBang Rubocop offenses for user related models. !57901 (Huzaifa Iftikhar @huzaifaiftikhar)
- Externalise strings in _abuse.html.haml. !57968 (nuwe1)
- Externalise Strings in /application_settings/_gitaly.html.haml. !57976 (nuwe1)
- Externalise strings in application_settings/_plantuml.html.haml. !58023 (nuwe1)
- Externalise strings in /application_settings/_prometheus.html.haml. !58030 (nuwe1)
- Externalize strings in /application_settings/_signin.html.haml. !58066 (nuwe1)
- Externalize strings in application_settings/_spam.html.haml. !58076 (nuwe1)
- Externalize strings in application_settings/_terminal.html.haml. !58081 (nuwe1)
- Eternalize strings in application_settings/_usage.html.haml. !58088 (nuwe1)
- Externalise strings in /admin/users/_form.html.haml. !58096 (nuwe1)
- Externalize strings in admin/users/_profile.html.haml. !58106 (nuwe1)
- Externalise strings in users/_projects.html.haml. !58110 (nuwe1)
- Externalise strings in users/edit.html.haml. !58117 (nuwe1)
- Externalize strings in users/projects.html.haml. !58122 (nuwe1)
- Externalize strings in /users/show.html.haml. !58126 (nuwe1)
- Externalize strings in appearances/_form.html.haml. !58135 (nuwe1)
- Externalise strings in appearances/preview_sign_in.html.haml. !58138 (nuwe1)
- Externalize strings in /background_jobs/show.html.haml. !58141 (nuwe1)
- Externalize strings in broadcast_messages/_form.html.haml. !58143 (nuwe1)
- Externalize strings in requests_profiles/index.html.haml. !58161 (nuwe1)
- Externalizes strings in runners/show.html.haml. !58166 (nuwe1)
- Externalises strings in spam_logs/index.html.haml. !58170 (nuwe1)
- Externalise strings in confirmations/new.html.haml. !58173 (nuwe1)
- Externalize strings in _confirmation_instructions_secondary.html.haml. !58216 (nuwe1)
- Externalize strings in reset_password_instructions.html.haml. !58224 (nuwe1)
- Externalise strings in reset_password_instructions.text.erb. !58226 (nuwe1)
- Externalize strings in unlock_instructions.text.erb. !58229 (nuwe1)
- Externalise strings in shared/_links.erb. !58278 (nuwe1)
- Externalize strings in milestones/_header_title.html.haml. !58300 (nuwe1)
- Externalize strings in milestones/new.html.haml. !58311 (nuwe1)
- Externalize strings in viewers/_changelog.html.haml. !58446 (nuwe1)
- Externalize strings in viewers/_contributing.html.haml. !58447 (nuwe1)
- Externalize strings in viewers/_download.html.haml. !58450 (nuwe1)
- Externalize strings in viewers/_license.html.haml. !58452 (nuwe1)
- Externalise-strings-in-viewers/_readme.html.haml. !58456 (nuwe1)
- Remove the global default branch feature flag. !59024
- Review and revise custom issue tracker UI text. !59277
- Add specs ensuring all metric definition key paths are present in Usage Ping structure. !59314
- Review and revise EWM integration UI text. !59386
- Review UI text and docs for Flowdock integration. !59388
- Align UI of Merge Conflicts app with our design system. !59400
- Prepare to convert PK type for ci_build_needs. !59467
- Upgrade Bootstrap to v4.5.3. !59501
- Review UI text and docs - Google Chat. !59518
- Make Sentry processors for GitLab-internal error tracking compatible with new version of Sentry gem. !59565
- Upgrades the final few bootstrap buttons. !59641
- Remove the enabled by default feature flag for maven group level improvements. !59748
- Initialize int8 migration for ci_job_artifacts. !59786
- Do not require invited users to confirm their email address. !59790
- Update GitLab Runner Helm Chart to 0.28.0. !59802
- Update Create:Code Review metrics definitions. !59816
- Update Metrics Definitions for Runner. !59824
- Add group_level? and instance_level? helpers to Service model. !59838 (Amit Patel @amit.savani)
- Update UI text for confluence integration. !59839
- Revise project access tokens UI text. !59878
- Remove usage_data_track_quickactions feature flag. !59914
- Update, organize, and improve analytics metrics definition files. !59926
- Add --ee option to Usage Metric Definition generator to fill correct tier and distribution. !59942
- Initialize conversion of ci_sources_pipelines.source_job_id to bigint. !59951
- Review and revise YouTrack integration UI text. !59998
- Review UI text for pipeline error messages. !60018
- Drop Vulnerabilities without backing Finding. !60023
- Remove feature flags from known events. !60053
- Update KaTeX integration to v0.13.0. !60071
- Update Bugzilla integration UI text. !60080
- Drop Jira proxy setting columns. !60123
- Add index to support execution time order for batched migration jobs. !60133
- Remove gldropdown_tags feature flag. !60153
- Update active branch icon in IDE to conform to the Pajamas design guide. !60168 (Andreas Resch @reschandreas)
- Add migration to swap partitioned web_hook_logs. !60184
- Update UI links to docs. !60247
- Add index to batched migration jobs status. !60248
- Initialize int8 migration for ci_builds. !60265
- Update GitLab Shell to v13.18.0. !60288
- Remove not_issuable_queries feature flag. !60321
- Remove optimized_timebox_queries feature flag. !60326
- Initialize conversion of ci_build_trace_chunks.build_id to bigint. !60346
- Add user availability status to status modal and settings. !60351
- Align UI text for CI integrations with each other. !60352
- Update 5 min app metric defintions. !60364
- Initialize conversion of ci_builds_runner_session.build_id to bigint. !60366
- Update instance_auto_devops_enabled metric team metadata. !60374
- Update AWS deploy templates metrics. !60377
- Remove graphql_release_data, graphql_milestone_stats, and graphql_releases_page feature flags. !60390
- Remove invite_members_version_b experiment. !60426
- Remove feature flag for pipeline status in pipeline editor. !60463
- Review and revise project integration descriptions. !60510
- Validate foreign key on GroupHooks. !60527
- Bump capybara gem version. !60532
- Remove unused :auto_create_cluster_management_project feature flag. !60550
- Refactor Webex Teams integration settings text. !60565
- Removed feature flag for Pipeline editor merged YAML tab. !60659
- Invalid invite tokens should redirect to the GitLab product. !60666
- Remove search_track_unique_users feature flag. !60706
- Prepare devops adoption database structure for migration. !60733
- Remove optimize_shifting_relative_positions feature flag. !60792
- updating hover state to match other pipeline graph buttons. !60801 (Matt Saddington @mattsaddo)
- Make RecalculateProjectAuthorizations background migration no-op. !60825
- Create database structure to support project value streams. !60925
- Remove invalidated CI Syntax Templates Experiment. !60937
- Update messages when user cannot directly push code to project. !61071
- Remove feature flags related with tracking using Redis HyperLogLog for code review events. !61078
- Merge branch 'mo-update-artifact-documentation' into 'master'. !61084
- Update projects approval rules Usage Data metrics. !61106
- Add issue tracker integrations help text. !61158
- Update checkbox styles in "Group" -> "Settings" -> "General" -> "Permissions, LFS, 2FA". !61294
- Update usage ping metrics for group configure. !61373
- Decrease space between invite and import members buttons to align with Pajamas spacing. !61396
- Update button styles, spacing, variants and responsive behavior for the Tags page. !61413
- Remove sort_diffs feature flag. !61440
- Reschedule DropInvalidVulnerabilities and track jobs. !61491
- Geo: Remove released feature flag `geo_package_file_verification`. !61568
- Remove update merge request related feature flags. !61569
- Fix inconsistent cancel merge train button label. !61597
- Updating button variant and adding tooltip for the SSH delete key button. !61626
- Add draft column to merge_requests table. !61681
- Lowers the z-indexing of the pipeline drawer. !61683
- Update temporary NuGet packages to have processing status. !61724
- Log additional package extraction errors. !61745
- Remove issuable destroy service related FFs. !61764
- Change wording for design management upload. !61782
## 13.11.4 (2021-05-14)
### Fixed (3 changes)

View File

@ -15,6 +15,7 @@ export default {
<template>
<issuable-time-tracker
:issuable-id="activeBoardItem.id.toString()"
:time-estimate="activeBoardItem.timeEstimate"
:time-spent="activeBoardItem.totalTimeSpent"
:human-time-estimate="activeBoardItem.humanTimeEstimate"

View File

@ -13,13 +13,17 @@ export default {
GlLoadingIcon,
GlTable,
},
inject: ['issuableId', 'issuableType'],
inject: ['issuableType'],
props: {
limitToHours: {
type: Boolean,
default: false,
required: false,
},
issuableId: {
type: String,
required: true,
},
},
data() {
return { report: [], isLoading: true };

View File

@ -13,6 +13,12 @@ export default {
components: {
IssuableTimeTracker,
},
props: {
issuableId: {
type: String,
required: true,
},
},
data() {
return {
mediator: new Mediator(),
@ -51,6 +57,7 @@ export default {
<template>
<div class="block">
<issuable-time-tracker
:issuable-id="issuableId"
:time-estimate="store.timeEstimate"
:time-spent="store.totalTimeSpent"
:human-time-estimate="store.humanTimeEstimate"

View File

@ -1,5 +1,6 @@
<script>
import { GlIcon, GlLink, GlModal, GlModalDirective } from '@gitlab/ui';
import { IssuableType } from '~/issue_show/constants';
import { s__, __ } from '~/locale';
import eventHub from '../../event_hub';
import TimeTrackingCollapsedState from './collapsed_state.vue';
@ -27,6 +28,7 @@ export default {
directives: {
GlModal: GlModalDirective,
},
inject: ['issuableType'],
props: {
timeEstimate: {
type: Number,
@ -51,6 +53,11 @@ export default {
default: false,
required: false,
},
issuableId: {
type: String,
required: false,
default: '',
},
/*
In issue list, "time-tracking-collapsed-state" is always rendered even if the sidebar isn't collapsed.
The actual hiding is controlled with css classes:
@ -94,6 +101,12 @@ export default {
showHelpState() {
return Boolean(this.showHelp);
},
isTimeReportSupported() {
return (
[IssuableType.Issue, IssuableType.MergeRequest].includes(this.issuableType) &&
this.issuableId
);
},
},
created() {
eventHub.$on('timeTracker:updateData', this.update);
@ -167,21 +180,23 @@ export default {
:time-estimate-human-readable="humanTimeEstimate"
:limit-to-hours="limitToHours"
/>
<gl-link
v-if="hasTimeSpent"
v-gl-modal="'time-tracking-report'"
data-testid="reportLink"
href="#"
class="btn-link"
>{{ __('Time tracking report') }}</gl-link
>
<gl-modal
modal-id="time-tracking-report"
:title="__('Time tracking report')"
:hide-footer="true"
>
<time-tracking-report :limit-to-hours="limitToHours" />
</gl-modal>
<template v-if="isTimeReportSupported">
<gl-link
v-if="hasTimeSpent"
v-gl-modal="'time-tracking-report'"
data-testid="reportLink"
href="#"
class="btn-link"
>{{ __('Time tracking report') }}</gl-link
>
<gl-modal
modal-id="time-tracking-report"
:title="__('Time tracking report')"
:hide-footer="true"
>
<time-tracking-report :limit-to-hours="limitToHours" :issuable-id="issuableId" />
</gl-modal>
</template>
<transition name="help-state-toggle">
<time-tracking-help-state v-if="showHelpState" />
</transition>

View File

@ -1,4 +1,5 @@
import Vue from 'vue';
import { IssuableType } from '~/issue_show/constants';
import { parseBoolean } from '~/lib/utils/common_utils';
import timeTracker from './components/time_tracking/time_tracker.vue';
@ -8,7 +9,14 @@ export default class SidebarMilestone {
if (!el) return;
const { timeEstimate, timeSpent, humanTimeEstimate, humanTimeSpent, limitToHours } = el.dataset;
const {
timeEstimate,
timeSpent,
humanTimeEstimate,
humanTimeSpent,
limitToHours,
id,
} = el.dataset;
// eslint-disable-next-line no-new
new Vue({
@ -16,6 +24,9 @@ export default class SidebarMilestone {
components: {
timeTracker,
},
provide: {
issuableType: IssuableType.Milestone,
},
render: (createElement) =>
createElement('timeTracker', {
props: {
@ -24,6 +35,7 @@ export default class SidebarMilestone {
humanTimeEstimate,
humanTimeSpent,
limitToHours: parseBoolean(limitToHours),
issuableId: id.toString(),
},
}),
});

View File

@ -383,8 +383,13 @@ function mountTimeTrackingComponent() {
new Vue({
el,
apolloProvider,
provide: { issuableId: id, issuableType },
render: (createElement) => createElement(SidebarTimeTracking, {}),
provide: { issuableType },
render: (createElement) =>
createElement(SidebarTimeTracking, {
props: {
issuableId: id.toString(),
},
}),
});
}

View File

@ -39,7 +39,7 @@
@import 'framework/selects';
@import 'framework/sidebar';
@import 'framework/contextual_sidebar_header';
@import 'framework/contextual_sidebar';
@import 'framework/contextual_sidebar_refactoring/contextual_sidebar';
@import 'framework/tables';
@import 'framework/notes';
@import 'framework/tabs';

View File

@ -0,0 +1,7 @@
body:not(.sidebar-refactoring) {
@import 'contextual_sidebar_base';
}
body.sidebar-refactoring {
@import 'contextual_sidebar_variant';
}

View File

@ -175,10 +175,6 @@
overflow: auto;
}
.with-performance-bar .nav-sidebar {
top: $header-height + $performance-bar-height;
}
.sidebar-sub-level-items {
display: none;
padding-bottom: 8px;

View File

@ -0,0 +1,383 @@
.page-with-contextual-sidebar {
transition: padding-left $sidebar-transition-duration;
@include media-breakpoint-up(md) {
padding-left: $contextual-sidebar-collapsed-width;
}
@include media-breakpoint-up(xl) {
padding-left: $contextual-sidebar-width;
}
.issues-bulk-update.right-sidebar.right-sidebar-expanded .issuable-sidebar-header {
padding: 10px 0 15px;
}
}
.page-with-icon-sidebar {
@include media-breakpoint-up(md) {
padding-left: $contextual-sidebar-collapsed-width;
}
}
.settings-avatar {
background-color: $white;
svg {
fill: $gl-text-color-secondary;
margin: auto;
}
}
@mixin collapse-contextual-sidebar-content {
@include context-header-collapsed;
.sidebar-top-level-items > li {
.sidebar-sub-level-items {
&:not(.flyout-list) {
display: none;
}
}
}
.nav-icon-container {
margin-right: 0;
}
.toggle-sidebar-button {
padding: 16px;
width: $contextual-sidebar-collapsed-width - 1px;
.collapse-text,
.icon-chevron-double-lg-left {
display: none;
}
.icon-chevron-double-lg-right {
display: block;
margin: 0;
}
}
}
.nav-sidebar {
transition: width $sidebar-transition-duration, left $sidebar-transition-duration;
position: fixed;
z-index: 600;
width: $contextual-sidebar-width;
top: $header-height;
bottom: 0;
left: 0;
background: linear-gradient($purple-200, $orange-200);
box-shadow: inset -1px 0 0 $border-color;
transform: translate3d(0, 0, 0);
&:not(.sidebar-collapsed-desktop) {
@media (min-width: map-get($grid-breakpoints, sm)) and (max-width: map-get($grid-breakpoints, sm)) {
box-shadow: inset -1px 0 0 $border-color, 2px 1px 3px $dropdown-shadow-color;
}
}
@mixin collapse-contextual-sidebar {
width: $contextual-sidebar-collapsed-width;
.nav-sidebar-inner-scroll {
overflow-x: hidden;
}
.badge.badge-pill:not(.fly-out-badge),
.nav-item-name {
@include gl-sr-only;
}
.sidebar-top-level-items > li > a {
min-height: 45px;
}
.fly-out-top-item {
display: block;
}
.avatar-container {
margin: 0 auto;
}
}
&.sidebar-collapsed-desktop {
@include collapse-contextual-sidebar;
}
&.sidebar-expanded-mobile {
left: 0;
}
a {
text-decoration: none;
}
ul {
padding-left: 0;
list-style: none;
}
li {
white-space: nowrap;
a {
transition: padding $sidebar-transition-duration;
display: flex;
align-items: center;
padding: 12px $gl-padding;
color: $gl-text-color-secondary;
}
.nav-item-name {
flex: 1;
}
&.active {
> a {
font-weight: $gl-font-weight-bold;
}
}
}
@include media-breakpoint-down(sm) {
left: (-$contextual-sidebar-width);
}
.nav-icon-container {
display: flex;
margin-right: 8px;
}
.fly-out-top-item {
display: none;
}
svg {
height: 16px;
width: 16px;
}
@media (min-width: map-get($grid-breakpoints, md)) and (max-width: map-get($grid-breakpoints, xl) - 1px) {
&:not(.sidebar-expanded-mobile) {
@include collapse-contextual-sidebar;
@include collapse-contextual-sidebar-content;
}
}
}
.nav-sidebar-inner-scroll {
height: 100%;
width: 100%;
overflow: auto;
}
.sidebar-sub-level-items {
display: none;
padding-bottom: 8px;
> li {
a {
padding: 8px 16px 8px 40px;
&:hover,
&:focus {
background: $link-active-background;
color: $gl-text-color;
}
}
&.active {
a {
&,
&:hover,
&:focus {
background: $link-active-background;
}
}
}
}
}
.sidebar-top-level-items {
margin-bottom: 60px;
> li {
> a {
@include media-breakpoint-up(sm) {
margin-right: 1px;
}
&:hover {
color: $gl-text-color;
}
}
&.is-showing-fly-out {
> a {
margin-right: 1px;
}
.sidebar-sub-level-items {
@include media-breakpoint-up(sm) {
position: fixed;
top: 0;
left: 0;
min-width: 150px;
margin-top: -1px;
padding: 4px 1px;
background-color: $white;
box-shadow: 2px 1px 3px $dropdown-shadow-color;
border: 1px solid $gray-darker;
border-left: 0;
border-radius: 0 3px 3px 0;
&::before {
content: '';
position: absolute;
top: -30px;
bottom: -30px;
left: -10px;
right: -30px;
z-index: -1;
}
&.is-above {
margin-top: 1px;
}
.divider {
height: 1px;
margin: 4px -1px;
padding: 0;
background-color: $dropdown-divider-bg;
}
> .active {
box-shadow: none;
> a {
background-color: transparent;
}
}
a {
padding: 8px 16px;
color: $gl-text-color;
&:hover,
&:focus {
background-color: $gray-darker;
}
}
}
}
}
.badge.badge-pill {
background-color: $inactive-badge-background;
color: $gl-text-color-secondary;
}
&.active {
background: $link-active-background;
> a {
margin-left: 4px;
// Subtract width of left border on active element
padding-left: $gl-padding-12;
}
.badge.badge-pill {
font-weight: $gl-font-weight-bold;
}
.sidebar-sub-level-items:not(.is-fly-out-only) {
display: block;
}
}
&.active > a:hover,
&.is-over > a {
background-color: $link-hover-background;
}
}
}
// Collapsed nav
.toggle-sidebar-button,
.close-nav-button {
@include side-panel-toggle;
}
.toggle-sidebar-button,
.close-nav-button {
position: fixed;
bottom: 0;
width: $contextual-sidebar-width - 1px;
border-top: 1px solid $border-color;
svg {
margin-right: 8px;
}
.icon-chevron-double-lg-right {
display: none;
}
}
.collapse-text {
white-space: nowrap;
overflow: hidden;
}
.sidebar-collapsed-desktop {
@include collapse-contextual-sidebar-content;
}
.fly-out-top-item {
> a {
display: flex;
}
.fly-out-badge {
margin-left: 8px;
}
}
.fly-out-top-item-name {
flex: 1;
}
// Mobile nav
.close-nav-button {
display: none;
}
@include media-breakpoint-down(sm) {
.close-nav-button {
display: flex;
}
.toggle-sidebar-button {
display: none;
}
.mobile-overlay {
display: none;
&.mobile-nav-open {
display: block;
position: fixed;
background-color: $black-transparent;
height: 100%;
width: 100%;
z-index: $zindex-dropdown-menu;
}
}
}

View File

@ -135,3 +135,7 @@
#modal-peek-pg-queries-content {
color: $black;
}
.with-performance-bar .nav-sidebar {
top: $header-height + $performance-bar-height !important;
}

View File

@ -12,7 +12,6 @@ module NavHelper
def page_with_sidebar_class
class_name = page_gutter_class
class_name << 'page-with-contextual-sidebar' if defined?(@left_sidebar) && @left_sidebar
class_name << 'sidebar-refactoring' if Feature.enabled?(:sidebar_refactor, current_user, default_enabled: :yaml)
class_name << 'page-with-icon-sidebar' if collapsed_sidebar? && @left_sidebar
class_name -= ['right-sidebar-expanded'] if defined?(@right_sidebar) && !@right_sidebar

View File

@ -3,6 +3,7 @@
class WebHook < ApplicationRecord
include Sortable
MAX_FAILURES = 100
FAILURE_THRESHOLD = 3 # three strikes
INITIAL_BACKOFF = 10.minutes
MAX_BACKOFF = 1.day
@ -75,6 +76,14 @@ class WebHook < ApplicationRecord
update!(recent_failures: 0, disabled_until: nil, backoff_count: 0)
end
def backoff!
update!(disabled_until: next_backoff.from_now, backoff_count: backoff_count.succ.clamp(0, MAX_FAILURES))
end
def failed!
update!(recent_failures: recent_failures + 1) if recent_failures < MAX_FAILURES
end
# Overridden in ProjectHook and GroupHook, other webhooks are not rate-limited.
def rate_limit
nil

View File

@ -0,0 +1,80 @@
# frozen_string_literal: true
module AuthorizedProjectUpdate
class ProjectRecalculateService
# Service for refreshing all the authorizations to a particular project.
include Gitlab::Utils::StrongMemoize
BATCH_SIZE = 1000
def initialize(project)
@project = project
end
def execute
refresh_authorizations if needs_refresh?
ServiceResponse.success
end
private
attr_reader :project
def needs_refresh?
user_ids_to_remove.any? ||
authorizations_to_create.any?
end
def current_authorizations
strong_memoize(:current_authorizations) do
project.project_authorizations
.pluck(:user_id, :access_level) # rubocop: disable CodeReuse/ActiveRecord
end
end
def fresh_authorizations
strong_memoize(:fresh_authorizations) do
result = []
Projects::Members::EffectiveAccessLevelFinder.new(project)
.execute
.each_batch(of: BATCH_SIZE, column: :user_id) do |member_batch|
result += member_batch.pluck(:user_id, 'MAX(access_level)') # rubocop: disable CodeReuse/ActiveRecord
end
result
end
end
def user_ids_to_remove
strong_memoize(:user_ids_to_remove) do
(current_authorizations - fresh_authorizations)
.map {|user_id, _| user_id }
end
end
def authorizations_to_create
strong_memoize(:authorizations_to_create) do
(fresh_authorizations - current_authorizations).map do |user_id, access_level|
{
user_id: user_id,
access_level: access_level,
project_id: project.id
}
end
end
end
def refresh_authorizations
ProjectAuthorization.transaction do
if user_ids_to_remove.any?
ProjectAuthorization.where(project_id: project.id, user_id: user_ids_to_remove) # rubocop: disable CodeReuse/ActiveRecord
.delete_all
end
if authorizations_to_create.any?
ProjectAuthorization.insert_all(authorizations_to_create)
end
end
end
end
end

View File

@ -13,9 +13,27 @@ module Projects
end
group_link.destroy.tap do |link|
link.group.refresh_members_authorized_projects
if Feature.enabled?(:use_specialized_worker_for_project_auth_recalculation)
refresh_project_authorizations_asynchronously(link.project)
# Until we compare the inconsistency rates of the new specialized worker and
# the old approach, we still run AuthorizedProjectsWorker
# but with some delay and lower urgency as a safety net.
link.group.refresh_members_authorized_projects(
blocking: false,
priority: UserProjectAccessChangedService::LOW_PRIORITY
)
else
link.group.refresh_members_authorized_projects
end
end
end
private
def refresh_project_authorizations_asynchronously(project)
AuthorizedProjectUpdate::ProjectRecalculateWorker.perform_async(project.id)
end
end
end
end

View File

@ -27,7 +27,6 @@ class WebHookService
REQUEST_BODY_SIZE_LIMIT = 25.megabytes
GITLAB_EVENT_HEADER = 'X-Gitlab-Event'
MAX_FAILURES = 100
attr_accessor :hook, :data, :hook_name, :request_options
@ -144,10 +143,9 @@ class WebHookService
if response.success? || response.redirection?
hook.enable!
elsif response.internal_server_error?
next_backoff = hook.next_backoff
hook.update!(disabled_until: next_backoff.from_now, backoff_count: hook.backoff_count + 1)
hook.backoff!
else
hook.update!(recent_failures: hook.recent_failures + 1) if hook.recent_failures < MAX_FAILURES
hook.failed!
end
end

View File

@ -2,4 +2,5 @@
%style
= Rails.application.assets_manifest.find_sources("themes/#{user_application_theme_css_filename}.css").first.to_s.html_safe if user_application_theme_css_filename
= Rails.application.assets_manifest.find_sources("startup/startup-#{startup_filename}.css").first.to_s.html_safe
- if sidebar_refactor_disabled?
= Rails.application.assets_manifest.find_sources("startup/startup-#{startup_filename}.css").first.to_s.html_safe

View File

@ -1,10 +1,12 @@
- page_classes = page_class << @html_class
- page_classes = page_classes.flatten.compact
- body_classes = [user_application_theme, user_tab_width, @body_class, client_class_list]
- body_classes << 'sidebar-refactoring' if sidebar_refactor_enabled?
!!! 5
%html{ lang: I18n.locale, class: page_classes }
= render "layouts/head"
%body{ class: "#{user_application_theme} #{user_tab_width} #{@body_class} #{client_class_list}", data: body_data }
%body{ class: body_classes, data: body_data }
= render "layouts/init_auto_complete" if @gfm_form
= render "layouts/init_client_detection_flags"
= render 'peek/bar'

View File

@ -4,4 +4,5 @@
":human-time-estimate" => "issue.humanTimeEstimate",
":human-time-spent" => "issue.humanTimeSpent",
":limit-to-hours" => "timeTrackingLimitToHours",
":issuable-id" => "issue.id",
"root-path" => "#{root_url}" }

View File

@ -98,6 +98,7 @@
time_spent: @milestone.total_time_spent,
human_time_estimate: @milestone.human_total_time_estimate,
human_time_spent: @milestone.human_total_time_spent,
id: @milestone.id,
limit_to_hours: Gitlab::CurrentSettings.time_tracking_limit_to_hours.to_s } }
= render_if_exists 'shared/milestones/weight', milestone: milestone

View File

@ -39,6 +39,15 @@
:weight: 1
:idempotent: true
:tags: []
- :name: authorized_projects:authorized_project_update_project_recalculate
:worker_name: AuthorizedProjectUpdate::ProjectRecalculateWorker
:feature_category: :authentication_and_authorization
:has_external_dependencies:
:urgency: :high
:resource_boundary: :unknown
:weight: 1
:idempotent: true
:tags: []
- :name: auto_devops:auto_devops_disable
:worker_name: AutoDevops::DisableWorker
:feature_category: :auto_devops

View File

@ -0,0 +1,30 @@
# frozen_string_literal: true
module AuthorizedProjectUpdate
class ProjectRecalculateWorker
include ApplicationWorker
include Gitlab::ExclusiveLeaseHelpers
feature_category :authentication_and_authorization
urgency :high
queue_namespace :authorized_projects
deduplicate :until_executing, including_scheduled: true
idempotent!
def perform(project_id)
project = Project.find_by_id(project_id)
return unless project
in_lock(lock_key(project), ttl: 10.seconds) do
AuthorizedProjectUpdate::ProjectRecalculateService.new(project).execute
end
end
private
def lock_key(project)
"#{self.class.name.underscore}/#{project.root_namespace.id}"
end
end
end

View File

@ -1,282 +0,0 @@
#!/usr/bin/env ruby
#
# Generate a changelog entry file in the correct location.
#
# Automatically stages the file and amends the previous commit if the `--amend`
# argument is used.
require 'optparse'
require 'yaml'
INVALID_TYPE = -1
module ChangelogHelpers
Abort = Class.new(StandardError)
Done = Class.new(StandardError)
MAX_FILENAME_LENGTH = 99 # GNU tar has a 99 character limit
def capture_stdout(cmd)
output = IO.popen(cmd, &:read)
fail_with "command failed: #{cmd.join(' ')}" unless $?.success?
output
end
def fail_with(message)
raise Abort, "\e[31merror\e[0m #{message}"
end
end
class ChangelogOptionParser
extend ChangelogHelpers
Options = Struct.new(
:amend,
:author,
:dry_run,
:force,
:merge_request,
:title,
:type,
:ee
)
Type = Struct.new(:name, :description)
TYPES = [
Type.new('added', 'New feature'),
Type.new('fixed', 'Bug fix'),
Type.new('changed', 'Feature change'),
Type.new('deprecated', 'New deprecation'),
Type.new('removed', 'Feature removal'),
Type.new('security', 'Security fix'),
Type.new('performance', 'Performance improvement'),
Type.new('other', 'Other')
].freeze
TYPES_OFFSET = 1
class << self
def parse(argv)
options = Options.new
parser = OptionParser.new do |opts|
opts.banner = "Usage: #{__FILE__} [options] [title]\n\n"
# Note: We do not provide a shorthand for this in order to match the `git
# commit` interface
opts.on('--amend', 'Amend the previous commit') do |value|
options.amend = value
end
opts.on('-f', '--force', 'Overwrite an existing entry') do |value|
options.force = value
end
opts.on('-m', '--merge-request [integer]', Integer, 'Merge request ID') do |value|
options.merge_request = value
end
opts.on('-n', '--dry-run', "Don't actually write anything, just print") do |value|
options.dry_run = value
end
opts.on('-u', '--git-username', 'Use Git user.name configuration as the author') do |value|
options.author = git_user_name if value
end
opts.on('-t', '--type [string]', String, "The category of the change, valid options are: #{TYPES.map(&:name).join(', ')}") do |value|
options.type = parse_type(value)
end
opts.on('-e', '--ee', 'Generate a changelog entry for GitLab EE') do |value|
options.ee = value
end
opts.on('-h', '--help', 'Print help message') do
$stdout.puts opts
raise Done.new
end
end
parser.parse!(argv)
# Title is everything that remains, but let's clean it up a bit
options.title = argv.join(' ').strip.squeeze(' ').tr("\r\n", '')
options
end
def read_type
read_type_message
type = TYPES[$stdin.getc.to_i - TYPES_OFFSET]
assert_valid_type!(type)
type.name
end
private
def parse_type(name)
type_found = TYPES.find do |type|
type.name == name
end
type_found ? type_found.name : INVALID_TYPE
end
def read_type_message
$stdout.puts "\n>> Please specify the index for the category of your change:"
TYPES.each_with_index do |type, index|
$stdout.puts "#{index + TYPES_OFFSET}. #{type.description}"
end
$stdout.print "\n?> "
end
def assert_valid_type!(type)
unless type
raise Abort, "Invalid category index, please select an index between 1 and #{TYPES.length}"
end
end
def git_user_name
capture_stdout(%w[git config user.name]).strip
end
end
end
class ChangelogEntry
include ChangelogHelpers
attr_reader :options
def initialize(options)
@options = options
end
def execute
assert_feature_branch!
assert_title! unless editor
assert_new_file!
# Read type from $stdin unless is already set
options.type ||= ChangelogOptionParser.read_type
assert_valid_type!
$stdout.puts "\e[32mcreate\e[0m #{file_path}"
$stdout.puts contents
unless options.dry_run
write
amend_commit if options.amend
end
if editor
system("#{editor} '#{file_path}'")
end
end
private
def contents
yaml_content = YAML.dump(
'title' => title,
'merge_request' => options.merge_request,
'author' => options.author,
'type' => options.type
)
remove_trailing_whitespace(yaml_content)
end
def write
File.write(file_path, contents)
end
def editor
ENV['EDITOR']
end
def amend_commit
fail_with "git add failed" unless system(*%W[git add #{file_path}])
Kernel.exec(*%w[git commit --amend])
end
def assert_feature_branch!
return unless branch_name == 'master'
fail_with "Create a branch first!"
end
def assert_new_file!
return unless File.exist?(file_path)
return if options.force
fail_with "#{file_path} already exists! Use `--force` to overwrite."
end
def assert_title!
return if options.title.length > 0 || options.amend
fail_with "Provide a title for the changelog entry or use `--amend`" \
" to use the title from the previous commit."
end
def assert_valid_type!
return unless options.type && options.type == INVALID_TYPE
fail_with 'Invalid category given!'
end
def title
if options.title.empty?
last_commit_subject
else
options.title
end
end
def last_commit_subject
capture_stdout(%w[git log --format=%s -1]).strip
end
def file_path
base_path = File.join(
unreleased_path,
branch_name.gsub(/[^\w-]/, '-'))
# Add padding for .yml extension
base_path[0..MAX_FILENAME_LENGTH - 5] + '.yml'
end
def unreleased_path
path = File.join('changelogs', 'unreleased')
path = File.join('ee', path) if ee?
path
end
def ee?
options.ee
end
def branch_name
@branch_name ||= capture_stdout(%w[git symbolic-ref --short HEAD]).strip
end
def remove_trailing_whitespace(yaml_content)
yaml_content.gsub(/ +$/, '')
end
end
if $0 == __FILE__
begin
options = ChangelogOptionParser.parse(ARGV)
ChangelogEntry.new(options).execute
rescue ChangelogHelpers::Abort => ex
$stderr.puts ex.message
exit 1
rescue ChangelogHelpers::Done
exit
end
end
# vim: ft=ruby

View File

@ -1,6 +0,0 @@
---
title: Reschedule background migration to copy projects.container_registry_enabled
to project_features.container_registry_access_level
merge_request: 59513
author:
type: fixed

View File

@ -1,5 +0,0 @@
---
title: Optimize AvailableLabelsService for multiple labels search
merge_request: 59032
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Fix repeating SQL queries when changing labels for a resource.
merge_request: 60718
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Preserve user changes in the wiki editor if multiple people edit the page
merge_request: 61120
author:
type: fixed

View File

@ -1,5 +0,0 @@
---
title: Validate foreign key on GroupHooks
merge_request: 60527
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Remove update merge request related feature flags
merge_request: 61569
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Resolve admin_group_member group policy n+1
merge_request: 58948
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Fix N+1 queries in namespace#any_project_has_container_registry_tags?
merge_request: 59916
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Reduce number of SQL queries when creating SystemNotes
merge_request: 59102
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Optimize CI Settings page to reduce N+1 queries
merge_request: 59625
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Improve memory consumption of issuable APIs
merge_request: 61561
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Improve performance of project issues API
merge_request: 60981
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Remove subscribed field from todos, related issues, and epic issues API
merge_request: 60981
author:
type: fixed

View File

@ -1,5 +0,0 @@
---
title: Automate deactivation of dormant users for self-managed instances
merge_request: 57778
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Delete feature flag for usage_data_a_compliance_audit_events_api
merge_request: 52947
author:
type: removed

View File

@ -1,5 +0,0 @@
---
title: Fast destroy job artifacts when destroying a pipeline
merge_request: 60391
author:
type: fixed

View File

@ -1,5 +0,0 @@
---
title: Add ability to swap revisions when comparing
merge_request: 60491
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Fix N+1 for commits with pipelines
merge_request: 59234
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Redirect to activity page when accepting invitation
merge_request: 56695
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Change conan token expiration from 1 hour to 24 hours
merge_request: 60763
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Add link to documentation in empty pipeline test reports
merge_request: 59812
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Return an HTML response for a request with the Accept */* header
merge_request: 56288
author:
type: fixed

View File

@ -1,5 +0,0 @@
---
title: Add VulnerabiltyFindingEvidenceRequest model
merge_request: 59539
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Add VulnerabiltyFindingEvidenceResponse model
merge_request: 59563
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Remove search_track_unique_users feature flag
merge_request: 60706
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Expose job and project queued duration in all APIs
merge_request: 59901
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Use correct scope when authorizing with Jira GitHub DVCS connector
merge_request: 61496
author:
type: fixed

View File

@ -1,5 +0,0 @@
---
title: Remove feature flags from known events
merge_request: 60053
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Add status_changed_at to deployments webhooks
merge_request: 60518
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Make new project ui the only option
merge_request: 59452
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Add body to finding evidence requests
merge_request: 61408
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Add body to finding evidence responses
merge_request: 61631
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Add external status check responses
merge_request: 61135
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Add indexes for cleanup policies on container_repositories and container_expiration_policies
merge_request: 58123
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Allow issue type change for incidents
merge_request: 61363
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Fix N+1 problem in CustomEmojiFilter
merge_request: 60910
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Optimize merge request permission check for references
merge_request: 61591
author:
type: performance

View File

@ -1,5 +0,0 @@
---
title: Migrate DevOps Score empty state to Vue
merge_request: 60715
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Redesign the DevOps Score report
merge_request: 59856
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Add isuable time tracking report
merge_request: 60161
author: Lee Tickett @leetickett
type: added

View File

@ -1,5 +0,0 @@
---
title: Add asset links to release keyword
merge_request: 60896
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Updating button variant and adding tooltip for the SSH delete key button.
merge_request: 61626
author:
type: other

View File

@ -1,6 +0,0 @@
---
title: Decrease space between invite and import members buttons to align with Pajamas
spacing
merge_request: 61396
author:
type: other

View File

@ -1,6 +0,0 @@
---
title: Update button variants and alignment to align with the Pajamas Design System
and modify the avatar layout to have better flow.
merge_request: 61504
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Update edit file buttons and spacing
merge_request: 60318
author:
type: changed

View File

@ -1,6 +0,0 @@
---
title: Update button styles, spacing, variants and responsive behavior for the Tags
page.
merge_request: 61413
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Show total group counts in admin users table
merge_request: 60998
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Enforce .git suffix when importing git repo
merge_request: 61115
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Delete HipChat service database records
merge_request: 59769
author:
type: removed

View File

@ -1,5 +0,0 @@
---
title: Change wording for design management upload
merge_request: 61782
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Align help icon for code quality merge request widget
merge_request: 60330
author:
type: fixed

View File

@ -1,5 +0,0 @@
---
title: Fix inconsistent cancel merge train button label
merge_request: 61597
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Add sorting for group and project packages type
merge_request: 58657
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: 'Package: group and project graphql types - add search'
merge_request: 61001
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Add missing status type and enum to package graphql type
merge_request: 61002
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Add nuget metadata type to Package GraphQl type
merge_request: 61695
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Add Maven to Package Graphql types
merge_request: 60808
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Add DS_EXCLUDED_ANALYZERS var to Dependency Scanning template
merge_request: 61529
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Add shared_visible_only option to project's groups API
merge_request: 61118
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Remove visualization feature flag in pipeline editor
merge_request: 60273
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Update admin users to use GitLab UI table by default
merge_request: 54085
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Add "active" filter to deploy tokens API
merge_request: 59582
author: Devin Christensen
type: added

View File

@ -1,5 +0,0 @@
---
title: Update appearance of "Enable shared runners for this project" toggle in Project > Settings > CI/CD
merge_request: 61043
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Remove not_issuable_queries feature flag
merge_request: 60321
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Track usage of the resolve conflict UI
merge_request: 61654
author:
type: other

View File

@ -1,5 +0,0 @@
---
title: Add setting to allow or disallow duplicates for generic packages
merge_request: 60664
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Store slice multiplier and max slices running for reindex in DB
merge_request: 60861
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Add support for retries to Advanced Search reindexing
merge_request: 55681
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Remove pages_update_legacy_storage feature flag
merge_request: 60005
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Add pipeline editor drawer for introduction to CI
merge_request: 61620
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: Add snoplow tracking to Releases API
merge_request: 58221
author:
type: added

View File

@ -1,5 +0,0 @@
---
title: 'Container Registry Details: split details from tags call'
merge_request: 59969
author:
type: changed

View File

@ -1,5 +0,0 @@
---
title: Remove Alerts service metric
merge_request: 60149
author:
type: removed

Some files were not shown because too many files have changed in this diff Show More