Skip to content

[pull] main from TryGhost:main#1199

Merged
pull[bot] merged 7 commits into
code:mainfrom
TryGhost:main
Jun 1, 2026
Merged

[pull] main from TryGhost:main#1199
pull[bot] merged 7 commits into
code:mainfrom
TryGhost:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Jun 1, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

kevinansfield and others added 7 commits June 1, 2026 12:38
no issue

- removed the GA comment moderation labs flag from labs output
- made comment moderation UI and email paths unconditional
- updated tests and config snapshot to stop setting or expecting the flag
closes https://linear.app/ghost/issue/FEA-630

- Gift subscription Stripe Checkout sessions did not automatically
generate Stripe invoices, they now do.
- This change matches **Tips & Donations** behaviour: we generate
invoices for tips/donations' one-time payments
- Paid subscriptions are unaffected: Stripe auto-generates invoices for
those as part of subscription billing
closes https://linear.app/tryghost/issue/BER-3646/

- removed the `giftSubscriptions` labs flag and all backend / frontend
code guards
- dropped the now-redundant `hasGiftSubscriptions` Portal helper and
simplified `canPurchaseGift` to a Stripe check
- removed the corresponding disabled-branch unit/integration/e2e tests
and updated the admin config snapshot

---------

Co-authored-by: Sag <[email protected]>
ref https://linear.app/ghost/issue/BER-3690

- got.extend in request-external.js had no agent configured, so every
oEmbed / webmention / recommendation / image probe opened a fresh socket
- on a NAT-gatewayed VPC this holds the gateway at its connection-rate
ceiling and causes port-collision drops that gateway sizing won't fix
- adds a shared http/https Agent (keepAlive: true, keepAliveMsecs: 60s,
maxSockets: 256) wired into the central got instance
- routes probe-image-size through externalRequest.stream so the parallel
cover/author/og/twitter/logo fetches from meta/image-dimensions.js reuse
the same pool (and pick up the existing SSRF protections)
…28299)

no issue

This change should not affect behaviour.

- the field `site.is_stripe_configured` was a client-side alias for
  `site.paid_members_enabled` (a calculated setting backed by
  `SettingsHelpers.arePaidMembersEnabled()` server-side, which means
  members enabled AND Stripe connected), so the old name was misleading
- removed the alias creation in `transformApiSiteData` and updated every
caller to read `paid_members_enabled` / `arePaidMembersEnabled` directly
  account-welcome, getAvailablePrices) keeps the same behavior
closes https://linear.app/ghost/issue/BER-3693

- Gift subscriptions were available if Stripe is connected
- With this change, we also check whether memberships are enabled.
Gating for gift subscriptions is now: Stripe connected + members enabled
(signup access is not set to none)
ref #25773

IndexNow (behind the `indexnow` labs flag) pings api.indexnow.org when posts are published or edited. This adds structured logging so the logs are easier to read and it's clearer how IndexNow is doing: whether pings are landing, and how often it sees rate limits (429) or key rejections (422). 

Each outcome now logs a `system.event` (indexnow.pinged, api_key_missing, rate_limited, key_validation_failed, ping_failed) plus post_id, post_slug, url, and status_code, matching the shape used by llms/handler.js and upload-size-limit-reporter.js. It's purely additive: error types, catch-and-swallow, and log levels stay the same. The status_code is now reported on every event, including the unexpected-status path where it previously defaulted to 500.
@pull pull Bot locked and limited conversation to collaborators Jun 1, 2026
@pull pull Bot added the ⤵️ pull label Jun 1, 2026
@pull pull Bot merged commit 6b8a264 into code:main Jun 1, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants