Add application setting for What's new [RUN ALL RSPEC] [RUN AS-IF-FOSS]
What does this MR do?
There's the What's new
feature:
With each monthly release, GitLab includes some of the highlights in the
What's new
feature. To access it, select the?
icon and selectWhat's new
from the menu.
Regarding the What's new
feature, two wishes were expressed in issues:
- #325151 (closed): It should be possible to disable this feature.
- #322862 (closed): Only new features for the current tier should be displayed. New features of higher tiers should be hidden.
So this MR implements a new application setting (Admin Area > Settings > Preferences > What's new
) to choose between three variants:
- Enabled: all tiers (default)
- Enabled: current tier only
- Disabled
Resolves #325151 (closed) #322862 (closed)
Screenshots
Admin Area > Settings > Preferences > What's new
What's new drawer
Enabled: all tiers | Enabled: current tier only | Disabled | |
---|---|---|---|
Menu | ![]() |
![]() |
![]() |
Drawer (current tier: Free) | new features for non-free tiers also shown:![]() |
new features for non-free tiers hidden:![]() |
no access |
/cc @bufferoverflow
Database Review
DB Migration: Output
rails db:migrate VERSION=20210407111027 RAILS_ENV=development
== 20210407111027 AddWhatsNewApplicationSetting: migrating ====================
-- add_column(:application_settings, :whats_new_variant, :integer, {:limit=>2, :default=>0})
-> 0.0120s
== 20210407111027 AddWhatsNewApplicationSetting: migrated (0.0122s) ===========
DB Rollback: Output
rails db:rollback STEP=1 RAILS_ENV=development
== 20210407111027 AddWhatsNewApplicationSetting: reverting ====================
-- remove_column(:application_settings, :whats_new_variant, :integer, {:limit=>2, :default=>0})
-> 0.0087s
== 20210407111027 AddWhatsNewApplicationSetting: reverted (0.0118s) ===========
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry.
-
-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers - [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Jonas Wälter