From 8b65db56a458723fcfddd68bc4bd863017d989c0 Mon Sep 17 00:00:00 2001 From: Evan Hahn Date: Thu, 29 Jan 2026 16:29:35 -0600 Subject: [PATCH] Removed `announcementBar` feature flag ref f9f5f72752722ae835efbe871e1c9c7a4359a827 *This change should have no user impact.* The `announcementBar` feature flag has been enabled since 2023. We can remove the flag and assume it's always on. --- apps/admin-x-framework/src/test/acceptance.ts | 1 - ghost/admin/app/services/feature.js | 1 - ghost/core/core/server/web/members/app.js | 2 -- ghost/core/core/shared/labs.js | 1 - ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap | 1 - .../core/test/e2e-api/admin/__snapshots__/settings.test.js.snap | 2 +- 6 files changed, 1 insertion(+), 7 deletions(-) diff --git a/apps/admin-x-framework/src/test/acceptance.ts b/apps/admin-x-framework/src/test/acceptance.ts index 5fbbc4f8807..7bc2e081af1 100644 --- a/apps/admin-x-framework/src/test/acceptance.ts +++ b/apps/admin-x-framework/src/test/acceptance.ts @@ -83,7 +83,6 @@ export const responseFixtures = { const defaultLabFlags = { collections: false, outboundLinkTagging: false, - announcementBar: false, members: false }; diff --git a/ghost/admin/app/services/feature.js b/ghost/admin/app/services/feature.js index ae92c46b84d..739d569d495 100644 --- a/ghost/admin/app/services/feature.js +++ b/ghost/admin/app/services/feature.js @@ -62,7 +62,6 @@ export default class FeatureService extends Service { // labs flags @feature('stripeAutomaticTax') stripeAutomaticTax; @feature('emailCustomization') emailCustomization; - @feature('announcementBar') announcementBar; @feature('importMemberTier') importMemberTier; @feature('lexicalIndicators') lexicalIndicators; @feature('editorExcerpt') editorExcerpt; diff --git a/ghost/core/core/server/web/members/app.js b/ghost/core/core/server/web/members/app.js index ba4d3b8499c..ceea6729955 100644 --- a/ghost/core/core/server/web/members/app.js +++ b/ghost/core/core/server/web/members/app.js @@ -6,7 +6,6 @@ const membersService = require('../../services/members'); const stripeService = require('../../services/stripe'); const middleware = membersService.middleware; const shared = require('../shared'); -const labs = require('../../../shared/labs'); const errorHandler = require('@tryghost/mw-error-handler'); const config = require('../../../shared/config'); const {http} = require('@tryghost/api-framework'); @@ -132,7 +131,6 @@ module.exports = function setupMembersApp() { // Announcement membersApp.use( '/api/announcement', - labs.enabledMiddleware('announcementBar'), middleware.loadMemberSession, announcementRouter() ); diff --git a/ghost/core/core/shared/labs.js b/ghost/core/core/shared/labs.js index 003722278c3..ae64110a9bb 100644 --- a/ghost/core/core/shared/labs.js +++ b/ghost/core/core/shared/labs.js @@ -21,7 +21,6 @@ const messages = { // flags in this list always return `true`, allows quick global enable prior to full flag removal const GA_FEATURES = [ - 'announcementBar', 'customFonts', 'explore', 'commentModeration', diff --git a/ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap b/ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap index 5baac4be94d..950b5a57e14 100644 --- a/ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap +++ b/ghost/core/test/e2e-api/admin/__snapshots__/config.test.js.snap @@ -10,7 +10,6 @@ Object { "environment": StringMatching /\\^testing/, "labs": Object { "additionalPaymentMethods": true, - "announcementBar": true, "commentModeration": true, "customFonts": true, "editorExcerpt": true, diff --git a/ghost/core/test/e2e-api/admin/__snapshots__/settings.test.js.snap b/ghost/core/test/e2e-api/admin/__snapshots__/settings.test.js.snap index 0a1e292a148..62927bea122 100644 --- a/ghost/core/test/e2e-api/admin/__snapshots__/settings.test.js.snap +++ b/ghost/core/test/e2e-api/admin/__snapshots__/settings.test.js.snap @@ -1675,7 +1675,7 @@ exports[`Settings API Edit can edit Stripe settings when Stripe Connect limit is Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", - "content-length": "5148", + "content-length": "5123", "content-type": "application/json; charset=utf-8", "content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/, "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,